0 Course Outlines
0 Course Outlines
Operating System
Course Code: CSOS-329
Course Description
This course is about learning and understanding the overview of the Operating Systems. A
computer cannot be used and operated without an operating system. There are many operating
systems available now a days that can be installed and used in order to operate a system. Installing
and using a particular operating system also depends on the factors, like cost, availability, hardware
and usage etc. Furthermore, operating system used on mobile devices are different from the ones
that we use on desktop and laptop systems. In this course, students will learn about i) different
operating systems available in the market, ii) what are the major components available in an
operating system, iii) what is the significance of those components, and iv) how they are designed
and developed.
Course Materials
Introduction to Operating Systems, What is an OS, Single User Systems, Batch Systems, Multi
programmed Systems, Time Sharing Systems, Multiprocessor Systems, Real Time Systems
Computer System Structures (Computer System Operation, I/O Structure, Storage Structure,
Storage Hierarchy, Hardware Protection) Operating System Structures (Operating Systems
Concepts, System Calls) Processes & Threads (Process Concept, Process Scheduling, Operation
125
Scheme of Studies for BS (Computer Science) 2023
on Processes, Cooperating Processes, Threads) CPU Scheduling (Introduction to Scheduling,
Scheduling Criteria, Scheduling Algorithms) Process Synchronization (The Critical Section
Problem, Synchronization Hardware, Semaphores, Classical Problems of Synchronization)
Deadlocks (Deadlock Characterization, Methods for Handling Deadlocks, Deadlock Prevention,
Avoidance and Detection) Memory Management (Logical vs. Physical Address Space, Swapping,
Contiguous Allocation, Paging, Segmentation, Segmentation with Paging) Virtual Memory (Demand
Paging, Page Replacement, Page Replacement Algorithms, Allocation of frames, Thrashing) File
System Interface and Implementation (File Concept, Access Methods, Directory Structure, Protection,
File System Structure, Allocation Methods, Free Space Management, Directory Implementation)
Week Topic
1 Types of software, Application Software and System software, Application software
categories, System software categories.
2 Introduction to OS, Single user, Multi user and Network OS, H/W dependent and
independent OS, Important OS components, Kernel, Shell, Shell types
3 Type of services provided by OS, Uni- programming and Multi-programming, Uni-
tasking and Multi-tasking, Uni- processing and Multi-processing.
4 Distributed systems and its types, Reason for building distributed systems,
5 SPOOLing, Buffering, Real-Time systems, Booting mechanism.
6 Process and process states. Process Control Block, Independent and Cooperating
processes, Process and Threads, Hierarchy of processes.
7 Inter Process Communication, Process Synchronization, Race condition, Mutual
exclusion, Critical section, Achieving process synchronization.
8 Scheduler and scheduling queues, Types of schedulers, CPU and I/O bound processes,
Context switching, Criteria for comparing CPU scheduling algorithms.
9 Mid Term Exams
10 First Come First Served scheduling, Shortest Job First scheduling, Priority scheduling
(Preemptive & Non-Preemptive), Round Robin scheduling.
11 Multi-level queue scheduling, Multi-level feedback queue (MLFBQ) scheduler, Multi-
processor scheduling, and CPU Scheduling Algorithm evaluation.
12 Introduction to Deadlocks, Deadlock characterization, Deadlock prevention, Deadlock
avoidance.
13 Introduction to Banker’s Algorithm and importance of its usage, Deadlock detection
in single resource of each resource type.
126
Scheme of Studies for BS (Computer Science) 2023
Week Topic
14 Deadlock detection in multiple resources of each resource type, Deadlock Recovery,
Techniques used to recover processes from deadlock.
15 Introduction of memory management, Swapping, Single partition allocation and
Multiple partition allocation memory management schemes. Multiprogramming with
Fixed partition.
16 Multiprogramming with Variable partition, First-Fit, Best-Fit, Next-Fit and Worst-Fit
algorithms. External fragmentation, Compaction, Paging, Segmentation.
17 Virtual Memory, Demand Paging, Page Replacement, Page Replacement algorithms,
Thrashing, Introduction to File System, Directory structure, Single and Two level
directory, Tree structured directory, Acyclic graph directories, General graph
directories, File protection.
Recommended Textbooks
1. Operating system by Albert Shilberschatz, Latest Edition, 2021
127