You are on page 1of 6

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

You might also like