Operating Systems



Operating systems are an essential part of any computer system. Similarly, a course on operating systems is an essential part of any computer-science education. The field is undergoing change at a breathtaking rapid rate, yet the concepts remain fairly clear. This course offers a study of the components of an operating system. In this course, we first give a background for computer-systems and operating systems structures. Topics in this course include management of and communication between concurrent processes, threads, scheduling, synchronization, deadlocks, virtual memory, and file management. Time permitting the course covers distributed systems and security. The course includes a project which allows students to get their hands dirty- to take apart the code for an operating system, to see how it works at a low level, to build significant pieces of the operating system themselves, and to observe the effects of their work.

Course announcements, power point lectures, homework, demos...etc. are on Blackboard