词条 | THE multiprogramming system |
释义 |
| name = THE multiprogramming system | logo = | screenshot = | caption = | developer = Technische Hogeschool Eindhoven / Edsger Dijkstra (et al.) | source_model = | kernel_type = | supported_platforms = Electrologica X8 | ui = | family = | released = {{Start date and age|1968}} | latest_release_version = | latest_release_date = | latest_test_version | prog_language = Electrologica X8 assembly language | language = | updatemodel = | package_manager = | working_state = Discontinued | license = | website = }} The THE multiprogramming system or THE OS was a computer operating system designed by a team led by Edsger W. Dijkstra, described in monographs in 1965-66[1] and published in 1968.[2] Dijkstra never named the system; "THE" is simply the abbreviation of "Technische Hogeschool Eindhoven", then the name (in Dutch) of the Eindhoven University of Technology of the Netherlands. The THE system was primarily a batch system[3] that supported multitasking; it was not designed as a multi-user operating system. It was much like the SDS 940, but "the set of processes in the THE system was static".[3] The THE system apparently introduced the first forms of software-based paged virtual memory (the Electrologica X8 did not support hardware-based memory management),[3] freeing programmers from being forced to use actual physical locations on the drum memory. It did this by using a modified ALGOL compiler (the only programming language supported by Dijkstra's system) to "automatically generate calls to system routines, which made sure the requested information was in memory, swapping if necessary".[3] Paged virtual memory was also used for buffering I/O device data, and for a significant portion of the operating system code as well as nearly all of the ALGOL 60 compiler. In this system itself, semaphores have been used as a programming construct for the first time. DesignThe design of the THE multiprogramming system is significant for its use of a layered structure, in which "higher" layers only depend on "lower" layers:
The constraint that higher layers can only depend on lower layers was imposed by the designers in order to make reasoning about the system (using quasi-formal methods) more tractable, and also to facilitate building and testing the system incrementally. The layers were implemented in order, layer 0 first, with thorough testing of the abstractions provided by each layer in turn. This division of the kernel into layers was similar in some ways to Multics' later ring-segmentation model. Several subsequent operating systems have used layering to some extent, including Windows NT and macOS, although usually with fewer layers. The code of the system was written in assembly language for the Dutch Electrologica X8 computer. This computer had a word size of 27 bits, 32 kilowords of core memory,[3] 512 kilowords of drum memory providing backing store for the LRU cache algorithm, paper tape readers, paper tape punches, plotters, and printers. See also
References1. ^{{Cite EWD|196|The structure of the 'THE'-multiprogramming system}} (Jun 14, 1965) {{Edsger Dijkstra}}2. ^{{Citation|last=Dijkstra|first=E.W.|author-link=Edsger W. Dijkstra|title=The structure of the 'THE'-multiprogramming system|journal=Communications of the ACM|volume=11|issue=5|pages=341–346|year=1968|doi=10.1145/363095.363143}} 3. ^1 2 3 4 {{Citation| title = Operating System Concepts| first1 = Abraham| last1 = Silberschatz | first2 = James L.| last2 = Peterson| chapter = 13: Historical Perspective|date=May 1988| page = 512}} 6 : Software written primarily in assembly language|Discontinued operating systems|Dutch inventions|Computer science in the Netherlands|Information technology in the Netherlands|Edsger W. Dijkstra |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。