CS604 : Operating Systems

Course Overview

Course Synopsis

This course focuses on the processes, synchronization, scheduling, multi-threaded applications, deadlocks, memory management, and file systems. Linux and Windows are general purpose operating systems used as examples when studying and applying above concepts. Laboratory assignments of process/thread synchronization, process communication, and file systems are expected.

Course Learning Outcomes

At the end of the course, you should be able to:

  • Grasp the working of an operating system
  • Analyze the synchronization process
  • Identify the working methodology of multithreaded applications
  • Determine the reasons of deadlocks in an operating system
  • Find the management of different type of memories in the computer system
  • Compare different file systems being used in different operating systems


Course Calendar

1 Introduction to Operating System
2 Types of Operating System
3 Components, Services and Structures of Operating System
4 Introduction to Unix / Linux Interface
5 Processes
6 Process Management & Scheduling
7 Inter-Process Communication
8 Unix / Linux Inter Process Communication Tools - 1
9 Unix / Linux Inter Process Communication Tools - 2
10 Input - Output in UNIX / Linux
11 Use of FIFO & Process Management in UNIX.
12 Threads - 1
13 Threads - 2
14 Short Term Scheduler / Dispatcher
15 Process Scheduling Algorithms - 1
16 Process Scheduling Algorithms - 2
17 UNIX Process Management & Scheduling
18 Algorithm Evaluation
19 Process Synchronization
20 Critical Section Problem
21 Critical Section Problems and Solutions
22 Deadlocks and Starvation - 1
23 Deadlocks and Starvation - 2
24 Process Synchronization Problems and Semaphores
25 High-Level Synchronization
26 Deadlock Characterization
27 Deadlock Techniques
28 Deadlock Avoidance
29 Deadlock Detection and Recovery
30 Memory Management - 1
31 Memory Management - 2
32 Paging - 1
33 Paging - 2
34 Paging - 3
35 Hardware Support in Paging
36 Segmentation
37 Virtual Memory
38 Demand Paging
39 Page Replacement Algorithms - 1
40 Page Replacement Algorithms - 2
41 Thrashing
42 Files and Directories
43 File Systems
44 File Protection and Allocation
45 Disk Space Management
46 Pre-Assessment