Operating Systems Design Considerations

In the UNIX world, discussions are always going on about the pros and cons of microkernel architectures, modular kernels, embedded systems, real-time operating systems, and monolithic kernel designs. For details, look at the GNU Hurd/Mach web page and the design documents available from the Linux kernel designers. The URL is http://www.gnu.org/software/hurd/hurd.html.

Unfortunately, no single authoritative repository exists for Linux information. However, you can start by reading the classic books from Avi Silberschatz (Applied Operating System Concepts, Fifth Edition; Wiley Text Books, 1999) and Andrew S. Tanenbaum (Modern Operating Systems, Second Edition; Prentice Hall, 2001) about operating systems design to grasp the concepts and design rationale as well as the Minix foundation of Linux. Knowing the information from these sources will help you go through this book because several examples either facilitate kernel routines or dynamic loadable modules; it will also help you in your career because an understanding of operating concepts will always be an advantage when making difficult choices with regard to future platforms.