The book tries to give students of computer science and professional
programmers a general understanding of operating systems--the programs
that enable people to share computers efficiently.
To make the sharing of a computer tolerable, an operating system must
enforce certain rules of behavior on all its users. One would therefore
expect the designers of operating systems to do their utmost to make them
as simple, efficient, and reliable as possible.
A number of operating systems made in the early 1960's had these
characteristics; but in the late 1960's designers were often overambitious
and built enormous systems with poor performance.
I see no inherent reason why operating systems should not reach the
quality of program construction found in present compilers; this will
require an understanding of the principles common to all operating systems
and a consistent use of safe methods of designing large programs. It is my
hope that this book will give you a start in this direction.
I assume that you are familiar with the basic structure of computers
and programming languages and have some experience in writing and
testing non-trivial programs. In a few cases a knowledge of elementary
calculus and probability theory is also needed.
THEM
1