THE operating system
THE Operating system
The THE operating system (Dijkstra , McKeag and Wilson ) was designed at the Technische Hogeschool at Eindhoven in the Netherlands. It was a batch system running on a Dutch computer, the EL X8, with 32 KB of 27-bit words. The system was mainly noted for its clean design, particularly its layer structure, and its use of a set of concurrent processes employing semaphores for synchronization. Unlike the XDS-940 system, however, the set of processes in the THE system was static.
The operating system itself was designed as a set of cooperating processes. In addition, five user processes were created that served as the active agents to compile, execute, and print user programs. When one job was finished, the process would return to the input queue to select another job.
|Topics You May Be Interested In|
|Real Time Operating System||Network Topology|
|Architectures Of Operating System||Environmental Subsystems|
|System Calls||Rc 4000|
|Demand Paging||Disk Scheduling In Multimedia Systems|
|Atomicity||What Is Election Algorithms ?|
A priority CPU-scheduling algorithm was used. The priorities were recomputed every 2 seconds and were inversely proportional to the amount of CPU time used recently (in the last 8 to 10 seconds). This scheme gave higher priority to 1/O-bound processes and to new processes.
Memory management was limited by the lack of hardware support. However, since the system was limited and user programs could be written only in Algol, a software paging scheme was used. The Algol compiler automatically generated calls to system routines, w r hich made sure the requested information was in memory, swapping if necessary. The backing store was a 512-KB-word drum. A 512-word page was used, with an L.RU page-replacement strategy. Another major concern of the THE system was deadlock control. The banker's algorithm was used to provide deadlock avoidance. Closely related to the THE system is the Venus system (Liskov ).
The Venus system was also a layer-structured design, using semaphores to synchronize processes. The lower levels of the design were implemented in microcode, however, providing a much faster system. The memory management was changed to a paged-segmented memory. The system was also designed as a time-sharing system/ rather than a batch system.