24csen2011 Operating Systems
24csen2011 Operating Systems
Preferable Exposure NO
Course Description:
This course will introduce the student to the basic concepts involved in the design and implementation of an operating system
The course will cover details of processes, CPU scheduling, memory management, file system, input/output management and
recent trends.
Introduction: Basic organization of hardware components, Role of OS relative to hardware functionality, Operating-System
Operations, Generations of OS, Types of OS
Process Management, Memory Management, Storage Management, Kernel Data Structures, Computing Environments.
Operating System Structures: Types, Layered structure, System Components, Operating System services, Reentrant Kernels,
Monolithic and Microkernel Systems, Interrupt handling and System Calls, System Boot.
#Exemplar/Case Studies: Case Study Study of Debugging tools like GDB , Study the concepts of Class loading in Java. Study
and install VM VirtualBox to run other FOSS, Usage of tools
Process Management: Process concepts, process scheduling, Operations on processes, inter- process communication
CPU Scheduling: Scheduling-criteria, scheduling algorithms, Thread scheduling, Multiple processor scheduling, algorithm
evaluation, Multithreaded programming, Multi-core Programming, Multi-threading Models, Thread Libraries.
Process Synchronization: Race condition, The Critical-Section Problem, Peterson’s Solution, Synchronisation Hardware, Mutex
Locks, Semaphores, Classic Problems of Synchronization, Monitors, Synchronization Examples.
(c) - page 1 of 3
Memory Management Strategies: Background, Swapping, Contiguous Memory Allocation, Segmentation, Paging, Structure of
the Page Table
Virtual Memory Management: Demand Paging; Copy-on-Write, Page Replacement; Allocation of Frames; Thrashing,
Memory-Mapped Files, Allocating Kernel Memory.
File System: File Concept, Access Methods, Directory and Disk Structure, Protection. File-System Implementation: Structure
#Exemplar/Case Studies: Memory management and basic file system in Linux /Windows/Android, Implementation of file utilities
using the system call API in Linux /Windows/Android
I/O systems: Application interface, kernel I/O subsystem, transforming I/O to hardware operation.
Mass-storage structure: Disk management, disk scheduling, Swap space management
System Protection: Goals of protection, principles of protection, Domain of protection, Access matrix.
#Exemplar/Case Studies: Comparative Study of Operating Systems: Case of Windows, Linux, Mac, Android and iOS
List of Experiments
S.no Topic Type
Operating system Installation, Basic Linux commands and Programs on Multithread using
1 Experiment
Pthreads
Execute various UNIX system calls for i. Process management,ii. File management ii.
2 Experiment
Input/output Systems calls
3 Shell Script programming related to across all the units Experiment
Write a boot loader - to load a particular OS say TinyOS/ KolibriOS image - code to access
4 from BIOS to loading the OS - involves little assembly code may use QEMU/virtual machines Experiment
for emulation of hardware.
5 Write a C program to simulate OS management modules related algorithms Experiment
Open-source microkernel architecture with Portable Operating System Interface (POSIX) and
6 Experiment
verify/modify/add some feasible features.
Textbook(s):
1. Silberschatz, Galvin and Gagne, “Operating Systems Concepts”, 10th Edition, Wiley, 2019
2. William Stallings, “Operating Systems: Internals and Design Principles ”, 11 th Edition, Pearson Education, 2022
Reference(s):
1. Andrew S. Tannenbaum and Herbert Bos, Modern Operating Systems, 4th edition,
2. Avi Silberschatz, Peter Baer Galvin, Greg Gagne, Operating System Concepts, 9th, edition,
3. Allen B. Downey, Think OS, A Brief Introduction to Operating Systems,
4. ,https://www.greenteapress.com/thinkos/index.html
5. Robert Love, Linux Kernel Development, 3rd edition,
6. Thomas Anderson, Michael Dahlin, Operating Systems: Principles and Practice,
7. ,https://ospp.cs.washington.edu/index.htm
8. Randall E. Bryant, David R.O’ Hallaron,, Computer Systems: A Programmer's Perspective, 3rd edition,
9. Brian Kernighan, Dennis Ritchie, The C Programming Language, 2nd ,
Course Outcomes:
1. Use the appropriate concepts of operating system for resource utilization(L3)
2. Implement and analyze the performance of process scheduling algorithms.(L4)
(c) - page 2 of 3
3. Identify the mechanism to deal with deadlock and concurrency issues.(L4)
4. Experiment the performance of different algorithms used in management of memory, file and I/O and select the
appropriate. (L3)
5. Demonstrate different device and resource management techniques for memory utilization with security mechanisms(L4)
POs PSOs
CO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4
1 3 3 3 2 3 2
2 3 3 3 2 3 2
3 3 3 3 2 3 2
4 3 3 3 2 3 2
5 3 3 3 2 3 2
SDG Justification(s):
SDG 4: The modules and topics mentioned in this course are designed to ensure all-inclusive and thorough education with
equity to all persons and always promote learning opportunities. SDG 9: The modules and topics mentioned in this course are
designed to ensure the engineers build resilient control, system and application software which promote inclusiveness and
supportability.
(c) - page 3 of 3