Module 21 - The UNIX system. Although operating system concepts can be considered in purely theoretical terms, it is often useful to see how they are implemented in practice. This chapter presents an in-depth examination of the operating system, a version of UNIX, as an example of the various concepts presented in this lecture. By examining a complete, real system, we can see how the various concepts discussed in this book relate both to one another and to practice. | Lecture Operating system concepts Fifth edition Module 21 - Avi Silberschatz Peter Galvin Module 21 The Unix System History Design Principles Programmer Interface User Interface Process Management Memory Management File System I O System Interprocess Communication Silberschatz and Galvin 1999 History First developed in 1969 by Ken Thompson and Dennis Ritchie of the Research Group at Bell Laboratories incorporated features of other operating systems especially MULTICS. The third version was written in C which was developed at Bell Labs specifically to support UNIX. The most influential of the non-Bell Labs and non-AT amp T UNIX development groups University of California at Berkeley Berkeley Software Distributions . 4BSD UNIX resulted from DARPA funding to develop a standard UNIX system for government use. Developed for the VAX is one of the most influential versions and has been ported to many other platforms. Several standardization projects seek to consolidate the variant flavors of UNIX leading to one programming interface to UNIX. Silberschatz and Galvin 1999 History of UNIX Versions Silberschatz and Galvin 1999 Early Advantages of UNIX Written in a high-level language. Distributed in source form. Provided powerful operating-system primitives on an inexpensive platform. Small size modular clean design. Silberschatz and Galvin 1999 UNIX Design Principles Designed to be a time-sharing system. Has a simple standard user interface shell that can be replaced. File system with multilevel tree-structured directories. Files are supported by the kernel as unstructured sequences of bytes. Supports multiple processes a process can easily create new processes. High priority given to making system interactive and providing facilities for program development. Silberschatz and Galvin 1999 Programmer Interface Like most computer systems UNIX consists of two separable parts Kernel everything below the system-call interface and above the .