Operating Systems are collections of software services that manage physical hardware resources, from small sensors to complex servers, and provide applications with a higher-level interface for common tasks. Typical responsibilities of operating systems include task and memory management; input and output abstractions and services (which includes file systems and networking); and authentication / authorization. For workstations and servers, operating systems also commonly include the means to define and enforce security policies, to perform virtualization, and to manage energy consumption, among others. In our course, students develop in practice the crucial parts of a modern operating system, and develop scientific writing and public presentation skills in an informal and rewarding class environment.
Satisfies a 300-level elective requirement in the Systems area of the Computer Science major.
Satisfies a 300-level elective requirement in the Computer Science minor.
CSC 221 (Data Structures), CSC 250 (Computer Organization), and the ability to program in C.
Offered Fall of even-numbered years.