Hacker News new | ask | show | jobs
by laxentasken 3412 days ago
I have on my list to read something along the lines like this, but this seems incomplete. Does anyone have anything similar?
7 comments

It is complete, if you finish the first 2 parts, which consists of 8 chapters. Then you can work on your own by reading the Intel manual volume 3 "System Programming Guide", or learning from OSDev wiki. The first two parts provide a foundation to use such resources, which I think is more important than a step by step guiding how to write an OS.
The little book about OS development by Erik Helin, Adam Renberg http://littleosbook.github.io/#introduction
This is what I'm planning to read as soon as I've learned assembly: http://www.brokenthorn.com/Resources/OSDevIndex.html
I graduated from that guide :) You can see the repo here, written entirely in NASM: https://github.com/tuhdo/os-study

The problem is that the guide is out of date in terms of toolchain, and you need to figure out many things by yourself, especially if you want to develop on Linux. My book helps you to understand how to learn and write x86 with Intel manuals (this is really important!), understand how to craft a custom ELF binary that is debuggable on bare metal, which in turn requires you to understand a bit of how debugger works.

Once you get gdb working, it is much easier to learn how to write an operating system.

Oh, good to know! I'll keep that in mind and keep a bookmark of your book and your implementation. Actually, I wanted to start writing an OS by following the BrokenThorn tutorial and was quite naive. After reading some pages it came to me that I don't know much assembly and so I started learning from Jeff Duntemanns Assembly book [1]. As far as I can see, your book also teaches the basics of assembly, it seems more friendly to beginners. Maybe it will be a better start for me. Thanks for putting in the hard work!

[1] http://www.duntemann.com/assembly.html

It not only seems, it says it is incomplete which is not unusual for something that is a work in progress
Maybe not exactly what you're looking for, but here's a linux specific ebook similar to this[1]

[1]:https://0xax.gitbooks.io/linux-insides/content/

Well, the book is not Linux-specific but only leverages Linux as a development environment.
I feel like it focuses on a lot of linux specific details that a OS agnostic book would when using linux as a 'development environment' definitely wouldn't.

There are many topics other OSes like Windows and Solaris do differently and talking about them even for a little bit would be beneficial, but I haven't seen any trace of it.

Search for Windows, Solaris, shows up nothing, and search for unix shows a single page about unix signals.

Others are saying it builds up an OS from first principles, so Nand to Tetris might be comparable:

http://www.nand2tetris.org/

For a comprehensive book on the theory behind operating systems I can recommend "Modern Operating Systems" by Andrew S. Tanenbaum.

It does not focus on the concrete implementation of an OS though.

Operating Systems: Design and Implementation by Tanenbaum and Woodhull covers the implementation of Minix.