The first authoritative description of Berkeley UNIX, its design and implementation. Book covers the internal structure of the 4.3 BSD systems and the concepts, data structures and algorithms used in implementing the system facilities. Chapter on TCP/IP. Annotation copyright Book News, Inc. Portlan
Samuel J. Leffler is a computer scientist known for his contributions to BSD, from the 1980s to FreeBSD in the present day. He played a key role in the development of BSD releases while working at the Computer Systems Research Group at the University of California, Berkeley, contributing to 4.1 and 4.2 BSD. Beyond his work with BSD, he created HylaFAX, LibTIFF, and the FreeBSD Wireless Device Drivers and co-authored the Design and Implementation series of books. After leaving the Computer Systems Research Group, Leffler worked at Lucasfilm, Pixar Animation Studios, Silicon Graphics, Alias Research, Softimage 3D, Cinetron Computer Systems, and VMware. During his time at Silicon Graphics, he developed HylaFAX. Later, he became an independent system design consultant. His contributions to computer animation rendering include work on André and Wally B. (1984) in texturing and matteing, Luxo Jr. (1986) in rendering, Tin Toy (1988) as part of the RenderMan team, and Toy Story (1995) in modeling, animation system development, and RenderMan software development.
I'm having some mixed feelings: on one hand, this is a very detailed treatment of 4.3BSD design, with interesting tidbits about various algorithms and the tradeoffs made. On the other, sometimes it was like someone reading the source to you -- the perfect cure for insomnia.
I was with it through the kernel proper--fifteen years of OS kernel employment made this a light task--and then hit the wall when going into the storage and network/IPC subsystems, which I know less about and have limited interest in (especially when it went into optimal placement of data in the disk cylinder for rotational latency purposes, which is file system stuff that smart controller/disk technology has passed by).
The book is entirely geared towards the VAX, to the point of discussing the UNIBUS and MASSBUS architectures. The most one can glean for other implementations is the phrase "other architectures may do this differently."
Despite its textbootk format, this is not an introductory primer for operating system design. It is more useful as a reference, to see how certain problems were tackled. The modern version might work as a textbook for a subsequent OS course.