CS 422: Operating Systems Organization
- Douglas C. Schmidt
- Department of Computer Science
- School of Engineering and Applied Science
- Washington University in St. Louis
Locations
Course Description
Exploration of operatings systems as managers of shared local
and remote resources. Using UNIX and Window NT as experimental
frameworks, students study algorithms and data structures that support
essential operating systems services. Concepts are reinforced through
programming exercises and comparative studies. Topics include: time
sharing and real-time scheduling of processes and threads, networking,
memory management, virtual memory, device management, concurrent
programming, file system organization, and distributed object
computing.
Prerequisites
- Formal prerequisites
- CS102
- CS241 Data structures and Algorithms
- CS306 Assembly language
- Recommended knowledge
- CS242 Design patterns and frameworks
- CS455 Programming Languages
- CS431 Compilers
- Proficiency in C++
- Knowledge of email, WWW, and USENET newsgroups
Intro Material
- Course Syllabus
Systems Programming
- Asynchronous programming with signals (Thursday, Aug. 28th)
- Synchronous event demuxing with the Reactor
- An Overview of multi-threading mechanisms (Thursday, Oct. 9th)
- An overview of sockets (Thursday, Oct 23rd)
- C++ wrappers for sockets (Thursday, Oct 30th)
- Overview of IP multicast (Thursday, November 6th)
- Overview of IP multicast with Solaris (SunOpsys article)
- SunOS Shared Libraries
- Overview of SunOS Shared Libraries (Tuesday, November 18th)
Lectures Slides for Textbook
- Part 1
- Part 2
- Part 3
- Part 4
Programming Assignments
- Systems programming with C++
- Communication programming with ACE and C++
- Communication programming with CORBA and C++
Back to CS Courses home page.