Book: The Design and Implementation of the 4.4BSD Operating System

Hi all!

I would like to ask whether this book is worth reading or if there are better alternatives, such as the ones mentioned here. I've had this book since 2008 (along with about 20 other books on UNIX and Linux programming). Back then, I did a lot of device driver and low-level hardware development.

I want to start learning more about the FreeBSD operating system because I find operating system development fascinating. Perhaps, in the future, I'll be able to contribute to FreeBSD (if they let me to do that) by working on device drivers or other parts of the system between my own projects.

So, what do you think about this book? Is it still worth reading, or would you recommend something more up to date?

Best regards.
 
Its pretty good and gives a detailed overview of the internals. Though personally, I didn't find much of the info that "actionable".

If you are interested in drivers, then Kong, as listed via your link a good candidate:

FreeBSD, unlike Linux doesn't mutate as quickly, so I wouldn't really worry about any of them not being "up-to-date".
 
Its pretty good and gives a detailed overview of the internals. Though personally, I didn't find much of the info that "actionable".

If you are interested in drivers, then Kong, as listed via your link a good candidate:

FreeBSD, unlike Linux doesn't mutate as quickly, so I wouldn't really worry about any of them not being "up-to-date".
Amazing! Thank you so much for your recommendation and for taking the time to reply. I'll order a copy.

You make a good point about FreeBSD not changing its internals as quickly as Linux. I agree with you in that regard.
 
Finally, I ordered both of them. I don't mind reading older books as long as they're still worth reading.

I love reading and studying books. I think they'll be a good starting point for the next few years.

Thank you so much for taking the time to reply. I really appreciate it.
 
What would make such an OS book more actionable?
Generally the following:

- Modifying the general structures (e.g. accessing the filesystem inodes) via e.g. C
- Examples of using tools to fiddle with the concepts
- Advice on how to use the information to optimise using BSD

Its all a little bit passive by design. Yes, I walk away knowing more about UNIX, but I don't really have anything new I can do with that knowledge.
 
I personally think this book is good, but ask what do you expect to get out of it? That question feeds into what kpedersen and drhowarddrfine are asking.

What I got/get out of this book is roughly overall flow. How/where memory management fits in, high level boot process, high level scheduler. So definitive? Not any more, but a decent starting point for understanding.
 
kpedersen So a bit more like a textbook, with exercises so that one learns by doing (or modifying)?

When I had to learn about a (needlessly) complex 2 million lines of C++ software, I used gdb liberally, stopping the system at various points or stages and examined various data structures & their links & how they changed.

I think in general we are better at learning from “movements” or changes and detecting how things change! So books about dynamic systems should be dynamic! Something to think about when developing a complex system in future!
 
kpedersen So a bit more like a textbook, with exercises so that one learns by doing (or modifying)?

Yeah, I find I learn stuff better whilst fiddling. Perhaps not quite as far as needing exercises like e.g. K&R but maybe a few practical code snippets / defined / etc to provide contextual info.

Maybe I am just pining for a Lions Commentary v2 but Kong's is a good compromise (sample here).
 
Back
Top