The OS Classics

• 627 words

A few days ago I was fortunate to pick up a copy of a book that had a major impact on my early career as kernel engineer;

The Design and Implementation of the 4.3 BSD UNIX Operating System by Samuel J. Leffler, Marshall Kirk McKusick, Michael J. Karels and John S. Quarterman.

It was the first authoritative description of Berkeley UNIX, its design and implementation. The book covers the internal structure of the 4.3 BSD systems and the concepts, data structures and algorithms used in implementing the system facilities. But most importantly it was written by practitioners and builders and as such gave insights that academic text book would never give you.

In those days I was doing an internship at NIKHEF who were still using a collection of PDP 11s and one of my tasks was to get BSD2.9 to run on them. Lots of late nights and head scratching, but got it done eventually. I did learn how to boot from tape, over and over again (Zen!!). When I returned to school, they were about to decommission a PDP 11. I convinced them to put it in a old (big) cleaning closet, upgrade the power to the room, and I went right back to building out my BSD kernel expertise. I started late at Computer Science (28) but worked hard to catch up by getting my hands dirty.

When I posted on twitter I found of the book, many of our peers came up with a list of other books I had also read from that era.

Here is a list of some of the books that were shared.

The Unix kernel design books:

The Networking books:

The Tanenbaum Collection:

Not a true OS book, but it is a classic and absolutely fascinating:

If there is a classic that is not on this list, but you think it should be, let me know.