Module 22 - The Linux system. Chapter 21 discussed the internals of the operating system in detail. BSD is just one of the UNIX-like systems. Linux is another UNIX-like system 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. | Lecture Operating system concepts Fifth edition Module 22 - Avi Silberschatz Peter Galvin Module 22 The Linux System History Design Principles Kernel Modules Process Management Scheduling Memory Management File Systems Input and Output Interprocess Communication Network Structure Security Silberschatz and Galvin 1999 History Linux is a modem free operating system based on UNIX standards. First developed as a small but self-contained kernel in 1991 by Linus Torvalds with the major design goal of UNIX compatibility. Its history has been one of collaboration by many users from all around the world corresponding almost exclusively over the Internet. It has been designed to run efficiently and reliably on common PC hardware but also runs on a variety of other platforms. The core Linux operating system kernel is entirely original but it can run much existing free UNIX software resulting in an entire UNIX-compatible operating system free from proprietary code. Silberschatz and Galvin 1999 The Linux Kernel Version May 1991 had no networking ran only on 80386-compatible Intel processors and on PC hardware had extremely limited device-drive support and supported only the Minix file system. Linux March 1994 included these new features Support for UNIX s standard TCP IP networking protocols BSD-compatible socket interface for networking programming Device-driver support for running IP over an Ethernet Enhanced file system Support for a range of SCSI controllers for high-performance disk access Extra hardware support Version March 1995 was the final PC-only Linux kernel. Silberschatz and Galvin 1999 Linux Released in June 1996 added two major new capabilities Support for multiple architectures including a fully 64-bit native Alpha port. Support for multiprocessor architectures Other new features included Improved memory-management code Improved TCP IP performance Support for internal kernel threads for handling dependencies between loadable