BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI
COURSE HANDOUT
Course Title
SSWT ZC364 - OPERATING SYSTEMS
Course Description
Introductory concepts of Operating Systems; Process Management, Memory Management, File
Systems-Security & Protection, Input-Output principles; Deadlocks detection and avoidance;
Distributed computing; Examples of some widely used Operating Systems.
Course Objectives
No Course Objective
CO1 To understand the services provided by and the design of an operating system
CO2 To understand the structure and organization of the file system and memory
management
CO3 To understand what a process is and how processes are synchronized and scheduled
CO4 To understand the data structures and algorithms used for managing processes,
memory and file system to implement an OS
Text Books
No Author(s), Title, Edition, Publishing House
T1 Silberschatz Abraham and others, Operating System Concepts, Wiley Student Edition, 8 th
Ed., 2008
Reference Books
No Author(s), Title, Edition, Publishing House
R1 R1. William Stallings, “Operating Systems Internals and Design Principles”, 6 th edition,
Pearson Edition, 2009.
R2 R2. Maurice J. Bach, “The Design of the Unix Operating System”, PHI, 1993.
Learning Outcomes:
No Learning Outcomes
LO1 Students will have an understanding of design issues associated with operating
systems
LO2 Students will have knowledge of process management concepts including
scheduling, synchronization, and deadlocks.
LO3 Students will be familiar with multithreading and system resource sharing
among the users
LO4 Students will have knowledge of file system interface and implementation, disk
management.
Legend
M = Module, RL = Recorded Lecture, CS = Contact Session, LE = Lab Exercises, SS = Self Study,
HW = Home Work Problems
Modular Structure
Module Summary
No Title of the Module
M1 Introduction to OS
M2 Concept Of Process & thread
M3 Process Scheduling
M4 Process Synchronization
M5 Dead Lock prevention, avoidance and detection & recovery
M6 Memory Management
M7 File Systems
M8 Secondary Storage structure & Management
Detailed Structure
Modular Content Structure
1. Introduction to Operating Systems
1.1. Introduction
1.1.1. Computer-System Organization
1.1.2. Computer-System Architecture
1.1.3. Operating-System Structure
1.1.4. Operating-System Operations
1.1.5. components of computing system
1.1.6. Operating System design issues
1.2. System Structures
1.2.1. Operating-System Services
1.2.2. User Operating-System Interface
1.2.3. System Calls
1.2.4. Types of System Calls
1.2.5. System Programs
1.2.6. Operating-System Design and Implementation
1.2.7. Operating-System Structure
2. Concept of processes and thread
2.1. Process Concept
2.1.1. Process Concept
2.1.2. Process Scheduling
2.1.3. Operations on Processes
2.1.4. Inter-process Communication
2.1.5. Examples of IPC Systems
2.2. Threads
2.2.1. Thread overview
2.2.2. Multithreading Models
2.2.3. Thread Libraries
2.2.4. Threading Issues
3. Process Scheduling
3.1. Basic Concepts
3.2. Scheduling Criteria
3.3. Scheduling Algorithms
3.4. Thread Scheduling
3.5. Multiple-Processor Scheduling
3.6. Algorithm Evaluation
4. Process Synchronization
4.1. The Critical-Section Problem
4.2. Peterson's Solution
4.3. Synchronization Hardware
4.4. Semaphores
4.5. Classic Problems of Synchronization
4.6. Monitors
4.7. Atomic Transactions
5. Dead Lock prevention, avoidance and detection & recovery
5.1. System Model
5.2. Deadlock Characterization
5.3. Methods for Handling Deadlocks
5.4. Deadlock Prevention
5.5. Deadlock Avoidance
5.6. Deadlock Detection
5.7. Recovery from Deadlock
6. Memory Management
6.1. Background
6.2. Swapping
6.3. Contiguous Memory Allocation
6.4. Paging
6.5. Structure of the Page Table
6.6. Segmentation
7. File Systems
7.1. File-System Structure
7.2. File-System Implementation
7.3. Directory Implementation
7.4. Allocation Methods
7.5. Free-Space Management
7.6. Efficiency and Performance
7.7. Recovery
7.8. NFS
8. Secondary Storage structure & Management
8.1. Overview of Mass-Storage
8.2. Structure
8.3. Disk Structure
8.4. Disk Attachment
8.5. Disk Scheduling
8.6. Disk Management
8.7. Swap-Space Management
8.8. RAID Structure
8.9. Stable-Storage Implementation
8.10. Tertiary-Storage Structure
Contact Session Plan
Contact List of Topic Title Topic # Text/Ref
Hour (from content structure in Part A) (from content Book/external
structure in resource
Part A)
1 ● Introduction 1.1 T:Ch1:1.1-1.9
● Computer-System Organization R1:Ch1
● Computer-System Architecture
● Operating-System Structure
● Operating-System Operations
● components of computing system
● Operating System design issues
2 ● System Structures 1.2 T:Ch2:2.1 - 2.7
● Operating-System Services R1:Ch1
● User Operating-System Interface
● System Calls
● Types of System Calls
● System Programs
● Operating-System Design and
Implementation
● Operating-System Structure
3 ● Process Concept 2.1.1 - 2.1.3 T:Ch3:3.1 - 3.3
● Process Concept R1:Ch2
● Process Scheduling
● Operations on Processes
4 ● Inter-process Communication 2.1.4 - 2.1.5 T:Ch3:3.4 - 3.5
● Examples of IPC System 2.2.1 - 2.2.4 T:Ch4:4.1 - 4.6
● Threads (5.4 not included)
● Thread overview R1:Ch2
● Multithreading Models R1:Ch3
● Thread Libraries
● Threading Issues
5 ● Process Scheduling 3.1-3.2 T:Ch6:6.1 -6.3
Basic Concepts 3.3 R1:Ch8
Scheduling Criteria
Scheduling Algorithms
6 Thread Scheduling 3.4-3.6 T:Ch6:6.4 - 6.8
Multiple-Processor Scheduling (6.6&6.7 not
Algorithm Evaluation included)
R1:Ch8
7 The Critical-Section Problem 4.1-4.4 T:Ch5:5.2 - 5.6
Peterson's Solution (5.5 not include)
Synchronization Hardware R1:Ch4
Semaphores
8 Classic Problems of Synchronization 4.5-4.7 T:Ch5:5.7-5.8
Monitor 5.1 - 5.3 R1:Ch4
System Model T:Ch7:7.1 - 7.3
Deadlock Characterization R1:Ch5
Methods for Handling Deadlocks
9-10 Deadlock Prevention 5.4-5.7 T:Ch7:7.4 - 7.7
Deadlock Avoidance R1:Ch5
Deadlock Detection
Recovery from Deadlock
11 Background 6.1 - 6.3 T:Ch8:8.1 - 8.3
Swapping R1:Ch6
Contiguous Memory Allocation
12 Segmentation 6.4 - 6.6 T:Ch8:8.4 - 8.6
Paging R1:Ch6
Structure of the Page Table
13 File-System Structure 7.1-7.4 T:Ch12:12.1 -12.4
File-System Implementation R1:Ch11
Directory Implementation
Allocation Methods
14 Free-Space Management 7.5-7.8 T:Ch12:12.5 - 12.8
Efficiency and Performance R1:Ch11
Recovery
NFS
15 Overview of Mass-Storage 8.1-8.5 T:Ch10:10.1 - 10.4
Structure R1:Ch10
Disk Structure
Disk Attachment
Disk Scheduling
16 Disk Management 8.6-8.10 T:Ch10:10.5 - 10.9
Swap-Space Management R1:Ch10
RAID Structure
Stable-Storage Implementation
Experiential learning components
Lab work: Any Linux based System with GCC compiler, CPU-OS simulator (http://www.teach-sim.com)
Detailed Plan for Lab work/Design work
Lab Lab Objective Lab Sheet Access URL Content
No Reference
1 Operating System Calls - Implementing programs using https://
the Open, Write, Fork system calls drive.google.com/
drive/folders/
2 Inter-process communication - Shared memory and 0B96O377wWaW5YVlU
Message passing program implementation QUdadi1OWkk?
usp=sharing
3 Using CPU-OS simulator - understand Threads
(Lab sheets for the
4 Using CPU-OS simulator - understand Process
corresponding labs are
Scheduling
in this link and can be
5 Using CPU-OS simulator - understand Synchronisation opened BITS mail ID or
WILP mail ID)
6 Using CPU-OS simulator - understand Deadlocks