4 ms·
Roll your own Unix
- stephen_g 15y agoI'm not sure if he updated it on the site linked above (it's not loading for me), but as I remember James was working on a better code base for his tutorials. The theory on this website was good but the code had problems. The updated code was hosted at Google code - http://code.google.com/p/jamesm-tutorials/source/browse/ http://code.google.com/p/jamesm-tutorials/source/browse/
- loeg 15y agoServer seems severely overloaded -- here's the latest archive.org mirror: http://web.archive.org/web/20101017092822/http://www.jamesmolloy.co.uk/tutorial_html/ http://web.archive.org/web/20101017092822/http://www.jamesmo...
- chjj 15y agoThe only working mirror I could find: http://web.archive.org/web/20101019051118/http://www.jamesmolloy.co.uk/tutorial_html/index.html http://web.archive.org/web/20101019051118/http://www.jamesmo...
- ams6110 15y agoAndrew Tanenbaum's Operating Systems Design and Implementation, in which he uses MINIX as the teaching OS, is also good.
- buster 15y agoWow.. that brings back memories of old days, text mode, directly writing into the graphic cards memory... :)
- enneff 15y agoAlso see xv6, "a simple Unix-like teaching operating system": http://pdos.csail.mit.edu/6.828/2011/xv6.html http://pdos.csail.mit.edu/6.828/2011/xv6.html and its textbook: http://pdos.csail.mit.edu/6.828/2011/xv6/book-rev6.pdf http://pdos.csail.mit.edu/6.828/2011/xv6/book-rev6.pdf
- 4ad 15y agoYep, great successor to Lions' Commentary on UNIX 6th Edition. Another great book in the same style is Notes on the Plan 9 3rd edition Kernel Source, also free: http://lsub.org/who/nemo/9.pdf http://lsub.org/who/nemo/9.pdf Plan 9 might be obscure to most HN readers, but fundamentally these books teach concepts, and the code base is much more clear and understandable than mainstream kernels.
- muyuu 15y agoLooks really well written... man I have too much stuff stacked up in my to-read list.
- Sodel 15y agoHoly crackers, that document is one of the most exciting things I've encountered in a long time. I had no idea it existed! I wish it was featured more prominently in the Plan 9 community. The Plan 9 source is really a work of art. I cannot wait to sink my teeth into this commentary. Thank you so much for sharing!
- draven 15y agoWow! I'm currently playing with some plan9front VMs (the plan9 fork from the cat-v.org people) and his intro to plan9 looks fantastic: http://lsub.org/who/nemo/9.intro.pdf http://lsub.org/who/nemo/9.intro.pdf I had trouble finding information on Plan9, thank you so much for this link!
- xd 15y agoIf you go down this path, and I highly recommend every coder gives writing their own OS a go, be sure to bookmark: http://nondot.org/sabre/os/articles http://nondot.org/sabre/os/articles
- exDM69 15y agoThis is a quite nice tutorial. There's a quite bit of half-chewed reference material in the osdev wiki. It's quite x86 centric, but that's what makes it especially valuable to me. I already have OS books that I read in Uni courses: http://wiki.osdev.org/ http://wiki.osdev.org/ Writing your own hobby operating system is a very nice project to learn about your computer's internals and hone your low level programming skills. Here's the start of my hobby OS: https://github.com/rikusalminen/danjeros https://github.com/rikusalminen/danjeros Also, don't be fooled to thinking that you won't need the skills professionally, because Linux/Windows/*BSD already exists. In fact, at work we have an original in-house small "toy" operating system, but it's not a toy. It's actually used for testing new system on chips when they roll out the factory as well as doing some special purpose tasks on actual devices that are shipped to millions of customers. It's only a few thousand lines of code and looks a lot like one of these schoolbook/hobby operating systems. Unfortunately, I cannot tell you anything more about it.
- dhoe 15y agoIs anybody aware of similar projects that target databases instead of operating systems?
- nodemaker 15y agoThe book "Database Systems Implementation" by Hector Garcia Molina is a good start.Building a database system from scratch has one of the most rewarding exercises. Also check out this stanford course http://infolab.stanford.edu/~widom/cs346/ http://infolab.stanford.edu/~widom/cs346/
- wtracy 15y agoI'm aware that ARM is not a single, monolithic target like x86. That said, are there any articles that discuss ARM targeted at newbie OS developers?
- akg 15y agoAn interesting take on Operating System design is the Synthesis Kernel that makes use of techniques like lockless data structures and run-time code synthesis: http://valerieaurora.org/synthesis/SynthesisOS/ http://valerieaurora.org/synthesis/SynthesisOS/
- a3_nm 15y agoNote that this tutorial is intended for the x86 architecture and for older versions of Bochs. If you're running an amd64 system or using a recent Bochs, you will need to tweak stuff in the Makefile and in bochsrc.txt.