Implementation of Adaptive Partition Scheduling in Linux
摘要
Linux is an open-source operating system that provides multiple distributions which cover various users’ needs. It has gained substantial popularity since its release and it is present in personal computers, embedded systems such as the Raspberry Pi, smartphones and even gaming consoles. An area, where Linux is not often present, is in the field of real-time systems because it cannot meet the performance and security requirements to run effectively on them. The Completely Fair Scheduler present in Linux is not capable to handle critical-time processes and ensure that such processes can execute and finish at strict time intervals. The Adaptive Partition Scheduler module, presented in this paper, offers a solution to this problem, which is similar to that present in the QNX Neutrino operating system. The aim of such a module is to divide the CPU time between multiple adaptive partitions, each holding a percentage of the CPU resources, called budget. This approach optimizes the usage of the CPU and offers additional protection against Infrastructure layer and Application layer attacks, which can be beneficial for systems demanding functional safety such as the instrumental clusters in the automotive industry. The purpose of this paper is to present a custom-implemented Linux kernel module for Adaptive Partition Scheduling.