Live data from Hacker News

The little book about OS development

littleosbook.github.io

1–10 of 46 posts

Re: The little book about OS development

#2
Original link [pdf]: http://littleosbook.github.io/book.pdf

HTML version: http://littleosbook.github.io/

Source: https://github.com/littleosbook/littleosbook

2015 Discussion: https://news.ycombinator.com/item?id=8866912

reddit: https://www.reddit.com/r/programming/duplicates/2rx3wq/the_l...

Re: The little book about OS development

#4
If you want a real bang up tutorial that covers absolutely everything theory and implementation check out Broken Thorns. You'll need to Google for it because I'm on my phone.

Two small notes: the website is down (it's quite old and I'd be sad if the owner has a bit of bus-syndrome), you can find it on the waybackmachine

It's the best tutorial out there for an x86 based OS

Re: The little book about OS development

#5
Other than the educational value of doing so, what would be a reason to write a brand new operating system? Obviously there is a lot to learn about existing operating systems by coding you own, much in the way that writing a new languages teaches you about existing languages, but what are some creative applications of a hand made operating system?

Re: The little book about OS development

#6
post #4

If you want a real bang up tutorial that covers absolutely everything theory and implementation check out Broken Thorns. You'll need to Google for it because I'm on my phone. Two small notes: the website is down (it's quite old and I'd be sad if the owner has a bit of bus-syndrome), you can find it on the waybackmachine It's the best tutorial out there for an x86 based OS

Here it is: http://www.brokenthorn.com/Resources/OSDevIndex.html

The website's working just fine for me, but in case it doesn't work for someone else or if it goes down again: https://web.archive.org/web/20161223021815/http://www.broken...

Re: The little book about OS development

#7
post #6
post #4

If you want a real bang up tutorial that covers absolutely everything theory and implementation check out Broken Thorns. You'll need to Google for it because I'm on my phone. Two small notes: the website is down (it's quite old and I'd be sad if the owner has a bit of bus-syndrome), you can find it on the waybackmachine It's the best tutorial out there for an x86 based OS

Here it is: http://www.brokenthorn.com/Resources/OSDevIndex.html The website's working just fine for me, but in case it doesn't work for someone else or if it goes down again: https://web.archive.org/web/20161223021815/http://www.broken...

I feared the worst! I'll scrape the entire page and keep a local backup. It went down for some time.

Re: The little book about OS development

#8
This is probably a good thread to ask: one of my hobby projects is writing an OS, but for x86-64. My next task is user mode, and while I feel pretty solid conceptually, the details around the TSS and such I'm much shakier on. Does anyone have a good, detailed, with-code resource on such things?

Re: The little book about OS development

#9
post #5

Other than the educational value of doing so, what would be a reason to write a brand new operating system? Obviously there is a lot to learn about existing operating systems by coding you own, much in the way that writing a new languages teaches you about existing languages, but what are some creative applications of a hand made operating system?

I know Ive wanted to make changes to my own for a while. At very least default ui, menus and shortcuts after installation. These are modtly ux changes though

Additionally theres a few features I would prefer from a security user experience standpoint

- symlinks are indexed anD the move or deletion of the target would trigger a "would you like to change/delete the symlink as well?"

- all applications run in a container

- the application can never touch os filesystem or know about other apps but themself and what the user allows

- requests for hardware trigger permission dialog

- requests for files are handled outside the container

- shared folders are mounted to the container that the user knows are vulnerable

- some folders are an aggregate of the applications folders but the application only views its own

- deletion of an applications folder will permanently delete all if its data. No messy installations or artifacts

- system monitor shows cpu, memory and network usage per application

- applications require permission to use network and outward calls can be captured before being made

Additionally there are features from a dev standpoint

- there is a discoverability system for modified and alternative applications

- there is a focus on ensuring all parts of the os are easily found and modified

- changes to the os filesystem creates forces the user to create a virtual machine, make changes to that then "commit" those changes in bulk

- the user can make these patches available online along with keywords, problem and a tutorial inorder to recreate for discoverability

- heavy focus on user interfaces that can be reused in terminal and gui. Applications that only are available in one or have different experiences will be flagged as such.

But I canonly make this if I know how

Re: The little book about OS development

#10

This is probably a good thread to ask: one of my hobby projects is writing an OS, but for x86-64. My next task is user mode, and while I feel pretty solid conceptually, the details around the TSS and such I'm much shakier on. Does anyone have a good, detailed, with-code resource on such things?

I'm part-way through my implementation of an x86_64 experimental OS and had to address all the issues you're facing right now. I didn't really document my process, but the code to get everything booted into x64 mode is there, including setting up the TSS.

https://github.com/beevik/MonkOS

In particular, the bootloader:

https://github.com/beevik/MonkOS/blob/master/boot/loader.asm

Post reply on HN