Xref: utzoo ont.events:1289 uw.talks:15 uw.cs.grad:19 Path: utzoo!attcan!utgpu!watmath!watdragon!daemon From: daemon@watdragon.waterloo.edu (Owner of Many System Processes) Newsgroups: ont.events,uw.talks,uw.cs.grad Subject: MASTER'S THESIS PRESENTATION Keywords: Mr. Michel Fortier, graduate student, Message-ID: <16247@watdragon.waterloo.edu> Date: 6 Sep 89 14:53:42 GMT Distribution: ont Organization: U of Waterloo, Ontario Lines: 58 Dept. of Computer Science, will speak on ``Study of Monitors.'' From: wlrush@poppy.waterloo.edu (Wenchantress Wench Wendall) Path: poppy!wlrush DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF WATERLOO SEMINAR ACTIVITIES MASTER'S THESIS PRESENTATION -Friday, September 8, 1989 Mr. Michel Fortier, graduate student, Dept. of Computer Science, will speak on ``Study of Monitors.'' TIME: 2:00 p.m. ROOM: DC 1304 In the design of a concurrent system, problems of synchronization and communication of processes can be solve by using monitors. Over the past 15 years several different kinds of monitors have been investigated. A taxonomy is presented that encompasses all these traditional monitors and suggests others not found in the literature or in existing programming languages. The classification scheme is based on a single criterion - the scheduling of processes waiting to use the monitor which occurs after a wait, after a signal and at the exit of the monitor. It identifies a total of nine different primitive monitor types: six signal monitors based on categorizations of blocking/nonblocking signal and priority of resumption, two based on immediate return signal and priority of resumption, and two based on an automatic- signal mechanism and priority of resumption. An attempt is made to give some empirical discussion and analytical results about the classification criterion that suggest that some monitor types, although functionally equivalent, are better than other types. In particular, the priority-nonblocking monitor has properties that suggest it is better than the others. All the monitor types have been implemented in C language. By having the different monitor types in one language, it was possible to run tests to compare them. An animation facility has been implemented to visualize the different types of monitors by showing process movement on entry queues, on condition variables and in and out of the monitor. With this tool, it is possible to see the differences in the monnitors as well as deadlock and bottlenecks.