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
|
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.
|
14
|
Short Term Scheduler / Dispatcher
|
15
|
Process Scheduling Algorithms - 1
|
16
|
Process Scheduling Algorithms - 2
|
17
|
UNIX Process Management & Scheduling
|
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
|
29
|
Deadlock Detection and Recovery
|
35
|
Hardware Support in Paging
|
39
|
Page Replacement Algorithms - 1
|
40
|
Page Replacement Algorithms - 2
|
44
|
File Protection and Allocation
|
|
|
|