Real-Time in Plan 9: a short Overview

By Pierre G. Jansen and Sape Mullender

When shared resources are involved, scheduling in current hard real-time operating systems, too often has its timely behaviour guaranteed at the cost of a rather complicated administration. We will show that we can improve this considerably by using methods based on so-called Real-Time Transactions (RTTs). A RTT is a task that has guaranteed the use of all needed resources after it has started, without ever having to wait for the resources' release; an RTT is only started if these resources are free. RTTs allow for a complete separation of a real-time application and its involved system support. Scheduling, (shared) resource synchronisation and admission control is executed automatically by the underlying system, while an application programmer only needs to specify timing constraints (deadline, period, runtime) and resource needs. We will discuss the implementation of RTTs within Plan 9 as used at Bell-labs, and we will illustrate the straightforward and elegant use of our transaction scheduling theory. 1.