The little book about OS development
littleosbook.github.io
The little book about OS development
1–10 of 46 posts
Re: The little book about OS development
#2HTML 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
#3Re: The little book about OS development
#4Two 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
#5Re: The little book about OS development
#6If 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
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
#7If 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
#8Re: The little book about OS development
#9Other 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?
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
#10This 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?
https://github.com/beevik/MonkOS
In particular, the bootloader:
https://github.com/beevik/MonkOS/blob/master/boot/loader.asm