Operating System

Operating System

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.

Introduction:
Basics of Operating Systems: Definition – Generations of Operating systems – Types of Operating Systems, OS Service, System Calls, OS structure: Layered, Monolithic, Microkernel Operating Systems – Concept of Virtual Machine
Process Management
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 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 :
Race Conditions, Critical Section, 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., Scheduling , Scheduling Algorithms.
Deadlocks:
Definition,Deadlock characteristics , Deadlock Prevention , Deadlock Avoidance :banker’s algorithm, Deadlock detection and Recovery.
Memory Management
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 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
Principles of I/O Hardware: I/O devices, Device controllers , Direct 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
File concept, Aaccess 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 & performance.
Security & Protection
Security Environment, Design Principles Of Security, User Authentication, Protection Mechanism : Protection Domain, Access Control List
Unix/Linux Operating System
Development Of Unix/Linux, Role & Function Of Kernel, System Calls, Elementary Linux command & Shell Programming, Directory Structure, System Administration
Case study: Linux, Windows Operating System