This course provides an overview of the concept of operating systems. An operating system is the most important system software and manages all the resources of a computer. This course provides a detailed view of operating system functions such as process management, memory management, I/O management, file management and virtualisation. This course also provides information about concepts such as mutual exclusion, and concurrent processes. There is an emphasis on design, implementation, and evaluation of modern operating systems including mobile and real-time operating systems.
Course Outline: pdf
L1 - Introduction | pptx | |
L2 - Processes | pptx | |
L3 - Threads | pptx | |
L4 - Interprocess Communication | pptx | |
L5 - Sockets | pptx | |
L6 - Scheduling | pptx | |
L7 - Concurrency | pptx | |
L8 - Input/Output Devices | pptx | |
L9 - File Systems | pptx | |
Review | pptx |
This section contains samples used to demonstrate various aspects of Operating Systems.
Download all: samples-v10.zip
lecture-1 - sample code for lecture 1, showing the three fundamental aspects of an OS.
Header files for process control:
shell - a basic shell to demonstrate
Unix process system calls.
threads-procs - code introducing pthreads and illustrating difference between processes and threads.
ipc - programs to demonstrate several types of interprocess communication.
socket- basic TCP socket code.
file-sys - files to illustrate basic
file system stuff.
hack - code to ascertain certain OS behaviors.