A course project to design and implement the kernel of a real-time operating system

  • Authors:
  • Barry L. Kurtz;Joseph J. Pfeiffer, Jr.

  • Affiliations:
  • Computer Science Department, Box 3CU, New Mexico State University, Las Cruces, NM;Computer Science Department, Box 3CU, New Mexico State University, Las Cruces, NM

  • Venue:
  • SIGCSE '87 Proceedings of the eighteenth SIGCSE technical symposium on Computer science education
  • Year:
  • 1987

Quantified Score

Hi-index 0.00

Visualization

Abstract

There is a desperate lack of training in real-time programming in the computer science curriculum. At best, students may write an interrupt driven program in an assembly language course. As a result, a majority of real-time programming in industry is done by enginers who understand hardware but have little training in program development for complex software systems. This paper describes a course project that can be used in an operating systems course or a course in real-time software design. The project development proceeds from the core of a real-time kernel outward to user calls to the kernel. The major components of this project are: the underlying data structures, the scheduler, input and output device drivers, programmer's interfaces to the system, and a series of user programs exercising the system. The original course was developed for an industrial environment where it proved to be quite successful. The project has been adapted for for use both in an operating systems course and a special topics course in real-time programming.