Virtual-CPU Scheduling in the Quest Operating System
This paper describes the scheduling framework for a new operating system called "Quest." The three main goals of Quest are to ensure safety, predictability and efficiency of software execution. For this paper, the authors focus on one aspect of predictability, involving the integrated management of tasks and I/O events such as interrupts. Quest's scheduling infrastructure is based around the concept of a Virtual CPU (VCPU). Using both Main and I/O VCPUs, they are able to separate the CPU bandwidth consumed by tasks from that used to complete I/O processing. They introduce a priority-inheritance bandwidth-preserving server policy for I/O management, called PIBS.