Language Design for Implementing Process Scheduling Hierarchies (Invited Paper)
Julia Lawall, Gilles Muller · Research at the University of Copenhagen (University of Copenhagen) · 2004
Standard operating systems provide only a single fixed scheduler, which does not meet all possible application scheduling needs. More flexibility can be achieved using a hierarchy of schedulers, allowing multiple schedulers to coexist in a single operating system (OS). Bossa is a framework for facilitating the implementation and deployment of OS process schedulers. In this paper, we describe the features of Bossa that enable the creation and management of a scheduling hierarchy. These features include a domain-specific language for implementing schedulers and a type system for describing requirements on scheduler behavior. The use of the domainspecific language eases scheduler development and enables scheduler verification. We have found that the approach allows programmers, even students who are not kernel or scheduling experts, to easily and safely implement and deploy schedulers that meet specific application needs. Categories and Subject Descriptors D.3.2 [Programming Languages]: Language Classifications—Specialized application languages; D.4.1 [Operating