Ask HN: Recommended resources to learn the Linux kernel and OS theory?
21–30 of 84 posts
Re: Ask HN: Recommended resources to learn the Linux kernel and OS theory?
#22The O'Reilly book Understanding The Linux Kernel is fantastic. Starts you off in the deep end with memory management/addressing and fans out from there. Notably excludes networking, as the book is long enough without it.
Any suggestions for Linux networking? I have Understanding Linux Network Internals but it’s a bit dated.
As far as kernel architecture, the rest of the system can work with the assumption "writes go into a buffer, reads come from a buffer, and the networking subsystem does the right thing in between", plus some stuff about DMA optimizations.
Re: Ask HN: Recommended resources to learn the Linux kernel and OS theory?
#23Re: Ask HN: Recommended resources to learn the Linux kernel and OS theory?
#24Not very Linux specific but Tanenbaum's "Modern Operating Systems" is an excellent source for OS theory and very readable as well. It's an expensive book, but I found it worth its money.
Re: Ask HN: Recommended resources to learn the Linux kernel and OS theory?
#25Join us in /r/kernel. As a mod I'm always helping folks with questions like this, and our community frequently beats me to the punch.
Re: Ask HN: Recommended resources to learn the Linux kernel and OS theory?
#26If you are still interested in FreeBSD, "The Design and Implementation of the Freebsd Operating System" is a fantastic book. It's a great guide in how a UNIX system and especially FreeBSD works and written by some of FreeBSD's most respected developers.
Re: Ask HN: Recommended resources to learn the Linux kernel and OS theory?
#27Depending on your style of programming, I'd recommend maybe not working on Linux if you are trying to learn kernel development and OS internals.
Have you looked at Haiku (https://www.haiku-os.org/)? We have a very well organized and commented modular-monolitic kernel, and a pretty active development team with a wide range of experience levels. I'm more than happy to help you (or anyone else) learn OS development!
Some example Haiku kernel code:
* "load_image_internal()", which is responsible for creating processes: https://github.com/haiku/haiku/blob/master/src/system/kernel...
* a recent change by me to replace a global lock with two local ones: https://github.com/haiku/haiku/commit/37eda488be1c9fee242e8e...
Re: Ask HN: Recommended resources to learn the Linux kernel and OS theory?
#28The O'Reilly book Understanding The Linux Kernel is fantastic. Starts you off in the deep end with memory management/addressing and fans out from there. Notably excludes networking, as the book is long enough without it.
Any suggestions for Linux networking? I have Understanding Linux Network Internals but it’s a bit dated.
Re: Ask HN: Recommended resources to learn the Linux kernel and OS theory?
#29Re: Ask HN: Recommended resources to learn the Linux kernel and OS theory?
#30Matyukevich page on GitHub has lessons with accompanying code to develop a Linux OS for raspberry Pi. The author goes into kernel, processor initialization, interrupt handling, scheduler, implementing syscall, and virtual memory.
I like his approach for these reasons 1. Minimal workable code, 2. Points you to entry function in linux repo 3. Line commentary of those entry function
Note that it's also a somewhat short read as he focuses on the practical implementations instead of the theory.
I myself was hoping that the author continue developing the chapters on file system, drivers, and networking but seemed to have been on hiatus.