This paper summarizes the state of the real-time field in the areas of scheduling and operating system kernels. Given the vast amount of work that has been done by both the operations research and computer science communities in the scheduling area, we discuss four paradigms underlying the scheduling approaches and present several exemplars of each. The four paradigms are: static tabledriven scheduling, static priority preemptive scheduling, dynamic planning-based scheduling, and dynamic best efSort scheduling. In the operating system context, we argue that most of the proprietary commercial kernels as well as real-time extensions to time-sharing operating system kernels do not fit the needs of predictable realtime systems. We discuss several research kernels that are currently being built to explicitly meet the needs of real-time applications. I. INTRODUCTION Real-time systems are defined as those systems in which the correctness of the system depends not only on the logical result of computation, but also on the time at which the results are produced. Examples of this type of real-time system are command and control systems, process control systems, flight control systems, the Space Shuttle avionics system, future systems such as the space station, spacebased defense systems such as SDI, and large command and control systems. A majority of today's systems assume that much of this knowledge is available a priori, and hence are based on static designs which contribute to their high cost and inflexibility. The next generation hard real-time systems must be designed to be dynamic, predictable, and flexible. When activities have timing constraints, as is typical of real-time computing systems, scheduling these activities to meet their timing constraints is one major problem that comes to mind. However, as we show in Section I1 of this paper, in spite of an extensive literature on Manuscript received July 13, 1993.This material is.