{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,11,13]],"date-time":"2023-11-13T00:06:59Z","timestamp":1699834019891},"reference-count":9,"publisher":"Wiley","issue":"9","license":[{"start":{"date-parts":[[2006,10,27]],"date-time":"2006-10-27T00:00:00Z","timestamp":1161907200000},"content-version":"vor","delay-in-days":9918,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1979,9]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Mutual exclusion and general synchronization of concurrent processes (\u2018tasks\u2019) are well\u2010known principles for constructing reliable real\u2010time systems. This paper shows how to implement these principles under a typical commercial operating system which provides incomplete synchronization operations. The problem of synchronizing erroneous tasks is discussed briefly.<\/jats:p>","DOI":"10.1002\/spe.4380090906","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T13:17:30Z","timestamp":1163769450000},"page":"729-740","source":"Crossref","is-referenced-by-count":3,"title":["Synchronization under a commercial operating system"],"prefix":"10.1002","volume":"9","author":[{"given":"J\u00f8rn","family":"Jensen","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"S\u00f8ren","family":"Lauesen","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"A. P.","family":"Ravn","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,27]]},"reference":[{"key":"e_1_2_1_2_2","volume-title":"The Architecture of Concurrent Programs","author":"Hansen P. Brinch","year":"1977"},{"key":"e_1_2_1_3_2","first-page":"329","volume-title":"Design principles for dedicated data collection programs","author":"Caprani O."},{"key":"e_1_2_1_4_2","first-page":"43","volume-title":"Programming Languages","author":"Dijkstra E. W.","year":"1968"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/363095.363143"},{"key":"e_1_2_1_6_2","volume-title":"Introduction to Operating System Design","author":"Habermann A. N.","year":"1976"},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/355620.361161"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/363095.363144"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/360881.360904"},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/361268.361272"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380090906","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380090906","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,11,12]],"date-time":"2023-11-12T11:24:25Z","timestamp":1699788265000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380090906"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1979,9]]},"references-count":9,"journal-issue":{"issue":"9","published-print":{"date-parts":[[1979,9]]}},"alternative-id":["10.1002\/spe.4380090906"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380090906","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1979,9]]}}}