| Department of Computer Science Course: CS 3725 | |
``An operating system is a set of manual and automatic procedures that enable a group of people to share a computer installation efficiently'' -- Per Brinch Hansen, in Operating System Principles (Prentice Hall, 1973)
``An operating system is a set of programs that monitor the execution of user programs and the use of resources'' -- A. Haberman, in Introduction to Operating System Design (Science Research Associates, 1976)
``An operating system is an organized collection of programs that acts as an interface between machine hardware and users, providing users with a set of facilities to simplify the design, coding, debugging and maintenance of programs; and, at the same time, controlling the allocation of resources to assure efficient operation'' -- Alan Shaw, in The Logical Design of Operating Systems (Prentice Hall, 1974)
Typically, more modern texts do not ``define'' the term operating system, they merely specify some of the aspects of operating systems. Usually two aspects receive most attention:
We will be primarily concerned with the resource management aspects of the operating system.
Resources which require management include:
In addition to resource management (allocation of resources) the operating system must ensure that different processes do not have conflicts over the use of particular resources. (Even simple resource conflicts can result in such things as corrupted file systems or process deadlocks.)
This is a particularly important consideration when two or more processes must cooperate in the use of one or more resources.