Recommended Text: Silberschatz, Galvin and Gagne, "Operating System
Concepts", John Wiley and Sons, Inc., 2002 (6th Edition), or the recent 2003
Windows XP updated version.
NOTE: The course notes will be primarily based on the above textbook,
but other good OS books, such as those by Stallings and Tanenbaum should
be good enough to accompany this course.
This course covers the fundamental concepts of operating systems. Topics
including file systems, synchronization, deadlocks, and memory management
will be discussed. A good understanding of C or C++ is required (NOTE:
The Java programming language may be used for some projects, where appropriate).
Advanced topics including those based on distributed computing will
be discussed, time permitting. Additionally, case studies based on a real-world
operating system will be covered, where appropriate, throughout the course.
Socket programming and abstractions such as remote procedure calls
may be required for some of the projects.
Further Information:
The concept of "threads" will feature as part of this course. Some
useful documentation on threads includes: