Course Objectives:
The objectives of this course is to
Introduce to the internal operation of modern operating systems
Define, explain, processes and threads, mutual exclusion, CPU scheduling, deadlock, memory management, and file systems
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
Analyze Security and Protection Mechanism in Operating System
Course Outcomes:
After learning, the course the students should be able to:
Describe various generations of Operating System and functions of Operating System
Describe the concept of program, process and thread and analyze 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 and apply various Page Replacement Techniques
Outline File Systems in Operating System like UNIX/Linux and Windows
UNIT I Operating Systems Overview:
Operating system functions, Operating system structure, Operating systems operations, Computing environments, Open-Source Operating Systems. System Structures: Operating System Services, User and Operating-System Interface, systems calls, Types of System Calls, system programs, operating system structure, operating system debugging, System Boot.
UNIT II Process Concept:
Process scheduling, Operations on processes, Inter-process communication, Communication in client server systems. Multithreaded Programming: Multithreading models, Thread libraries, Threading issues. Process Scheduling: Basic concepts, Scheduling criteria, Scheduling algorithms, Multiple processor scheduling, Thread scheduling. Inter-process Communication: Race conditions, Critical Regions, Mutual exclusion with busy waiting, Sleep and wakeup, Semaphores, Mutexes, Monitors, Message passing, Barriers, Classical IPC Problems - Dining philosophers problem, Readers and writers problem.
UNIT III Memory-Management Strategies:
Introduction, Swapping, Contiguous memory allocation, Paging, Segmentation. Virtual Memory Management: Introduction, Demand paging, Copy on-write, Page replacement, Frame allocation, Thrashing, Memory-mapped files, Kernel memory allocation.
UNIT IV Deadlocks:
Resources, Conditions for resource deadlocks, Ostrich algorithm, Deadlock detection and recovery, Deadlock avoidance, Deadlock prevention. File Systems: Files, Directories, File system implementation, management and optimization. Secondary-Storage Structure: Overview of disk structure, and attachment, Disk scheduling, RAID structure, Stable storage implementation.
UNIT V System Protection:
Goals of protection, Principles and domain of protection, Access matrix, Access control, Revocation of access rights. System Security: Introduction, Program threats, System and network threats, Cryptography for security, User authentication, Implementing security defenses, Firewalling to protect systems and networks, Computer security classification. Case Studies: Linux, Microsoft Windows.
Text Books:
1) Silberschatz A, Galvin P B, and Gagne G, Operating System Concepts, 9th edition, Wiley, 2013.
2) Tanenbaum A S, Modern Operating Systems, 3rd edition, Pearson Education, 2008. (for Interprocess Communication and File systems.)
Reference Books:
1) Dhamdhere D M, Operating Systems A Concept Based Approach, 3rd edition, Tata McGraw-Hill, 2012.
2) Stallings W, Operating Systems -Internals and Design Principles, 6th edition, Pearson Education, 2009
3) Nutt G, Operating Systems, 3rd edition, Pearson Education, 2004.
e-Resources: