Dept. of Comp. Engg. Lecture Plan For CO24508 Operating Systems Course Instructor: Dr. Vandan Tewari
Dept. of Comp. Engg. Lecture Plan For CO24508 Operating Systems Course Instructor: Dr. Vandan Tewari
1. Computer Architecture
2. Data Structures & Good Programming Skills(C/C++/Java)
COURSE OBJECTIVE:
To enable a student in high level understanding of how operating systems work with respect to Process
management, Memory management, File Systems and I/O management.
COURSE OUTCOMES:
1. Describe and explain the importance and objectives of an operating system and various services
provided by the operating system.
2. Interpret the important functions of different modules of an Operating system, like process
management, memory management, device management and file system, etc and will be able to
apply these concepts in given test cases.
3. Compare and contrast different policies of CPU scheduling, Inter-process Communication, Page
replacement and disk scheduling algorithms etc.
4. Design and develop small modules, shell and utility programs using system calls of Linux or
some educational operating system.
Expected Work
1. Substantial Reading (Textbooks & References)
2. Homeworks (May require Programming)
3. Tests (at least two)+small quizzes (any number)+ Class Activities
Lect. 1: Introduction to Subject, Usage of reading this course function of an O.S, Desirable features
of an O.S. Structure of an O.S. , Evolution of O.S., Different Type of O.S, Overview of
Computer System.
Lect. 2:Booting process ,Different type of Operating System Services & methods of providing these
Services , Layered structure ,Monolithic & Microkernel Architecture, System Calls and System
Programs, Importance of System Calls
Lect. 3: Type of System Calls, Example and how do we make a call system call System Calls in
UNIX/ LINUX.
Lect. 4: Concept of Process, representation of process: PCB, State of process, Process Creation.
Scheduling of a process, Type of Schedule etc.Context switching, Different type of schedulers
in OS, Five State Process diagram. Introduction to CPU scheduling.
Lect. 5-6: System based and user based Scheduling Criteria , Scheduling algorithms.
Lect. 7 Numerical on CPU scheduling, Calculating turnaround time and waiting time
Lect. 8-9: Algorithm Evaluation. System calls for Process Management, Suitability of algorithm for
particular scenario in CPU scheduling. Threads, Process Vs. Threads, Various Models for
implementing Threads.
Lect.10: User level Threads and Kernel level threads, Process Synchronization, Real & Virtual
concurrency
Lect 11: Mutual exclusion, the critical section problem, Dekker’s & Peterson’s Solutions.
Lect.12: Peterson’s solutions continued, Inter process communication & Message passing,
classical problems of IPC
Lect.13-14: Solutions to problems of critical section and synchronization using semaphores (Wait/
Signal) and their implementation.
Lect.15: Monitors, Hardware Lock/ Unlock Instructions.
Lect.16: What is deadlock? Characterization of deadlock. Deadlock vs. Live lock, Handling
Deadlock.
Lect.17: Deadlock prevention, Deadlock Avoidance & Recovery
Lect.18-19: Deadlock avoidance mechanisms and comparison between techniques of prevention
Avoidance and detection
Lect.20: Address binding to be learned by students themselves, memory hierarchy, Logical Vs.
Physical address space, Overlays, Dynamic linking & loading, Different techniques of
memory management.
Lect.21 Contiguous memory allocation, Swapping, Memory allocation with multiple partitions,
Fragmentation & Compaction.
Lect.22: Paging, Hardware support and protection, Shared pages, Page table structures
Lect.23: Segmentation, Paged Segmentation, Case Study: Memory Management in Intel Pentium
Architecture
Lect.24: Performance of these techniques. Comparison of Techniques of memory management,
Virtual memory: concept & implementation, Demand paging, Copy on Write, page
Replacement.
Lect.25: Page replacement polices & Thrashing, Frame allocation to processes, Kernel memory
allocation, Issues related to paging: Pre paging, Page size etc. Case Study: Virtual memory
in Windows XP.
Lect.26-27: Concept of file, user’s programmer’s view of file systems. Ordered & unordered files,
Sequential files. Different File types, Directory structures, Partitioning of hard disk
Lect.28: High level & low level formatting. Disk space allocation methods, File system creation.
Lect.29: File System Implementation. Different Layers of File system. In Memory data structures
for file system implementation
Lect.30: Packing / Unpacking of blocks, File sharing.,Volume maps of UFS and NTFS, System
Calls for file management.
Lect.31: Classification of I/O devices: block & character devices, different I/O Techniques, I/O
Software goals, Assembly Structure of a hard Disk and access time of a disk.
Lect.32: Layers of I/O System, Interrupt handlers & Device drivers.
Lect.33: Devices independent I/O Software, user space I/O Software, Device Drivers & Controllers
Lect.34: Disk scheduling algorithms & their comparison.
Lect.35: Introduction to N/W OS & distributed OS,Introduction to real time OS and Multiprocessor
OS.
Lect.36: Case Study 1: UNIX/ LINUX, Case Study 2: Windows 7/8/10 etc.
Instructions to students.
1. The language for technical communication is strictly ENGLISH so you are advised to start
speaking ,writing & reading in English.
2. You are advised to attend classes sincerely & maintain proper online etiquette.
3. You will be given class activities for this course, which will be evaluated.
4. There will be 02 tests and any number of quizzes which will be taken for evaluation.
5. You can contact me for your problems regarding subject matter on Whatsapp group .
6. For OS Lab, you are advised to learn to install LINUX on your machine & start Learning the
basics.
7. Read the assigned chapter from the textbook before the lecture to understand the basic
idea & terminologies used.
8. This is a fundamental course and as other subjects ,would benefit you for the campus
selection so you are advised to be diligent in the lectures.
BEST OF LUCK