Operating systems in a changing world

This chapter focuses on operating systems in the changing world. The principles by which processes are queued and managed, laid down at the early Symposia on Operating System Principles, still remain valid. Since then, new insights have led to important advances. An important development of recent years is the concept of threads. Threads are a development of the long-standing concept of lightweight processes, that is, processes that can be rapidly created and destroyed without the overheads associated with regular processes. Inter-process communication may be effected in a time-sharing system either by passing messages or by making use of shared memory. Early time-sharing systems had very limited high-speed memories, and much effort was perforce devoted to arriving at a satisfactory paging policy. However, since that time, high-speed memories have increased in speed by a very large factor but disk latency has remained much the same. Operating systems brought with them the need for memory protection to prevent user programs from interfering with the system and with each other. UNIX has had a complex and strange history. Originating as a system for a PDP-7 with a small address space and used in a research organization, it was developed to run on large minicomputers in a networked environment. Recent developments in programming languages have led to modular or object-oriented models. These free programming languages from the limitations of hierarchical scope rules.