CPSC 405 - OS and Systems Programming

Catalog Description: CPSC 405 - Operating Systems and Systems Programming (4 Credits) Prerequisites: CPSC 305 and CPSC 340. This course examines the abstractions above the hardware that make a computer usable to both programmers and users. These abstractions include processes, context switching, concurrent programming, semaphores, virtual addressing, transactions, access control, and virtualization. Many of these abstractions are the foundation for operating systems kernel development. The abstractions are also applicable to any large-scale programming project. Programming intensive.

Xv6 is a teaching OS based on Unix V6, which was a somewhat famous version of Unix in the late 1970's. Xv6 is big enough to illustrate the basic design and implementation ideas in operating systems. On the other hand, Xv6 is far smaller than any modern production OS, and correspondingly easier to understand. Xv6 has a structure similar to many modern operating systems; once you've explored Xv6 you will find that much is familiar inside kernels such as Linux.

Acknowledgements

I am basing this course on MIT's Operating System Class, which is part of the Parallel and Distributed Operating Systems (PDOS) section. In addition to the MIT material, I am also using material from OS Three Easy Pieces.

References can be found on the References Web Page

The MIT course number is PDOS 6.1810. The next two paragraphs are from the MIT PDOS Xv6 Website Fall 2023

6.1810 would not exist today had it not been for a wonderful set of past TAs (Josh Cates, Austin Clements, Russ Cox, Cody Cutler, Bryan Ford, Max Krohn, Emil Sit, Jonathan Behrens, and Anish Athalye). They made this class a reality. Collectively we dedicate 6.1810 to the memory of Josh Cates; we hope that many students will be inspired by Josh's enthusiasm for operating systems.

We are also grateful to the students and teaching staff at MIT (including SIPB) and other schools for their many contributions.


Questions or comments regarding CPSC 405? Send e-mail to Gusty at ecooper@umw.edu.

Creative Commons License Top // CPSC 405 home // Last updated 8-Aug-2024 13:30 EST