The Linux System
This chapter presents an in-depth examination of the Linux operating system. By examining a complete, real system, we can see how the concepts we have discussed relate both to one another and to practice.
Linux is a version of UNIX that has gained popularity in recent years. In this chapter, we look at the history and development of Linux and cover the user and programmer interfaces that Linux presents—interfaces that owe a great deal to the UNIX tradition. We also discuss the internal methods by which Linux implements these interfaces. Linux is a rapidly evolving operating system. This chapter describes developments through the Linux 2.6 kernel, which was released in late 2003.
• To explore the history of the UNIX operating system from which Linux is derived and the principles upon which Linux is designed.
• To examine the Linux process model and illustrate how Linux schedules processes and provides interprocess communication.
• To look at memory management in Linux.
• To explore how Linux implements file systems and manages I/O devices.
21.1 Linux History
Linux looks and feels much like any other UNIX system; indeed, UNIX ...