Dept.
of Computer Science & Engineering (Networks)
B. Tech II Year I Semester
23CSN102 OPERATING SYSTEMS
L T P C
3 0 0 3
Pre-requisite: NIL
Course Objectives:
1. To describe the operating system structures, services and system call.
2. To demonstrate process management concepts and threads.
3. To illustrate scheduling algorithms and process synchronization.
4. To understand the concept of deadlocks.
5. To analyze various memory management techniques.
UNIT I INTRODUCTION 9 hours
Concept of Operating Systems, OS Services, System Calls, Structure of an OS - Layered, Monolithic,
Microkernel Operating Systems, Case study on UNIX and Windows Operating System.
Korn Shell Programming: Basic Script Concepts, Expressions, Decisions: Making Selections,
Repetition, Special Parameters and Variables, Changing Positional Parameters, Argument Validation,
Debugging Scripts.
UNIT II PROCESS CONCEPTS 9 hours
Processes: Definition, Process Relationship, Different states of a Process, Process State transitions,
Process Control Block (PCB), Context switching Thread: Definition, Various states, Benefits of threads,
Types of threads, Concept of multithreads
Process Scheduling: Foundation and Scheduling objectives, Types of Schedulers, Scheduling criteria:
CPU utilization, Throughput, Turnaround Time, Waiting Time, Response Time; Scheduling
algorithms: Pre-emptive and Non-pre-emptive, FCFS, SJF, RR; Multiprocessor scheduling.
UNIT III PROCESS SYNCHRONIZATION AND DEADLOCKS 9 hours
Critical Section, Race Conditions, Mutual Exclusion, Hardware Solution, Strict Alternation, Peterson’s
Solution, The Producer Consumer Problem, Semaphores, Event Counters, Monitors, Message Passing,
Classical IPC Problems: Reader’s & Writer Problem, Dinning Philosopher Problem etc. Deadlocks:
Definition, Necessary and sufficient conditions for Deadlock, Deadlock Prevention, Deadlock
Avoidance: Banker’s algorithm, Deadlock detection and Recovery.
UNIT IV MEMORY MANAGEMENT STRATEGIES 9 hours
Memory Management: Basic concept, Logical and Physical address map, Memory allocation:
Contiguous Memory allocation, Fixed and variable partition, Internal and External fragmentation and
Compaction; Paging: Principle of operation, Page allocation, Hardware support for paging, Protection
and sharing, Disadvantages of paging. Virtual Memory: Basics of Virtual Memory, Hardware and
control structures, Locality of reference, Page fault, Working Set, Dirty page/Dirty bit, Demand paging,
Page Replacement algorithms: Optimal, First in First Out (FIFO), Second Chance (SC), Not recently
used (NRU) and Least Recently used (LRU).
UNIT V FILE SYSTEM 9 hours
File Management: Concept of File, Access methods, File types, File operation, Directory structure, File
System structure, Allocation methods (contiguous, linked, indexed), Free-space management (Bit
vector, linked list, grouping), directory implementation (linear list, hash table), efficiency and
performance. Disk Management: Disk structure, Disk scheduling - FCFS, SSTF, SCAN, C-SCAN, Disk
69 | P a g e
Dept. of Computer Science & Engineering (Networks)
reliability, Disk formatting, Boot-block, Bad blocks.
Protection: Goals of protection, Principles of protection, Protection Rings, Domain of protection,
Access matrix
Course Outcomes:
At the end of this course students will demonstrate the ability to
CO1: Write shell scripts using korn shell.
CO2: Create processes & threads and implement the various process scheduling techniques.
CO3: Analyse the concurrent processing and deadlock situations.
CO4: Design algorithmic solutions to solve memory management problems.
CO5: Implement the file protection techniques.
Text Books:
1. “Operating System Concepts”, Abraham Silberschatz, Peter Baer Galvin and Greg Gagne, 10th
Edition, John Wiley and Sons Inc., 2018.
2. "Modern Operating Systems", Andrew S Tanenbaum, Pearson, 5th Edition, 2022 New Delhi.
Reference Books:
1. “Operating Systems – A Spiral Approach”, Ramaz Elmasri, A. Gil Carrick, David Levine, Tata
McGraw Hill Edition, 2010.
2. "Operating Systems: Internals and Design Principles", William Stallings, 7th Edition,
Prentice Hall, 2018.
3. “Operating Systems”, Achyut S.Godbole, Atul Kahate, McGraw Hill Education, 2016.
Mode of Evaluation: Assignments, Mid Term Tests and End Semester Examination.
70 | P a g e
Dept. of Computer Science & Engineering (Networks)
B. Tech II Year I Semester
23CSN202 OPERATING SYSTEMS LABORATORY
L T P C
0 0 3 1.5
Pre-requisite: NIL
Course Objectives:
1. To understand the basics of Unix command and shell programming.
2. To implement various CPU scheduling algorithms.
3. To implement IPC, Deadlock Avoidance and Detection Algorithms.
4. To implement Page Replacement Algorithms.
5. To implement various memory allocation File Allocation methods.
List of Experiments:
1. a. Practicing the basic concepts with the help of Linux commands.
b. Practicing basic UNIX commands and shell programming.
2. Write shell scripts for basic operations and decision-making.
3. Write shell scripts for file manipulation and interactive tasks. Simulate UNIX commands like cp,
ls, grep, etc.
4. Write programs using UNIX system calls (fork, exec, getpid, exit, wait, close, stat, opendir,
readdir).
5. Write C programs to implement FCFS, SJF, Priority, and Round Robin scheduling algorithms.
6. Write C programs to implement the following.
a. Implement mutual exclusion using semaphores.
b. Control the number of ports using semaphores and monitors.
7. Illustrate IPC strategy using the Producer-Consumer problem.
8. Write C program to implement Banker's algorithm for deadlock avoidance and prevention
9. Write C programs to implement First Fit, Worst Fit, and Best Fit memory allocation methods.
10. Write C programs to implement FIFO, LRU, and LFU page replacement algorithms.
11. Write C programs to implement sequential, indexed, and linked file allocation strategies using
C programs.
12. Write C programs for the implementation of various disk scheduling algorithms.
Hardware Requirements:
INTEL based desktop PC with min. 8GB RAM and 500 GB HDD, 17” or higher TFT Monitor,
Keyboard and mouse.
Software requirements:
Windows 10 or higher operating system / Linux Ubuntu 20 or higher
73 | P a g e
Dept. of Computer Science & Engineering (Networks)
Course Outcomes:
CO1: Understand the use of Linux commands.
CO2: Compare the performance of processor scheduling algorithms.
CO3:. Design algorithmic solutions for process synchronization problems.
CO4:. Analyze the performance of various file management schemes.
CO5: Implement different page replacement and disk scheduling algorithms.
Reference Books:
1. “Operating System Concepts”, Abraham Silberschatz, Peter Baer Galvin and Greg Gagne, 10th
Edition, John Wiley and Sons Inc., 2018.
Mode of Evaluation: Continuous Internal Evaluation and End Semester Examination
74 | P a g e