Research and experimentation efforts began in earnest in the 1970s and continued through the 1990s, with focused interest peaking in the late 1980s. A number of distributed operating systems were introduced during this period; however, very few of these implementations achieved even modest commercial success.
Fundamental and pioneering implementations of primitive distributed operating system component concepts date to the early 1950s.<ref name=dyseac>{{cite journal |last1=Leiner |first1=Alan L. |title=System Specifications for the DYSEAC |journal=Journal of the ACM |date=April 1954 |volume=1 |issue=2 |pages=57–81 |doi=10.1145/320772.320773 |s2cid=15381094 |doi-access=free }}</ref><ref name=lincoln_tx2>{{cite conference |title=The Lincoln TX-2 Input-Output System |first=James W. |last=Forgie |date=February 26–28, 1957 |conference=Western Joint Computer Conference: Techniques for Reliability |publisher=Association for Computing Machinery |___location=Los Angeles, California |pages=156–160 |isbn=9781450378611 |doi=10.1145/1455567.1455594 |doi-access=free }}</ref><ref name=intercomm_cells>{{cite conference |author=C. Y. Lee |title=Intercommunicating cells, basis for a distributed logic computer |date=December 4–6, 1962 |conference=Fall Joint Computer Conference |publisher=Association for Computing Machinery |___location=Philadelphia, Pennsylvania |pages=130–136 |doi=10.1145/1461518.1461531 |doi-access=free}}</ref> Some of these individual steps were not focused directly on distributed computing, and at the time, many may not have realized their important impact. These pioneering efforts laid important groundwork, and inspired continued research in areas related to distributed computing.<ref name="Dreyfus_1958_Gamma60">{{citation |title=System design of the Gamma 60 |author-first=Phillippe |author-last=Dreyfus |author-link=Philippe Dreyfus |work=Proceedings of the May 6–8, 1958, [[Western Joint Computer Conference]]: Contrasts in Computers |___location=Los Angeles |date=1958-05-08 |orig-year=1958-05-06 |id=IRE-ACM-AIEE '58 (Western) |publication-place=ACM, New York, NY, USA |pages=130–133 |url=https://www.computer.org/csdl/proceedings/afips/1958/5052/00/50520130.pdf |access-date=2017-04-03 |url-status=live |archive-url=https://web.archive.org/web/20170403224547/https://www.computer.org/csdl/proceedings/afips/1958/5052/00/50520130.pdf |archive-date=2017-04-03}}</ref><ref>Leiner, A. L., Notz, W. A., Smith, J. L., and Weinberger, A. 1958. Organizing a network of computers to meet deadlines. In Papers and Discussions Presented At the December 9–13, 1957, Eastern Joint Computer Conference: Computers with Deadlines To Meet (Washington, D.C., December 09–13, 1957). IRE-ACM-AIEE '57</ref><ref>Leiner, A. L., Smith, J. L., Notz, W. A., and Weinberger, A. 1958. PILOT, the NBS multicomputer system. In Papers and Discussions Presented At the December 3–5, 1958, Eastern Joint Computer Conference: Modern Computers: Objectives, Designs, Applications (Philadelphia, Pennsylvania, December 03–05, 1958). AIEE-ACM-IRE '58 (Eastern). ACM, New York, NY, 71-75.</ref><ref>Bauer, W. F. 1958. Computer design from the programmer's viewpoint. In Papers and Discussions Presented At the December 3–5, 1958, Eastern Joint Computer Conference: Modern Computers: Objectives, Designs, Applications (Philadelphia, Pennsylvania, December 03–05, 1958). AIEE-ACM-IRE '58 (Eastern). ACM, New York, NY, 46-51.</ref><ref>Leiner, A. L., Notz, W. A., Smith, J. L., and Weinberger, A. 1959. PILOT—A New Multiple Computer System. J. ACM 6, 3 (Jul. 1959), 313-335.</ref><ref>Estrin, G. 1960. [https://dl.acm.org/doi/abs/10.1145/1460361.1460365 Organization of computer systems: the fixed plus variable structure computer]. In Papers Presented At the May 3–5, 1960, Western Joint IRE-AIEE-ACM Computer Conference (San Francisco, California, May 03–05, 1960). IRE-AIEE-ACM '60 (Western). ACM, New York, NY, 33-40.</ref>
In the mid-1970s, research produced important advances in distributed computing. These breakthroughs provided a solid, stable foundation for efforts that continued through the 1990s.
One of the first efforts was the [[DYSEAC]], a general-purpose [[Synchronization (computer science)|synchronous]] computer. In one of the earliest publications of the [[Association for Computing Machinery]], in April 1954, a researcher at the [[National Bureau of Standards]]{{snd}} now the National [[nist|Institute of Standards and Technology]] ([[nist|NIST]]){{snd}} presented a detailed specification of the DYSEAC. The introduction focused upon the requirements of the intended applications, including flexible communications, but also mentioned other computers:
{{quoteblockquote|Finally, the external devices could even include other full-scale computers employing the same digital language as the DYSEAC. For example, the SEAC or other computers similar to it could be harnessed to the DYSEAC and by use of coordinated programs could be made to work together in mutual cooperation on a common task… Consequently[,] the computer can be used to coordinate the diverse activities of all the external devices into an effective ensemble operation.|ALAN L. LEINER|''System Specifications for the DYSEAC''}}
The specification discussed the architecture of multi-computer systems, preferring peer-to-peer rather than master-slave.
{{quoteblockquote|Each member of such an interconnected group of separate computers is free at any time to initiate and dispatch special control orders to any of its partners in the system. As a consequence, the supervisory control over the common task may initially be loosely distributed throughout the system and then temporarily concentrated in one computer, or even passed rapidly from one machine to the other as the need arises. …the various interruption facilities which have been described are based on mutual cooperation between the computer and the external devices subsidiary to it, and do not reflect merely a simple master-slave relationship.|ALAN L. LEINER|''System Specifications for the DYSEAC''}}
This is one of the earliest examples of a computer with distributed control. The [[United States Department of the Army|Dept. of the Army]] reports<ref>Martin H. Weik, "A Third Survey of Domestic Electronic Digital Computing Systems," Ballistic Research Laboratories Report No. 1115, pg. 234-5, Aberdeen Proving Ground, Maryland, March 1961</ref> certified it reliable and that it passed all acceptance tests in April 1954. It was completed and delivered on time, in May 1954. This was a "[[portable computer]]", housed in a [[Tractor-trailer#Types of trailers|tractor-trailer]], with 2 attendant vehicles and [[Refrigerator truck|6 tons of refrigeration]] capacity.
This [[Computer configuration|configuration]] was ideal for distributed systems. The constant-time projection through memory for storing and retrieval was inherently [[Atomic operation|atomic]] and [[Mutual exclusion|exclusive]]. The cellular memory's intrinsic distributed characteristics<!-- are these intrinsically distributed or merely abstract?--> would be invaluable. The impact on the [[User interface|user]], [[Computer hardware|hardware]]/[[Peripheral|device]], or [[Application programming interface]]s was indirect. The authors were considering distributed systems, stating:
{{quoteblockquote|We wanted to present here the basic ideas of a distributed logic system with... the macroscopic concept of logical design, away from scanning, from searching, from addressing, and from counting, is equally important. We must, at all cost, free ourselves from the burdens of detailed local problems which only befit a machine low on the evolutionary scale of machines.|Chung-Yeol (C. Y.) Lee|''Intercommunicating Cells, Basis for a Distributed Logic Computer''}}
===Foundational work===
:* or a process must establish exclusive access to a shared resource.
Improper synchronization can lead to multiple failure modes including loss of [[ACID|atomicity, consistency, isolation and durability]], [[Deadlock (computer science)|deadlock]], [[livelock]] and loss of [[serializability]].{{Citation needed|date=January 2012}}
===Flexibility===
===Effective and stable in multiple levels of complexity===
:Tessellation: Space-Time Partitioning in a Manycore Client OS.<ref>Rose Liu, Kevin Klues, and Sarah Bird, University of California at Berkeley; Steven Hofmeyr, Lawrence Berkeley National Laboratory; [[Krste Asanović]] and John Kubiatowicz, University of California at Berkeley. HotPar09.</ref>
==See also==
* [[{{annotated link|Distributed computing]]}}
* [[{{annotated link|HarmonyOS]]}}
* [[{{annotated link|OpenHarmony]]}}
* {{annotated link|BlueOS}}
* [[{{annotated link|Plan 9 from Bell Labs]]}}
* [[{{annotated link|Inferno (operating system)|Inferno]]}}
* [[MINIX]]
* {{annotated link|MINIX}}
* [[{{annotated link|Single system image]]}} (SSI)
* [[{{annotated link|Computer systems architecture]]}}
* [[{{annotated link|Multikernel]]}}
* [[{{annotated link|Operating System Projects]]}}
* [[{{annotated link|Edsger W. Dijkstra Prize in Distributed Computing]]}}
* [[List of distributed computing conferences]]
* [[{{annotated link|List of volunteerdistributed computing projects]]conferences}}
* {{annotated link|List of volunteer computing projects}}
==References==
-->
* {{curlie|Computers/Computer_Science/Distributed_Computing/|Distributed computing}}
* {{curlie|Computers/Computer_Science/Distributed_Computing/Publications/|Distributed computing journals}}
{{Distributed operating systems}}
|