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

TopicLectureResourcePage
Introduction to Operating System1Handouts1-3
Types of Operating System2Handouts4-9
Components, Services and Structures of Operating System3Handouts10-17
Introduction to Unix / Linux Interface4Handouts18-24
Processes5Handouts25-34
Process Management & Scheduling6Handouts35-38
Quiz # 1
Inter-Process Communication7Handouts39-42
Unix / Linux Inter Process Communication ToolsHandouts43-54
Input - Output in UNIX / Linux10Handouts55-59
Assignment # 1
Use of FIFO & Process Management in UNIX.11Handouts60-64
ThreadsHandouts65-76
Short Term Scheduler / Dispatcher14Handouts77-81
Assignment # 2
Process Scheduling AlgorithmsHandouts82-88
UNIX Process Management & Scheduling17Handouts89-94
Algorithm Evaluation , Critical Section ProblemHandouts95-100
Critical Section Problems and Solutions20Handouts101-104
Hardware Solutions for Critical Section Problem21Handouts105-106
Hardware Solutions for Critical Section Problem22Handouts107-109
Mid Term Exam
Deadlocks and Starvation23Handouts110-113
Semaphores24Handouts114-119
Classical IPC ProblemsHandouts120-131
Deadlock Handling27Handouts132-135
Deadlock Avoidance28Handouts136-143
Assignment # 2
Deadlock Detection and Recovery29Handouts144-149
Memory ManagementHandouts150-160
PagingHandouts161-173
GDB
Hardware Support in Paging35Handouts174-178
Segmentation36Handouts179-183
Virtual Memory37Handouts184-191
Demand Paging38Handouts192-195
Page Replacement AlgorithmsHandouts196-206
Quiz # 2
Thrashing41Handouts207-213
Files and Directories42Handouts214-221
File Systems43Handouts222-228
File Protection and Allocation44Handouts229-235
Disk Space Management45Handouts236-246
Final Term Exam
 
 
Back to Top