BITM Operating System
bitmsemester 4
Operating System
Subject Code: IT241
Course Title: Operating System
Course No: IT241
Nature of Course: Theory & Practical
Full Marks: 60
Pass Marks: 30
Credit Hours: 3
Course Description
This course includes the basic concepts of operating system. It consists of process management, deadlocks and process synchronization, memory management techniques, File system implementation, I/O device management principles, Operating system security, Distributed operating system. It also includes case study on Linux, Windows and Mobile operating system.
Course Objective
This course aims to provide the students both theoretical and practical knowledge of operating system components such a scheduler, memory manager, file system handlers and I/O device managers, operating system security.
Course Contents
| Course Contents | Teaching Methodology | Teaching Hours |
|---|---|---|
| Unit 1: Operating System Overview (4 Hrs.) | ||
| Introduction of Operating System | Lecture/Lab | |
| Evolution of Operating System | ||
| Types of OS | ||
| Function of Operating System | ||
| System Call | ||
| Handling System Calls | ||
| Operating System Structures | ||
| Kernel and its types | ||
| Shell | ||
| Open-Source Operating Systems | ||
| Unit 2: Processes and Threads (11 Hrs.) | ||
| Process vs Program | Lecture/Lab | |
| Multiprogramming | ||
| Process Model | ||
| Process Creation | ||
| Process States | ||
| Process Control Block | ||
| Threads | ||
| Thread vs Process | ||
| User and Kernel Space Threads | ||
| Inter Process Communication: Race Condition, Critical Regions, Implementing Mutual Exclusion: Mutual Exclusion with Busy Waiting (Disabling Interrupts, Lock Variables, Strict Alteration, Peterson’s Solution, Test and Set Lock), Sleep and Wakeup, Semaphore, Monitors, Message Passing | ||
| Process Scheduling: Introduction and aim, Batch System Scheduling (First-Come First-Served, Shortest Job First, Shortest Remaining Time Next), Interactive System Scheduling (Round-Robin Scheduling, Priority Scheduling, Multiple Queues) | ||
| Classical IPC problems: Producer Consumer, Sleeping Barber, Dining Philosopher Problem | ||
| Unit 3: Deadlocks (5 Hrs.) | ||
| Introduction | Lecture/Lab | |
| Deadlock Characterization | ||
| Preemptable and Non-preemptable Resources | ||
| Resource Allocation Graph | ||
| Conditions for Resource Deadlock | ||
| Handling Deadlocks: Ostrich Algorithm, Deadlock prevention, Deadlock Avoidance: Banker’ Algorithm, Deadlock Detection (For Single and Multiple Resource Instances), Recovery from Deadlock (Through Preemption and Rollback) | ||
| Unit 4: Memory Management (8 Hrs.) | ||
| Introduction | Lecture/Lab | |
| Logical vs. Physical Address Spaces | ||
| Monoprogramming vs. Multiprogramming | ||
| Modelling Multiprogramming | ||
| Relocation and Protection | ||
| Memory Management with Swapping: Bitmaps and Linked-list | ||
| Memory Allocation Strategies: Fixed-partition and Variable-partition strategies | ||
| Virtual memory: Paging, Page Table, Structure of Page Table, Handling Page Faults, TLB’s, Page Replacement Algorithms: FIFO, Second Chance, LRU, Optimal, LFU, Clock, WS-Clock, Concept of Locality of Reference | ||
| Segmentation: Need of Segmentation, its drawbacks, Segmentation with Paging | ||
| Unit 5: File Management (6 Hrs.) | ||
| File Overview: File Naming, File Structure, File Types, File Access, File Attributes, File Operations | Lecture/Lab | |
| Single Level, two Level and Hierarchical Directory Systems | ||
| File System Layout | ||
| Implementing Files: Contiguous allocation, Linked List Allocation, Linked List Allocation using Table in Memory, Inodes | ||
| Directory Operations | ||
| Path Names | ||
| Directory Implementation | ||
| Shared Files | ||
| Free Space Management: Bitmaps, Linked List | ||
| Unit 6: Device Management (6 Hrs.) | ||
| Classification of I/O devices | Lecture/Lab | |
| Controllers | ||
| Memory Mapped I/O | ||
| DMA Operation | ||
| Interrupts | ||
| Goals of I/O Software | ||
| Handling I/O (Programmed I/O, Interrupt Driven I/O, I/O using DMA) | ||
| I/O Software Layers (Interrupt Handlers, Device Drivers) | ||
| Disk Structure | ||
| Disk Scheduling (FCFS, SSTF, SCAN, CSCAN, LOOK, CLOOK) | ||
| Disk Formatting (Cylinder Skew, Interleaving, Error handling) | ||
| RAID | ||
| Unit 7: Operating System Security (2 Hrs.) | ||
| Basic Concepts of Operating System Security | Lecture/Lab | |
| Security Problems | ||
| Authentication and Authorization Mechanisms | ||
| Controlling access to resources | ||
| model of secure system | ||
| Unit 8: Distributed Operating System (2 Hrs.) | ||
| Introduction | Lecture/Lab | |
| Advantages of Distributed operating system over centralized operating System | ||
| Communication Structure in Distributed system | ||
| message passing in Distributed System | ||
| Remote file Access | ||
| Unit 9: Case Study (4 Hrs.) | ||
| Windows Operating System | Lecture/Lab | |
| Linux Operating System | ||
| Mobile Operating System |
Text Books
1. A. S. Tanenbaum, H. Bos “Modern Operating Systems”, Pearson Education, Inc., Fourth edition, 2016.
2. A. Silberschatz, P. B. Galvin and G. Gagne, “Operating System Concepts”, John Wiley & Sons (ASIA) Pvt. Ltd, Tenth Edition, 2018.
3. H. M. Deitel, P. J. Deitel, and D. R. Choffnes, “Operating Systems, Pearson Education, Inc., Third Edition, 2003.
4. W. Stallings, “Operating Systems: Internals and Design Principles”, Pearson Education, Inc., 2018 Ninth Edition
Lab Works
The laboratory work includes solving problems in operating system covering all the listed topic above.
