Abstract
This paper considers whether Hoare's monitor proposal for structuring operating systems could usefully be applied in the design of substantial operating systems for medium or large computers. Attention is drawn to problems which might arise in terms of the structural form of monitors, the approach to resource scheduling, and the monitor approach to synekrordsation and process scheduling. An appended note considers the related technique proposed by Wirth in the Modula language.
- BURROUGHS (1970), Burroughs B6700 Master Control Program Information Manual.]]Google Scholar
- BRINCH HANSEN, P. (1972), "Structured Multiprogramming", Comm. A.C.M., Vol. 15, No. 7, p 574.]] Google ScholarDigital Library
- BRINCH HANSEN, P. (1973), "Operating System Principles", Prentice-Hall, Englewood Cliffs, N.J., 1973.]] Google ScholarDigital Library
- BRINCH HANSEN, P. (1975), "The Purpose of Concurrent Pascal", Proceedings of the International Conference on Reliable Software, April, 1975, Los Angeles, in: A.C.M. Sigplan Notices, Vol. 10, No. 6, p 305.]] Google ScholarDigital Library
- BRINCH HANSEN, P. (1976), "The Solo Operating System", Software -- Practice and Experience, Vol. 6, p 141.]]Google ScholarCross Ref
- DAHL, O.J., MYHRHAUG, B. and NYGAARD, K. (1968), "The Simula 67 Common Base Language", Norwegian Computer Centre, Oslo, 1968.]] Google ScholarDigital Library
- DENNING, P.J. (1976), "Fault Tolerant Operating Systems", ACM Computing Surveys, Vol. 8, No. 4, p 359.]] Google ScholarDigital Library
- DIJKSTRA, E.W. (1968a), "Cooperating Sequential Processes" in: Languages, ed. F. Genuys, p 43, Academic Press, London.]]Google Scholar
- DIJKSTRA, E.W. (1968b), "The Structure of the 'THE' -- Multiprogramming System", Comm. A.C.M., Vol. 11, No. 3, p 341.]] Google ScholarDigital Library
- HOARE, C.A.R. (1972a), "'Operating Systems: Their Purpose, Objectives, Functions and Scope", in: Operating System Techniques, eds. C.A.R. Hoare and R.H. Perrott, p 11, Academic Press, London.]]Google Scholar
- HOARE, C.A.R. (1972b), "Proof of Correctness of Data Representations", Acta Informatica, Vol. 1, p 271.]]Google ScholarDigital Library
- HOARE, C.A.R. (1974), "Monitors: An Operating System Structuring Concept", Comm. A.C.M., Vol. 17, No. 10, p 549. p 549.]] Google ScholarDigital Library
- IBM (1967), "Operating System/360 Concepts and Facilities", in: Programming Systems and Languages, ed. S. Rosen, p 598, McGraw-Hill Book Company, New York.]]Google Scholar
- JENSEN, K. and WIRTH, N. (1975), "PASCAL -- User Manual and Report", Springer-Verlag, 2nd Ed., New York, 1975.]] Google ScholarDigital Library
- JOHNSON,, R.T. and MORRIS, J.B. (1976), "Abstract Data Types in the MODEL Programming Language". Proceedings of the Conference on Data: Abstraction, Definition and Structure, March, 1976, Salt Lake City, in: A.C.M. Sigplan Notices, Vol. 11, 1976, Special Issue, p 36.]] Google ScholarDigital Library
- KEEDY, J.L. (1976), "The Management and Technological Approach to the Design of System B", Proceedings o f the 7th Australian Computer Conference, Perth, 1976, Vol. 2, p 997.]]Google Scholar
- KEEDY, J.L. (1977), "An Outline of the ICL2900 Series System Architecture", Australian Computer Journal, Vol. 9, No. 2, p 53.]]Google Scholar
- KEEDY, J.L., RAMAMOHANARAO, K. and ROSENBERG, J. (1977), "On Implementing Semaphores with Sets", Dept of Computer Science, Monash University, Clayton, Vic., 3168.]]Google Scholar
- LANDY, B. (1971), "Development of Scheduling Strategies in the TITAN Operating System", Software -- Practice and Experience, Vol. 1, p 279.]]Google ScholarCross Ref
- LISKOV, B. and ZILLES, S. (1974), "Programming with Abstract Data Types", Proceedings of the A.C.M. Sigplan Conference on Very High Level Languages in: A.C.M. Sitgplan Notices, Vol. 9, No. 4, p 50.]] Google ScholarDigital Library
- LISTER, A.M. and MAYNARD, K.J. (1976), "An Implementation ot Monitors", Software -- Practice and Experience, Vol. 6, p 377.]]Google ScholarCross Ref
- ORGANICK, E.I. (1972), "The Multics System: An Examination of its Structure", MIT Press, Cambridge, Mass. and London, England.]] Google ScholarDigital Library
- PARNAS, D.L. (1971): "Information Distribution Aspects of Design Methodology", IFIP Congress 71, Booklet TA-3, p 26.]]Google Scholar
- PARNAS, D.L. (1972a), "A Technique for Software Module Specification with Examples", Comm. A.C.M., Vol. 15, No. 5, p 330.]] Google ScholarDigital Library
- PARNAS, D.L. (1972b), "On the Criteria to be Used in Decomposing Systems into Modules", Comm. A.C.M., Vol. 15, No. 12, p 1053.]] Google ScholarDigital Library
- PARNAS, D.L. (1975a), "The Influence of Software Structure on Reliability", Proceedings of the International Conference on Reliable Software, April, 1975, Los Angeles, in: A.C.M. Sigplan Notices, Vol. 10, No. 6, p 358.]] Google ScholarDigital Library
- PARNAS, D.L. (1975b), "Use of the Concept of Transparency in the Design of Hierarchially Structured Systems", Comm. A.C.M., Vol. 18, No. 7, p 401.]] Google ScholarDigital Library
- SAXENA, A.R. and BREDT, T.H. (1975), "A Structured Specification of a Hierarchial Operating System", Proceedings of the International Conference on Reliable Software, April 1975. Los Angeles. in: A.C.M. Sigplan Notices, Vol. 10, No. 6, p310.]] Google ScholarDigital Library
- SHRIVASTAVA, S.K. (1976), "Systematic Programming of Scheduling Algorithms", Software -- Practice and Experience, Vol. 6, p 357.]]Google ScholarCross Ref
- SILBERSCHATZ, A., KIEBURTZ, R.B. and BERNSTEIN, A.J. (1977), "Extending Concurrent Pascal to Allow Dynamic Resource Management", IEEE Transactions on Software Engineering, Vol. SE-3. No. 3, p 210.]] Google ScholarDigital Library
- WILSON, R. (1976), "The TITAN Supervisor" in Studies in Operating Systems by R.M. McKeag and R. Wilson, ed. D.H.R. Hustable, p 185, Academic Press, London.]]Google Scholar
- WIRTH, N. (1977a), "Modula: A Language for Modular Multiprogramming", Software -- Practice and Experience, Vol. 7, p 3.]]Google ScholarCross Ref
- WIRTH, N. (1977b), "The Use of Modula", Software -- Practice and Experience, Vol. 7,, p 37.]]Google ScholarCross Ref
- WIRTH, N. (1977c), "Design and Implementation of Modula", Software -- Practice and Experience, Vol. 7, p 67.]]Google ScholarCross Ref
- WULF, W.A., LONDON, R.L. and SHAW, M. (1976), "Abstraction and Verification in Alphard: Introduction to Language and Methodology", Dept of Computer Science, Carnegie-Mellon University, June, 1976.]]Google ScholarCross Ref
Recommendations
Monitors: an operating system structuring concept
This paper develops Brinch-Hansen's concept of a monitor as a method of structuring an operating system. It introduces a form of synchronization, describes a possible method of implementation in terms of semaphores and gives a suitable proof rule. ...
The programming language Concurrent Pascal
The paper describes a new programming language for structured programming of computer operating systems. It extends the sequential programming language Pascal with concurrent programming tools called processes and monitors. Section I explains these ...
Tools for teaching CCRs, monitors, and CSP concurrent programming concepts
This paper describes three preprocessors that, respectively, convert conditional critical region (CCR) notation, monitor notation, and Communicating Sequential Processes (CSP) notation into equivalent programs written in the SR concurrent programming ...
Comments