Reconciling Real-Time and ÒFair'Ò Scheduling TR88-024 Bill O. Gallmeister Multiprogramming operating systems which support both real-time and non-real-time processes are called Ósoft- real-time'Ò systems. In such systems, process scheduling is problematic, because there are two qualitatively different classes of processes requiring scheduling. If the scheduling algorithm is designed to favor one class of processes, it will probably not treat the other class of processes fairly. For instance, priority-based schedulers are considered fair to non-real-time processes, but lead to unreliable real-time systems [3,2]. Conversely, deadline-based schedulers suffice to run real-time processes but will starve non-real-time processes, which have no deadline. The common conception is that real-time responsiveness and fair multiprogramming are mutually exclusive. I hold that this concept is wrong, because our concept of Òfairness'Ò is wrong. I propose a unifying model of processes under which so-called ``real-time'' and non- real-time'' processes are merely different instances of the same sort of object, with different attribute values. Under this unifying scheme, all processes can be treated fairly while still preserving real-time responsiveness.