Back to Search Start Over

A domain specific language for process scheduling

Authors :
Daniel Rohrig
Source :
SAC
Publication Year :
2014
Publisher :
ACM, 2014.

Abstract

Process scheduling is one of the main tasks of an operating system. It enables multi-tasking, ensures fairness in processing resource distribution among processes and has a significant influence on the power consumption of a system. To ensure those requirements is a complex task and results in a huge amount of code (e.g. about 13000 lines of code in the Linux kernel), which is hard to understand and maintain, not to mention to enhance and improve. Taking Linux as an example, its community tackled that issue by introducing scheduler classes [1]. These classes are scheduler modules where only a certain set of predefined functions need to be implemented. The "Completely Fair Scheduler" and the "POSIX Fixed-Priority Real-Time Scheduler" -- that come with every kernel since version 2.6.23 -- are examples of these scheduler classes. However, these classes are still pretty complex and it is hard to integrate new functionality like event listeners that alter the scheduling algorithm on certain events (e.g. energy consumption goes up).

Details

Database :
OpenAIRE
Journal :
Proceedings of the 29th Annual ACM Symposium on Applied Computing
Accession number :
edsair.doi...........43522076a5765b54daefbd00611cdd9d
Full Text :
https://doi.org/10.1145/2554850.2555187