
This course introduces and explains the fundamental principles of operating systems. These principles are common to all major operating systems and are examined in particular through the examples of Windows and Unix/Linux.
Special emphasis is placed on the concept of a process, including process management as well as methods for inter-process communication and synchronization. A second major focus is memory management, covering both main memory and secondary storage systems, such as disk storage.