CS 503 Spring 2012

HW 1: Process Management (70 pts)

Due: Wednesday 02/22/2012, 11:59 PM

Problem (30 + 20 + 20 pts)

  1. Solaris supports real-time (RT) processes by allowing them to occupy the priority range 100-159. Timeshare (TS) processes occupy range 0-59 and system processes run with priorities in the range 60-99. As discussed in class, the Solaris scheduler, when invoked, picks a highest ready process to run. Sketch the design of a real-time scheduler that implements RMS on top of Solaris's legacy scheduler. That is, the RMS scheduler is "virtual" in the sense that the Solaris kernel is not modified and RMS is emulated on top of Solaris's native scheduler. Discuss the accuracy and overhead of the resultant RMS-over-Solaris scheduler when compared to a kernel-level implementation of RMS. Can the same design be ported to run EDF? If so, describe how, if not, discuss why not.
  2. Suppose you decided to implement RMS in a modern kernel aimed at supporting hard real-time MPEG video playback at a given frame rate (e.g., 30 fps). What are the main technical hurdles to transferring the theory to practice such that hard real-time playback is guaranteed? Which of the hurdles are kernel design related and which are more algorithmic/application oriented? How would you go about tackling the technical challenges? Assess the "goodness" of the resultant system.
  3. As a continuation of Problem 2, propose a method, including "interface," through which real-time RMS and EDF scheduling may be exported to the user as a kernel service. You need to consider both the syntactic as well as semantic aspects of the proposed method where the latter is more subtle and complex. When designing kernel support for RMS/EDF scheduling for use in desktop operating systems, you will need to consider what impact real-time RMD/EDF processes may have on the rest of the system.

Write your answers in a file named HW1Answers.txt or HW1Answers.pdf. Please place this file in the system/ directory and turn it in, along with the lab programming assignment.


Back to the CS 503 web page