GUJARAT TECHNOLOGICAL UNIVERSITY
COMPUTER ENGINEERING (07), INFORMATION TECHNOLOGY (16) &
INFORMATION & COMMUNICATION TECHNOLOGY (32)
OPERATING SYSTEM
SUBJECT CODE: 2140702
B.E. 4th SEMESTER
Type of course: Core
Prerequisite: Data structures( stack, queue, linked list, tree, graph), hashing, File structures, Any
structured Programming Language (like C),
Rationale: As a core subject of Computer Engineering/Information Technology, this course enables to
understand importance of Operating System, its functionalities to manage resources of Computer and
Peripherals, program development and its execution. Student will be made aware of Process Management,
Memory Management, File Management and I/O Management in detail, which will be useful to them for
Large Application Development in engineering field with emphasis given to Linux type of Open Source
Operating System.
Teaching and Examination Scheme:
Teaching Scheme Credits Examination Marks Total
L T P C Theory Marks Practical Marks Marks
ESE PA (M) ESE (V) PA
(E) PA ALA ESE OEP (I)
4 0 2 6 70 20 10 20 10 20 150
Content:
Sr. Teaching Module
Topics
No. Hrs. Weightage
Introduction: Basics of Operating Systems: Definition – Generations of 5 10
Operating systems – Types of Operating Systems, OS Service, System
1
Calls, OS structure: Layered, Monolithic, Microkernel Operating
Systems – Concept of Virtual Machine
Process Management 8 14
Processes: Definition , Process Relationship , Process states , Process
State transitions , Process Control Block ,Context switching – Threads
– Concept of multithreads , Benefits of threads – Types of threads
Process Scheduling: Definition , Scheduling objectives ,Types of
2
Schedulers ,Scheduling criteria : CPU utilization, Throughput,
Turnaround Time, Waiting Time, Response Time (Definition only) ,
Scheduling algorithms : Pre emptive and Non , pre emptive , FCFS –
SJF – RR , Multiprocessor scheduling : Types , Performance evaluation
of the scheduling.
Interprocess Communication 6 12
Race Conditions, Critical Section, Mutual Exclusion, Hardware
Solution, Strict Alternation , Peterson’s Solution, The Producer
3 Consumer Problem, Semaphores, Event Counters, Monitors, Message
Passing, Classical IPC Problems: Reader’s & Writer Problem, Dinning
Philosopher Problem etc., Scheduling , Scheduling Algorithms.
Deadlocks: Definition,Deadlock characteristics , Deadlock Prevention , 4 9
4 Deadlock Avoidance :banker’s algorithm, Deadlock detection and
Recovery.
Memory Management 8 15
Basic Memory Management: Definition ,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
5
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 ( Concepts only) – Page Replacement
policies : Optimal (OPT) , First in First Out (FIFO), Second Chance
(SC), Not recently used (NRU) and Least Recently used (LRU)
I/O Management 4 8
Principles of I/O Hardware: I/O devices, Device controllers , Direct
6 memory access Principles of I/O Software: Goals of Interrupt handlers
, Device drivers , Device independent I/O software , Secondary-Storage
Structure: Disk structure ,Disk scheduling algorithm
File Management 6 15
File concept, Aaccess methods, File types, File operation, Directory
structure, File System structure, Allocation methods (contiguous,linked,
7
indexed), Free-space management (bit vector, linked list, grouping),
directory implementation (linear list, hash table),efficiency &
performance.
Security & Protection 3 8
Security Environment, Design Principles Of Security, User
8
Authentication,
Protection Mechanism : Protection Domain, Access Control List
Unix/Linux Operating System 4 9
Development Of Unix/Linux, Role & Function Of Kernel, System
9 Calls, Elementary Linux command & Shell Programming, Directory
Structure, System Administration
Case study: Linux, Windows Operating System
Suggested Specification table with Marks (Theory):
Distribution of Theory Marks
R Level U Level A Level N Level E Level
Legends: R: Remembrance; U: Understanding; A: Application, N: Analyze and E: Evaluate and above Levels
(Revised Bloom’s Taxonomy)
Note: This specification table shall be treated as a general guideline for students and teachers. The actual
distribution of marks in the question paper may vary slightly from above table.
Reference Books:
1. Operating System Concepts (8th Edition) by Silberschatz, Peter B. Galvin and Greg Gagne, Wiley-
Indian Edition (2010).
2. Modern Operating Systems (Third Edition) by Andrew S Tanenbaum, Prentice Hall India (2008).
3. Principles of Operating Systems by Naresh chauhan, Oxford Press (2014).
4. Operating Systems by D.M. Dhamdhere, Tata McGraw Hill 2nd edition.
5. Operating Systems (5th Ed) – Internals and Design Principles by William Stallings, Prentice Hall
India, 2000
6. UNIX Concepts and Applications(4th Edition)– by Sumitabha Das, Tata McGraw Hill.
7. Unix Shell Programming – by Yashwant Kanetkar, BPB publications.
Course Outcome:
After learning the course the students should be able to:
Understand various generations of Operating System and functions of Operating System.
Understand the concept of program, process and thread and Analyse various CPU Scheduling Algorithms
and compare their performance.
Solve Inter Process Communication problems using Mathematical Equations by various methods.
Compare various Memory Management Schemes especially Paging and Segmentation in Operating System.
Also apply various Page Replacement Techniques.
Understand File Systems in Operating System like UNIX/Linux and Windows.
Understand Input Output Management and use of Device Driver and Secondary Storage (Disk) Mechanism.
Analyse Security and Protection Mechanism in Operating System.
Write shell scripts in Linux/UNIX environment.
List of Experiments:
There should be minimum 10 programs/shell scripts.
Practical List:
1. Study of Basic commands of Linux/UNIX.
2. Study of Advance commands and filters of Linux/UNIX.
3. Write a shell script to generate marksheet of a student. Take 3 subjects, calculate and display total
marks, percentage and Class obtained by the student.
4. Write a shell script to find factorial of given number n.
5. Write a shell script which will accept a number b and display first n prime numbers as output.
6. Write a shell script which will generate first n fibonnacci numbers like: 1, 1, 2, 3, 5, 13,…
7. Write a menu driven shell script which will print the following menu and execute the given task.
8. MENU
9. Display calendar of current month
10. Display today’s date and time
11. Display usernames those are currently logged in the system
12. Display your name at given x, y position
13. Display your terminal number
14. Exit
15. Write a shell script to read n numbers as command arguments and sort them in descending order.
16. Write a shell script to display all executable files, directories and zero sized files from current
directory.
17. Write a shell script to check entered string is palindrome or not.
18. Shell programming using filters (including grep, egrep, fgrep)
19. Study of Unix Shell and Environment Variables.
20. Write a shell script to validate the entered date. (eg. Date format is : dd-mm-yyyy).
21. Write an awk program using function, which convert each word in a given text into capital.
22. Write a program for process creation using C. (Use of gcc compiler).
Assignment – It should consist of theoretical and analytical questions covering the whole syllabus.
Design based Problems (DP)/Open Ended Problem:
Major Equipments: Desktop, Laptop
List of Open Source Software/learning website:
- [Link]
ACTIVE LEARNING ASSIGNMENTS: Preparation of power-point slides, which include videos,
animations, pictures, graphics for better understanding theory and practical work – The faculty will allocate
chapters/ parts of chapters to groups of students so that the entire syllabus to be covered. The power-point
slides should be put up on the web-site of the College/ Institute, along with the names of the students of the
group, the name of the faculty, Department and College on the first slide. The best three works should submit
to GTU.