top | item 8330547

The Design and Implementation of the FreeBSD Operating System, 2nd ed.

195 points| todd8 | 11 years ago |amazon.com | reply

55 comments

order
[+] ChuckMcM|11 years ago|reply
I have a very dog eared copy of the first edition and ordered this one. I also bought a copy of the CS class that Kirk taught at UCB on VHS video tape back when I was at NetApp.

I sort of think of three books as being core of a curriculum understanding operating systems, this book, "The Design of the UNIX Operating System"[1] by Bach, and "Operating System Concepts" by Silbershatz. Owning and understanding those three texts will give you everything you need to know about working in the kernel and designing your own OS code.

[1] www.amazon.com/Design-UNIX-Operating-System/dp/0132017997/

[2] www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/1118063333/

[+] mwcampbell|11 years ago|reply
[+] omnibrain|11 years ago|reply
Can anyone with an account please check how much shipping to germany costs? I don't want to set up an account with another site just to check shipping costs. I can get the book from Amazon but the Bok + eBook bundle informit offers looks attractive, but it all depends on the shipping costs.
[+] craftkiller|11 years ago|reply
The FreeBSD foundation is one of the charities that smile.amazon.com donates to, so if you're not already using it, consider purchasing the booking through smile.amazon.com so 0.5% of your purchase goes to them.
[+] aristus|11 years ago|reply
I audited McKusick's kernel class at Berkeley extension. 8 hour sessions every Saturday for a couple of months. I don't have a formal CS background but at the time had 10-12 years of professional experience. It was the most useful class I have ever taken, removing the magic behind the OS.
[+] jrapdx3|11 years ago|reply
As a long-time user of FBSD (since 4.x), the book looks like it's quite comprehensive. Keeping up with all the recent changes is difficult, and this detailed reference covers an impressive range of topics (as far as I can determine from the preview), particularly newer and updated features like the Capsicum framework, security features, ZFS, geom among others.

One disappointment is the book doesn't have much to say about UEFI and Secure Boot, which will be important to easily integrate FBSD with other systems on current PC hardware. Understandable though, as they're still in development and the authors not yet ready to discuss it.

For an 800+ page book the price is rather modest. Looks like one that will have to go on my "must get" list.

[+] digitailor|11 years ago|reply
If it wasn't ready by print date, it would be a very ugly section. ;) None of the tools people have made to get BIOS 'nixes to install on UEFI worked for me. (Debian still has no install for UEFI.) Maybe this process would work for FreeBSD. Here's what I had to do to get crunchbang going on a 2009 MacBook Pro (which is UEFI):

  1. Install Linux Mint via USB thumbdrive (Ubuntu has UEFI support)
     Use to format and partition destinination drive appropriately
  2. install grml-rescueboot
  3. cp crunchbang .iso to /boot/grml-rescueboot
  4. In the grub CLI (that 40x80 first stage GRUB prompt), set the $root variable
  5. > linux ($root)/install/vmlinux
     > initrd ($root)/install/initrd.*
  6. Insert Crunchbang install DVD, locate CDROM drive in the GRUB CLI
     (enjoy finding things in the 40x80 context)
  7. Install, reboot, sudo update-grub, reboot
  8. Celebrate, and then weep bitterly because it took ten hours to figure out
Bonus: Apple's bootloader is now gone, speeding things up and removing an extra bootup selection. Straight to GRUB.

Does anyone know if this process might work for 'BSD? Haven't installed one since the mid-2000s.

[+] gonzo|11 years ago|reply
UEFI just went into FreeBSD (it might make 10.1-RELEASE)

In other words: it's too early.

[+] przemoc|11 years ago|reply
I was never into FreeBSD (I hoped to dive into it more in the past, but never done so sadly), but heard that 1st ed was really good, so the revised version quite likely shouldn't be any worse (hopefully even better). I would order it, but there are still many technical books on my shelf waiting for my attention, thus adding another one will not help in that matter.

One thing is sure, even if you're not into FreeBSD, broadening your perspective is never wrong. So I may eventually order it in the future.

