Code: CS481

Description (from catalog):

The operating system controls the computer itself and provides a useful interface for users and application programs. The operating system controls all the computer resources: processors, main storage, secondary storage, I/O devices, and files. It determines which programs will be in memory at any given time and the order in which programs will run. The operating system should resolve conflicts between processes, attempt to optimize the performance of the computer, allow the computer to communicate with other computers, and maintain a record of actions performed as it goes about its system tasks. This course investigates the basic design issues encountered in order to produce an operating system that can address the above problems in an efficient manner. These concepts are reinforced by a series of programming projects that include both design and implementation.

Course Director:

  • Fall 2017 (25 students)
  • Fall 2018 (38 students)

Semesters Taught:

  • Fall 2016 - 18 Students
  • Fall 2017 - 25 Students (2 sections)
  • Fall 2018 - 11 Students


  • William Stallings. Operating Systems: Internals and Design Principles. Prentice Hall Press, Upper Saddle River, NJ, USA, 8th edition, 2015. ISBN: 978-0133805918, purchase
  • Brian W. Kernighan and Dennis M. Ritchie. The C Programming Language. Prentice Hall Professional Technical Reference, 2nd edition, 1988. ISBN: 978-0131103627, purchase