A Large Semaphore Based Operating System

The paper describes the internal structure of
a large operating system as a set of cooperating 
sequential processes.  The processes synchronize by
means of semaphores and extended semaphores (queue 
semaphores).  The number of parallel processes is carefully
justified, and the various semaphore constructions 
are explained.  The system is proved to be free of "deadly
embrace" (deadlock).  The design principle 
is an alternative to Dijkstra's hierarchical structuring
of operating systems.  The project management 
and the performance are discussed, too.  The operating
system is the first large one using the RC 4000 
multiprogramming system.

CACM July, 1975

Lauesen, S.

cooperating processes, operating system, semaphores,
semaphore applications, queue semaphores, 
deadlock, deadly embrace, hierarchical structuring, multiprogramming,
operating system structure, asynchronous 
structuring, buffering, parallel processes, synchronizing
primitives, reentrant code, RC 4000, project 
management, time schedule, debugging, project planning,
project scheduling, reliability, program proving, 
coroutines, correctness, program maintenance, software paging

4.30 4.31 4.32 4.42 4.43 5.24

CA750702 JB January 9, 1978  10:32 AM

1828	4	2740
1854	4	2740
1877	4	2740
1960	4	2740
2150	4	2740
2228	4	2740
2280	4	2740
2317	4	2740
2319	4	2740
2319	4	2740
2377	4	2740
2378	4	2740
2342	4	2740
2376	4	2740
2379	4	2740
2379	4	2740
2320	4	2740
2424	4	2740
2482	4	2740
2482	4	2740
2618	4	2740
2632	4	2740
2632	4	2740
2704	4	2740
2723	4	2740
2738	4	2740
2738	4	2740
2740	4	2740
2740	4	2740
2740	4	2740
2741	4	2740
2851	4	2740
2867	4	2740
2868	4	2740
2920	4	2740
3127	4	2740
3184	4	2740
1749	5	2740
1877	5	2740
2080	5	2740
2740	5	2740
2740	5	2740
2740	5	2740