[+] umanwizard|11 years ago|reply
FreeBSD combined with this book is great for learning about operating systems in general, regardless of whether you care about FreeBSD specifically. The book goes into a lot of detail about why certain design decisions were made, and how things are implemented in other operating systems.

If you're already studied some other OS in general, you might not need this book, but if you haven't, this is a great place to start.

[+] jonaldomo|11 years ago|reply
For those of you who get to use this knowledge in your day to day jobs what kind of things are you working on?
[+] lsllc|11 years ago|reply
My copy arrived yesterday. A real old-school textbook; reminds me of the days of poring over "Modern Operating Systems" in college!
[+] incision|11 years ago|reply
Mine arrived yesterday.

The size and heft of the print book is a welcome surprise, it's something that you could toss in a bag and hold to read without support (2.7 lbs, 9.4x6.4x1.4) - relevant for something that will eventually be shelved among stuff like "The Linux Programming Interface" (5 lbs, 9.5x7.2x2.3)

[+] Rapzid|11 years ago|reply
TLPI is my favourite book(technical book I own). Sometimes I look over at it and think "Man, what a great book". I'm very tempted to purchase this as well :)
[+] nomadlogic|11 years ago|reply
These books are pretty much a must read for anyone interested in the internals of Unix-type systems. I keep them right next to my TCP/IP Illustrated volumes, I reckon it's always good to have good reference material handy - especially when it is well written and researched.
[+] danso|11 years ago|reply
You sold me. I'm not particularly interested in knowing enough about FreeBSD to diagnose anything non-trivial, but I am interested in learning about design decisions behind operating systems.
[+] samuel|11 years ago|reply
This book is great, even if you don't use FreeBSD. I remember that I learnt how a TLB/MMU really works by reading this book, and not on an Operating Systems lecture.
[+] snlacks|11 years ago|reply
Would HN-commenters recommend this (based off of experience with either edition) over other OS books for a self-teaching CS Curriculum?

Do you agree that picking one OS to study is the best way to learn about Operating Systems generally?

[+] gabriel|11 years ago|reply
I've read many theory and hands-on OS books and this book (the 1st Ed) is my favorite. But it is a dense book! Quite awesomely dense to be honest. One OS to study will certainly help (it helped me) to fully understand why the theory can be useful. This book especially can help make the connection between theory and practice.
[+] michaelsbradley|11 years ago|reply
Is there a comparable, relatively up-to-date book for Linux?
[+] incision|11 years ago|reply
Not exactly.

What really sets this book apart, in my opinion, is just how readable it is. I haven't run across anything with quite the same combination of style and depth for Linux.

You could read through something like The Linux Programming Interface [1] or Understanding the Linux Kernel [2] and with effort extract much of the same information, but without the pace/structure/commentary that I think this book does so well.

Thing is, conceptually much of what you'll read in this book will be applicable to Linux just fine and having read it will make it far easier to grok how/where the two differ.

1: http://www.amazon.com/dp/1593272200 2: http://www.amazon.com/dp/0596005652

[+] mwcampbell|11 years ago|reply
To be comparably authoritative, I guess a book like this for Linux would have to be written by Linus Torvalds or another senior Linux kernel developer.
[+] pkaye|11 years ago|reply
What are the major changes from the 1st edition? I had bought the old one just a few months back...
[+] rdc12|11 years ago|reply
Has anything important from the first edition been omitted from the second?
[+] cms07|11 years ago|reply
The first edition is quite good. I'm sure the 2nd is just as good.
[+] cbd1984|11 years ago|reply
It seems odd that this book is only about the kernel, given that the BSD camp has always said that an advantage of a BSD over Linux is that a BSD is the whole package, from the GUI and command shell on down, whereas Linux is 'just' the kernel, and relies on distros to be usable.
[+] kev009|11 years ago|reply
The userland would be harder to write a long lasting book on. It's prone to change between major version numbers.. for instance clang/c++ RT/etc. It would be cool to see a volume on this stuff, but it would probably need a ton of authors and be more like a series of exposes (thinking a book like Architecture of Open Source Applications)