Bibliography

This bibliography lists works complementary to this book. Note that the absolute best “additional reading” to complement this book is the kernel source. Working on Linux, we are all gifted with full and unrestricted access to the source code for an entire modern operating system. Do not take that for granted. Dive in! Read and write code!

Books on Operating System Design

These books cover OS Design as discussed in an undergraduate course. They all tackle the concepts, algorithms, problems, and solutions involved in designing a functional operating system. I recommend them all, but if I had to pick only one, the Deitel book is both comprehensive and enjoyably readable.

Deitel, H., P. Deitel, and D. Choffnes. Operating Systems. Prentice Hall, 2003. An awesome tour de force on the theory of operating systems, with some excellent case studies putting the theory to practice.

Tanenbaum, Andrew. Modern Operating Systems. Prentice Hall, 2007. A strong overview of the standard operating system design issues, plus discussion on many of the concepts used in today’s modern operating systems, such as UNIX and Windows.

Tanenbaum, Andrew. Operating Systems: Design and Implementation. Prentice Hall, 2006. A great introductory work on both the design and implementation of a Unix-like system, Minix.

Silberschatz, A., P. Galvin, and G. Gagne. Operating System Concepts. John Wiley and Sons, 2008. Also known as “the dinosaur book,” for the seemingly irrelevant dinosaurs on the cover. A great introduction to OS design. The book has frequent revisions; any of them should do fine.

Books on Unix Kernels

These books tackle the design and implementation of Unix kernels. The first five discuss a specific flavor of Unix, and the later two focus on issues common to all Unix variants. If you were only going to buy two of these books, I’d insist on these last two.

Bach, Maurice. The Design of the Unix Operating System. Prentice Hall, 1986. A good discussion on the design of Unix System V Release 2.

McKusick, M., K. Bostic, M. Karels, and J. Quarterman. The Design and Implementation of the 4.4BSD Operating System. Addison-Wesley, 1996. A good discussion on the design of the 4.4BSD system by the system designers.

McKusick, M. and G. Neville-Neil. The Design and Implementation of the FreeBSD Operating System. Addison-Wesley, 2004. A good discussion on the design and implementation of FreeBSD 5.2.

McDougall, R and J. Mauro. Solaris Internals: Solaris and OpenSolaris Kernel Architecture. Prentice Hall, 2006. An interesting discussion on the core subsystems and algorithms in the Solaris kernel.

Cooper, C., and C. Moore. HP-UX 11i Internals. Prentice Hall, 2004. A look at the internals of HP-UX and the PA-RISC architecture.

Vahalia, Uresh. Unix Internals: The New Frontiers. Prentice Hall, 1995. A superb book on modern Unix features, such as thread management and kernel preemption.

Schimmel, Curt. UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers. Addison-Wesley, 1994. A superb book on the perils of supporting a modern Unix on a modern architecture. Highly recommended.

Books on Linux Kernels

These books, as with this one, discuss the Linux kernel. There are not too many good books in this category. These two, however, I recommend.

Benvenuti, Christian. Understanding Linux Network Internals. O’Reilly and Associates, 2005. A deep dive into Linux networking.

Corbet, J., A. Rubini, and G. Kroah-Hartman. Linux Device Drivers. O’Reilly and Associates, 2005. An excellent discussion on how to write device drivers for the 2.6 kernel, with a focus on the programming interfaces supporting various types of devices.

Books on Other Kernels

Understanding your competitors never hurts. These books discuss the design and implementation of operating systems other than Linux. See what they got right and what they got wrong.

Kogan, M. and H. Deitel. The Design of OS/2. Addison-Wesley, 1996. An interesting look at OS/2 2.0.

Singh, Amit. Mac OS X Internals: A Systems Approach. Addison-Wesley Professional, 2006. A treatise on the entire Mac OS X system that is as deep as it is wide.

Solomon, D., and M. Russinovich. Windows Internals: Covering Windows Server 2008 and Windows Vista. Microsoft Press, 2009. An interesting look at a rather non-Unix operating system.

Books on the Unix API

In-depth discussions of the Unix system and its API are important not only for writing powerful user-space programs, but for also understanding the responsibilities of the kernel.

Love, Robert. Linux System Programming. O’Reilly and Associates, 2007. My own work on system-level Linux programming, covering the Linux system call and libc API and attention to Linux-specific tricks and tips.

Stevens, W.R. and S. Rago. Advanced Programming in the UNIX Environment. Addison-Wesley, 2008. An excellent if not definitive discussion on the Unix system call interface.

Stevens, W. Richard. UNIX Network Programming, Volume 1. Prentice Hall, 2004. A classic text on the sockets API used by Unix systems.

Books on the C Programming Language

The Linux kernel, along with much of the Linux system, is written in C. These two books own that subject.

Kernighan, B. and D. Ritchie. The C Programming Language. Prentice Hall, 1988. The definitive book on C programming language, written by the author of C and his coworker.

van der Linden, Peter. Expert C Programming. Prentice Hall, 1994. A great discussion on some of the less understood details in C. The author has a wonderful sense of humor.

Other Works

This is a collection of other books not strictly related to operating systems, but discussing topics that undoubtedly affect them.

Hofstadter, Douglas. Gödel, Escher, Bach: An Eternal Golden Braid. Basic Books, 1999. A profound and indispensable look at human thought that delves wildly into multiple subjects, including computer science.

Knuth, Donald. The Art of Computer Programming, Volume 1. Addison-Wesley, 1997. An invaluable tome on the fundamental algorithms of computer science, including best- and worst-fit algorithms used in memory management.

Websites

Kernel.org. The official repository of the kernel source. It is also home to a large number of the core kernel hacker’s patches. www.kernel.org.

Linux Weekly News. An excellent news site with smart, accurate commentary on the week’s Linux news, including kernel happenings. Highly recommended. www.lwn.net.

OS News. Operating System News, along with original articles, interviews, and reviews. www.osnews.com.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.249.194