This thesis describes a time sharing system constructed by a project
at the University of California, Berkeley Campus, Computer Center.
The project was of modest size, consuming about 30 man years. The
resulting system was used by a number of programmers. The system was
designed for a commercially available computer, the Control Data
6400 with extended core store. The system design was based on
several fundamental ideas, including:
- specification of the entire system as an abstract machine,
- a capability based protection system,
- mapped address space,
- and layered implementation.
The abstract machine defined by the first implementation layer
provided 8 types of abstractly defined objects and about 100 actions
to manipulate them. Subsequent layers provided a few very complicated
additional types. Many of the fundamental ideas served us well,
particularly the concept that the system defines an abstract machine,
and capability based protection. However, the attempt to provide a
mapped address space using unsuitable hardware was a disaster. This
thesis includes software and hardware proposals to increase the
efficiency of representing an abstract machine and providing
capability based protection. Also included is a description of a crash
recovery consistency problem for files which reside in several levels
of storage, together with a solution that we used.