MECHANISMS FOR SPECIFYING SCHEDULING POLICIES
Original Publication Date: 1899-Dec-30
Included in the Prior Art Database: 2007-Apr-12
Software Patent Institute
Schneider, F.B.: AUTHOR [+3]
F. 8. Schneider A. J. Bernstefn
MECHANISMS FOR SPECIFYING
F. B. Schneider and
A. J. Bernstein
F. B. Schneider?
A. J. Bernstein
Jan. 8, 1979
Ex tensions t o concur rent prog rarnrn f ng languages are presented which allow control of scheduling policies previously defined by the run-time support system. It is shown that the use of these mechanisms simplifies t h e solutions of concurrent programming problems. In addition, the p r o p s e d extensions allow easy identification of those aspects of a program concerned with perfor- mance, thereby making programs easier t o read and understand.
Keywords: ,.Concurrent Paszal, Monitors, Cc .ilnunicat-
ing Sequential Processes, Operating Systems, Scheduling Algorithms.
* T h i s work is partially supported b y NSF grant NCS
76-fl4828 and MCS 76-223Gfl.
1. Computer Science Department, Upson .Hall, Cornell Univer- sity, Ithaca, New York 14853.
2. Department of Computer Science, S.U.N.Y. a t Stony Brook, Stony Brook, New York 11?94.
help t a enforce, various correctness criteria. For example, fn Concurrent Pascal access to variables declared wlthin a monitor is guaranteed to be eutually exclusive. It follows from this and certain syntactic constraints of the language that a l l shared data in a Concurrent Pascal program i s pro- tected from simultaneous access fBecn781 fBr in751.
The guarded command language proposal of Dijkstra fDijk761 provides another illustration of the trend to make explicit various correctness crlterla. Central to this
It is wsfl known that the construction of software is language proposal is the enumeration of the logical precvn- made considerably easier by the use of high level languages. ditions necessary before the execution of a cornman+ can Prograins written in htgh level languages are easier to proceed. A guarded command has the form:
understand, modify (hence malntainl and formally verify than
their assrz~tly Ianquage Counterparts. Consequently, a 4006
d e ~ l OF research has been devoted to the definition of high where GI the guard, is a boolean expression, and C Is a com- level languages suitable for various environments and appli- mand list. C is only executed provided G is true. GuardeC cations. Of particular interest hare are those languages commands may be combined into an alternative command having and language proposals intended for writing asynchronous the form (the notation in [Hoar781 is used)
systems. Notable examples of such languages are Concurrent
Pascal rBrin751 and ~odulo [Wirt771, which are based on the
mcnitor construct IBrin77l IHoar741, and the language p...