These tongue in cheek articles should be required reading for anyone who intends to design a new system of any kind. The art of klugemanship, as described here, has changed little from the days when these articles were written!
This classic paper is one of the first to clearly describe the whole idea of parallel programming, using primitives we would now describe as fork and join.
This classic paper is one of the first to clearly describe the whole idea of semaphores, with the classic P and V operations.
This is a classic early kernel, based on message passing between processes, where most of the work of I/O was not part of the kernel, but rather, was handled by processes to which I/O request messages were passed. Many later minicomputer operating systems were, in effect, confused reimplimentations of this system.
This is one of the oldest presentations of a polymorphic class hierarchy model of stream based device independent I/O. The code examples are in BCPL (the ancestor of C).
This is the definitive survey article on the whole idea of virtual memory.
This paper describes the MULTICS protection structures, where file access (and the right to open a segment) was controlled by access control lists, and the system was protected from users by the so-called ring system, a hierarchic generalization of the user-state, system-state notion.
This paper describes how control over the addressability of information can be the primary access control mechanism. These ideas are at the heart of some very important experimental systems, as well as a few commercial systems such as the Plessy System/250, the IAPX 432 and the IBM AS/400. Curiously, the Intel 80x86 (where x>1) has all of the hardware features necessary to support full scale capability-based addressing.
This paper, although concerned with a uniprocessor system (the Cray 1), lays out the basic outline for capability based message passing, as used by a large number of later distributed operating systems. It also clearly distinguishes between the operating system kernel, which has very limited functionality, and the processes providing operating system services such as file management.
The Cambridge CAP project is one of the great explorations of capability architecture, using extensive hardware support for capabilities. The CAP file system was also based on a capability model, with garbage collection used to reclaim files that were no longer accessable from any directory.
This paper outlines one of the best engineered file systems designed during the 1970's, illustrating the kinds of considerations that traditionally distinguish supercomputer-based I/O management from the minimal management people expected on early minicomputers or on the personal computers of today.
This paper describes how many of the ideas from Demos and other research systems of the 1970's were incorporated into later UNIX file systems.
This paper compares the Xerox Distributed File System with the Cambridge File Server. Both use notions of file capabilities, neither uses the notion of a mandatory directory hierarchy, as used in UNIX. This paper should be required reading for anyone trying to design a new model of file service that improves on UNIX.