ABSTRACT

Multiprocessor systems have become commonplace, providing increased levels of performance to a broad range of software applications that span the desktop to the data center. At the same time, applications have become increasingly sophisticated, imposing new demands on the operating systems that harness the power of these machines. One such class of applications are real-time applications, which do not necessarily demand speed, as much as they demand the timeliness and predictability of the execution of the underlying computational tasks. Examples of such applications abound. They include applications requiring dedicated hardware systems such as manufacturing process controls, aircraft avionics, and robotics. They also include various multimedia applications-such as videoconferencing, collaborative work, and online gaming-that are now proliferating on desktops and servers and that coexist, and share system resources, with traditional nonreal-time applications.