A structured approach to teaching operating systems principles using a high level concurrent programming language

  • Authors:
  • R. J. Fornaro;K. P. Garrard;E. M. Uzzle

  • Affiliations:
  • North Carolina State University, Computer Science Department, Raleigh, North Carolina;North Carolina State University, Computer Science Department, Raleigh, North Carolina;North Carolina State University, Computer Science Department, Raleigh, North Carolina

  • Venue:
  • SIGCSE '83 Proceedings of the fourteenth SIGCSE technical symposium on Computer science education
  • Year:
  • 1983

Quantified Score

Hi-index 0.00

Visualization

Abstract

The educational objectives of two upper level operating systems courses are discussed. The instructional environment in which these courses are taught is also described. The primary goal is to expose students to all of the important issues involved in designing and implementing operating systems. Students should start with the architecture of the target machine and proceed through to an implementation of some functioning operating system. This is a difficult task to achieve in the confines of a single semester. However, a careful choice of software exercises that start very simply and build on each other to illustrate important points, and a high level language facility for writing operating system programs have combined to produce a successful experiment. This technique is applied in a senior level Computer Science course on Operating Systems Principles and a graduate level course on Real Time Systems. The program development system described is not only a good educational tool, but also provides a vehicle for research in comparing concurrency constructs in languages and the performance and architectural implications of concurrent programs.