{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,19]],"date-time":"2023-10-19T23:41:03Z","timestamp":1697758863394},"reference-count":14,"publisher":"Wiley","issue":"8","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":8125,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1984,8]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Resource manager objects are the operating system entities that manage computer system resources. In this paper we extend Hoare's and Brinch Hansen's monitor concept, and introduce a <jats:italic>resource monitor<\/jats:italic> language construct that represents a resource manager object. Resource monitors provide requesting processes with implicit synchronization, and do not require separate processes to perform the resource access operations. The resource monitor construct is compared to current language constructs used to structure operating system software. For this purpose we use an evaluation methodology that combines software complexity measurements with program performance measurements. The evaluation itself is carried out in a Concurrent Pascal\u2010like programming environment. The current language constructs have a software complexity that is larger by 37 to 219 per cent over the resource monitor's complexity. The run\u2010time synchronization overhead of programs that use current language constructs is 1.43 to 2.75 times higher than the overhead of programs that use a resource monitor.<\/jats:p>","DOI":"10.1002\/spe.4380140808","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T03:27:34Z","timestamp":1163820454000},"page":"791-806","source":"Crossref","is-referenced-by-count":2,"title":["Resource monitors: A design methodology for operating systems"],"prefix":"10.1002","volume":"14","author":[{"given":"Ariel","family":"Pashtan","sequence":"first","affiliation":[]},{"given":"Elizabeth A.","family":"Unger","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","first-page":"3","volume-title":"The object model: a conceptual tool for structuring software","author":"Jones A. K.","year":"1978"},{"key":"e_1_2_1_3_2","doi-asserted-by":"crossref","unstructured":"A.Pashtan \u2018Object oriented operating systems: an emerging design methodology\u2019 Proc. ACM '82 Annual Conference October1982 pp.126\u2013131.","DOI":"10.1145\/800174.809777"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/355620.361161"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/850657.850658"},{"key":"e_1_2_1_6_2","first-page":"252","volume-title":"Lecture Notes in Computer Science","author":"Lagally K.","year":"1978"},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380070102"},{"key":"e_1_2_1_8_2","volume-title":"Structured Concurrent Programming with Operating Systems Applications","author":"Holt R. C.","year":"1978"},{"key":"e_1_2_1_9_2","volume-title":"The Architecture of Concurrent Programs","author":"Hansen P. Brinch","year":"1977"},{"key":"e_1_2_1_10_2","doi-asserted-by":"crossref","unstructured":"R.AtkinsonandC.Hewitt \u2018Synchronization in actor systems\u2019 Proc. Fourth ACM Symp. Principles of Programming Languages 1977 pp.267\u2013280.","DOI":"10.1145\/512950.512975"},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/775406.775407"},{"key":"e_1_2_1_12_2","volume-title":"Elements of Software Science","author":"Halstead M. H.","year":"1977"},{"key":"e_1_2_1_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1983.236460"},{"key":"e_1_2_1_14_2","first-page":"56","volume-title":"Statistical Methods","author":"Snedecor G. W.","year":"1980"},{"key":"e_1_2_1_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/947783.948654"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380140808","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380140808","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,19]],"date-time":"2023-10-19T22:59:41Z","timestamp":1697756381000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380140808"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1984,8]]},"references-count":14,"journal-issue":{"issue":"8","published-print":{"date-parts":[[1984,8]]}},"alternative-id":["10.1002\/spe.4380140808"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380140808","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1984,8]]}}}