Programming OS Schedulers with Domain-Specific Languages and Aspects: New Approaches for OS Kernel Engineering∗

There is a continuous demand for new scheduling policies to address specific requirements of modern OSes. However, the implementation of such policies within an existing OS kernel raises many problems, mainly because optimizations within schedulers hinder code maintenance and implementation of existing schedulers is spread over the kernel. In this paper we motivate that schedulers form an aspect within OS kernels. We show how the DSL of the Bossa system for the definition of scheduling policies and its runtime support can be integrated with a framework for Aspect-Oriented Programming, Eventbased AOP. Finally, we discuss the generalization of AOP-based techniques to other OS kernel modules.

[1]  Banu Özden,et al.  Move-to-rear list scheduling: a new scheduling algorithm for providing QoS guarantees , 1997, MULTIMEDIA '97.

[2]  David R. Cheriton,et al.  Borrowed-virtual-time (BVT) scheduling: supporting latency-sensitive threads in a general-purpose scheduler , 1999, OPSR.

[3]  Kang G. Shin,et al.  Real-time dynamic voltage scaling for low-power embedded operating systems , 2001, SOSP.

[4]  Laurent Réveillère,et al.  Towards robust OSes for appliances: a new approach based on domain-specific languages , 2000, ACM SIGOPS European Workshop.

[5]  Gregor Kiczales,et al.  Using aspectC to improve the modularity of path-specific customization in operating system code , 2001, ESEC/FSE-9.

[6]  Jason Nieh,et al.  The design, implementation and evaluation of SMART: a scheduler for multimedia applications , 2001 .

[7]  Youngsoo Shin,et al.  Power conscious fixed priority scheduling for hard real-time systems , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[8]  Olivier Motelet,et al.  A Formal Definition of Crosscuts , 2001, Reflection.

[9]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[10]  Klara Nahrstedt,et al.  CPU service classes for multimedia applications , 1999, Proceedings IEEE International Conference on Multimedia Computing and Systems.

[11]  David K. Y. Yau,et al.  Adaptive rate-controlled scheduling for multimedia applications , 1997, TNET.

[12]  Alan Jay Smith,et al.  Scheduling techniques for reducing processor energy use in MacOS , 1997, Wirel. Networks.

[13]  Helen Custer,et al.  Inside Windows NT , 1992 .