This course is an introduction to operating systems. Fundamental issues
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).
Some advanced topics including distributed system concepts will be discussed,
if there is enough time.
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: