{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:10:20Z","timestamp":1736640620027,"version":"3.32.0"},"reference-count":30,"publisher":"Wiley","issue":"11","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":6207,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1989,11]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Elmwood is an object\u2010oriented, multiprocessor operating system designed and implemented during a graduate seminar. It consists of a minimal kernel and a collection of user\u2010implemented services. The kernel provides two major abstractions:<jats:italic>objects<\/jats:italic>, which consist of code and data, and processes, which represent asynchronous activity. Objects, like programs, are passive. To operate on an abstraction or to request a service, processes invoke an<jats:italic>entry procedure<\/jats:italic>defined by the corresponding object. Objects implement their own protection and synchronization policies using minimal kernel mechanisms. We describe the Elmwood kernel interface, an implementation on the BBN Butterfly parallel processor, and our experiences in developing a multiprocessor operating system under rigid time constraints. These experiences illustrate several general lessons regarding kernel design and trade\u2010offs for implementation expedience.<\/jats:p>","DOI":"10.1002\/spe.4380191103","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T20:57:14Z","timestamp":1163797034000},"page":"1029-1055","source":"Crossref","is-referenced-by-count":2,"title":["The Elmwood multiprocessor operating system"],"prefix":"10.1002","volume":"19","author":[{"given":"Thomas J.","family":"Leblanc","sequence":"first","affiliation":[]},{"given":"John M.","family":"Mellor\u2010Crummey","sequence":"additional","affiliation":[]},{"given":"Neal M.","family":"Gafter","sequence":"additional","affiliation":[]},{"given":"Lawrence A.","family":"Crowl","sequence":"additional","affiliation":[]},{"given":"Peter C.","family":"Dibble","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","unstructured":"BBN Advanced Computers Inc. Chrysalis Programmers Manual Version 3.0 Cambridge MA May1987."},{"key":"e_1_2_1_3_2","unstructured":"M. L.Scott T. J.LeBlancandB. D.Marsh \u2018Design rationale for Psyche a general\u2010purpose multiprocessor operating system\u2019 Proc 1988 International Conference on Parallel Processing St. Charles IL August1988 pp.255\u2013262."},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-96717-7"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/359763.359771"},{"key":"e_1_2_1_6_2","doi-asserted-by":"crossref","unstructured":"L.Crowl \u2018Shared memory multiprocessors and sequential programming languages: a case study\u2019 Proc. Twenty\u2010First Annual Hawaii International Conference on System Sciences Kailua\u2010Kona HI January1988 pp.103\u2013108.","DOI":"10.1109\/HICSS.1988.11795"},{"key":"e_1_2_1_7_2","doi-asserted-by":"crossref","unstructured":"R. F.RashidandG. G.Robertson \u2018Accent: a communication oriented network operating system kernel\u2019 Proc. 8th ACM Symp. on Operating System Principles Pacific Grove CA December1981 pp.64\u201375.","DOI":"10.1145\/1067627.806593"},{"key":"e_1_2_1_8_2","doi-asserted-by":"crossref","unstructured":"F.Baskett J. H.HowardandJ. T.Montague \u2018Task communication in Demos\u2019 Proc. 6th ACM Symposium on Operating System Principles West Lafayette IN November1977 pp.23\u201331.","DOI":"10.1145\/1067625.806544"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/MS.1987.229791"},{"key":"e_1_2_1_10_2","unstructured":"M.Accetta R.Baron W.Bolosky D.Golub R.Rashid A.TevanianandM.Young \u2018Mach: a new kernel foundation for UNIX development\u2019 Proc. of the Summer 1986 USENIX Technical Conference and Exhibition Pittsburgh PA June1986."},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1985.231536"},{"key":"e_1_2_1_12_2","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/29.4.289"},{"key":"e_1_2_1_13_2","unstructured":"R. J.LeBlancandC. T.Wilkes \u2018Systems programming with objects and actions\u2019 Proc. 5th International Conference on Distributed Computing Systems Denver CO May1985 pp.132\u2013139."},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/6041.6074"},{"key":"e_1_2_1_15_2","unstructured":"A. S.Tanenbaum S. J.MullenderandR.van Renesse \u2018Using sparse capabilities in a distributed operating system\u2019 Proc. 6th International Conference on Distributed Computing Systems Cambridge MA May1986 pp.558\u2013563."},{"key":"e_1_2_1_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1987.232838"},{"key":"e_1_2_1_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/956653.956654"},{"volume-title":"Abstraction Mechanisms and Language Design","year":"1983","author":"Hilfinger P. N.","key":"e_1_2_1_18_2"},{"key":"e_1_2_1_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/358818.358824"},{"volume-title":"The Design and Implementation of the 4.3BSD UNIX Operating System","year":"1989","author":"Leffler S. J.","key":"e_1_2_1_20_2"},{"volume-title":"The An of Computer Programming: Volume 1, 2nd edn., Fundamental Algorithms","year":"1973","author":"Knuth D. E.","key":"e_1_2_1_21_2"},{"key":"e_1_2_1_22_2","doi-asserted-by":"publisher","DOI":"10.1002\/j.1538-7305.1984.tb00062.x"},{"key":"e_1_2_1_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/33447.33450"},{"key":"e_1_2_1_24_2","unstructured":"M. L.ScottandA. L.Cox \u2018An empirical study of message\u2010passing overhead\u2019 Proc. 7th International Conference on Distributed Computing Systems Berlin West Germany September1987 pp.536\u2013543."},{"volume-title":"Experiments with remote procedure call on the Butterfly","year":"1986","author":"Low J. R.","key":"e_1_2_1_25_2"},{"key":"e_1_2_1_26_2","doi-asserted-by":"crossref","unstructured":"R.Levin E.Cohen W.Corwin F.PollackandW.Wulf \u2018Policy\/mechanism separation in Hydra\u2019 Proc. 5th ACM Symposium on Operating System Principles Austin TX November1975 pp.132\u2013140.","DOI":"10.1145\/1067629.806531"},{"key":"e_1_2_1_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/359060.359074"},{"key":"e_1_2_1_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/360881.360913"},{"key":"e_1_2_1_29_2","doi-asserted-by":"crossref","unstructured":"B. W.Lampson \u2018Hints for computer system design\u2019 Proc. 9th ACM Syntp. on Operating System Principles Bretton Woods NH November1983 pp.33\u201348.","DOI":"10.1145\/773379.806614"},{"key":"e_1_2_1_30_2","unstructured":"G. R.Pfister W. C.Brantley D. A.George S. L.Harvey W. J.Kleinfelder K. P.McAuliffe E. A.Melton V. A.NortonandJ.Weiss \u2018The IBM research parallel processor prototype (RP3): introduction and architecture\u2019 Proc. 1985 International Conference on Parallel Processing St. Charles IL August1985 pp.764\u2013771."},{"key":"e_1_2_1_31_2","doi-asserted-by":"crossref","unstructured":"J.Edler A.Gottlieb C. P.Kruskal K. P.McAuliffe L.Rudolph M.Snir P. J.TellerandJ.Wilson \u2018Issues related to MIMD shared\u2010memory computers: the NYU Ultracomputer approach\u2019 Proc. 12th Annual International Symposium on Computer Architecture Boston MA June1985 pp.126\u2013135.","DOI":"10.1145\/327070.327143"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380191103","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380191103","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,11]],"date-time":"2025-01-11T23:57:36Z","timestamp":1736639856000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380191103"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1989,11]]},"references-count":30,"journal-issue":{"issue":"11","published-print":{"date-parts":[[1989,11]]}},"alternative-id":["10.1002\/spe.4380191103"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380191103","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"type":"print","value":"0038-0644"},{"type":"electronic","value":"1097-024X"}],"subject":[],"published":{"date-parts":[[1989,11]]}}}