ABSTRACT

This chapter discusses how operating systems have evolved, often in response to architectural advances. It examines the goals and organizing principles of current operating systems. Many books describe operating systems concepts and specific operating systems. Modern operating systems all provide multiprogramming as well as interaction, allowing the user to start several activities and to switch attention to whichever one is currently most interesting. A user who logs into an operating system first interacts with a privileged login process, which authenticates the user and then starts other processes owned by that user to accept further interaction. Two trends have made the job of implementing operating systems less difficult. First, high-level languages have made programming much easier. Second, the discipline of structured programming has suggested a layered approach to designing the kernel. Modern operating systems generally have three goals: To hide details of hardware by creating abstractions, to allocate resources to processes, and to provide an effective user interface.