Syllabus

____________________________________________________


General syllabus

Note: click on the following link, and actually read it; it's part of the syllabus:
SyllabusGeneral


Course description

This course teaches the concepts, structure, and mechanisms of Operating Systems. Topics include process management, concurrency, synchronization, deadlock, multithreading, memory management, scheduling, and internetworking. Special emphasis is given to Unix and its modern-day derivatives.


Prerequisite

A grade of "C" or better in both Comp Sci 1575 and Comp Eng 2210.
A good attitude, work ethic, and an interest in OS!


Textbooks

I like content that mixes real practice and theory:


Minix

Operating Systems: Design and Implementation 3/e by Andrew S. Tanenbaum and Albert S. Woodhull, Prentice Hall, 2006.
https://www.minix3.org/doc/


Which virtual machine / OS for this class?

This is an OS class, so we will try numerous!
For autograded programming assignments,
I offer an easy docker image which is guaranteed to be correct.


Which programming language for this class?

To develop most existing OS's, you need to know C, C++, assembly.
However, I hope to convert this class to Rust in the future (maybe some this first semester).



Backlinks: index:Classes:OperatingSystems