Monitors: An Operating System Structuring Concept

Monitors: An Operating System Structuring Concept

October 1974 | C.A.R. Hoare
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. Examples include a single resource scheduler, a bounded buffer, an alarm clock, a buffer pool, a disk head optimizer, and a version of the readers and writers problem. The paper discusses the use of monitors in operating systems, emphasizing their role in resource allocation and scheduling. Monitors are described as a way to structure an operating system, with procedures and data local to each monitor. The paper introduces condition variables, which are used to manage waiting and signaling between processes. It also discusses the implementation of monitors using semaphores and the use of condition variables to manage synchronization. The paper presents several examples of monitors, including a bounded buffer, an alarm clock, and a disk head scheduler. These examples illustrate the use of monitors in managing shared resources and ensuring mutual exclusion. The paper also discusses the use of monitors in managing the readers and writers problem, where multiple readers can access a resource simultaneously, but writers require exclusive access. The paper concludes that monitors are a suitable concept for structuring an operating system, as they provide a way to manage shared resources and ensure synchronization. The paper also discusses the challenges of implementing monitors and the importance of proper scheduling to avoid issues such as indefinite waiting and deadlock. The paper suggests that monitors can be used to achieve efficient and reliable resource management in operating systems.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. Examples include a single resource scheduler, a bounded buffer, an alarm clock, a buffer pool, a disk head optimizer, and a version of the readers and writers problem. The paper discusses the use of monitors in operating systems, emphasizing their role in resource allocation and scheduling. Monitors are described as a way to structure an operating system, with procedures and data local to each monitor. The paper introduces condition variables, which are used to manage waiting and signaling between processes. It also discusses the implementation of monitors using semaphores and the use of condition variables to manage synchronization. The paper presents several examples of monitors, including a bounded buffer, an alarm clock, and a disk head scheduler. These examples illustrate the use of monitors in managing shared resources and ensuring mutual exclusion. The paper also discusses the use of monitors in managing the readers and writers problem, where multiple readers can access a resource simultaneously, but writers require exclusive access. The paper concludes that monitors are a suitable concept for structuring an operating system, as they provide a way to manage shared resources and ensure synchronization. The paper also discusses the challenges of implementing monitors and the importance of proper scheduling to avoid issues such as indefinite waiting and deadlock. The paper suggests that monitors can be used to achieve efficient and reliable resource management in operating systems.
Reach us at info@study.space
Understanding Monitors%3A an operating system structuring concept