National Institute of Technology Rourkela

राष्ट्रीय प्रौद्योगिकी संस्थान राउरकेला

ଜାତୀୟ ପ୍ରଯୁକ୍ତି ପ୍ରତିଷ୍ଠାନ ରାଉରକେଲା

An Institute of National Importance

Syllabus

Course Details

Subject {L-T-P / C} : CS3062 : Principles of Operating Systems { 3-0-0 / 3}

Subject Nature : Theory

Coordinator : Prof. Manmath Narayan Sahoo

Syllabus

Introduction to operating systems: review of computer organization, operating system structures, system calls, system programs, virtual machine, Process concept, Process scheduling, Operations on processes, Cooperating processes, Inter-Process-Communication (IPC), Communication in client-server systems
CPU Scheduling: Scheduling criteria, Scheduling algorithms, Multiple processor scheduling, Real time scheduling, Algorithm evaluation
Process synchronization: The critical section problem, Synchronization hardware, Semaphores, Classical problems of synchronization
Deadlock: Methods for handling deadlocks, Deadlock Prevention, Deadlock Avoidance, Deadlock Detection, Recovery from Deadlock
Memory Management: Background, Swapping, Contiguous memory allocation, Paging, Segmentation, Segmentation with paging, Virtual memory - Background, Demand Paging, Process Creation, Page replacement, Allocation of frames, Thrashing
File System Interface: File Concept, Access methods, Directory Structure, Allocation methods, Free space management, Disk Scheduling, Disk Management, Swap space management, RAID
Concepts of Advanced OS: Distributed, Real Time, Multiprocessor, Network, Embedded, Database Operating Systems

Course Objectives

  • General understanding of structure of modern computers
  • To understand the purpose, structure and functions of operating systems
  • To illustrate key OS aspects by example
  • To study and apply concepts relating to operating systems, such as concurrency, deadlocks, memory management, processor and disk scheduling, parallel processing, and file system organization

Course Outcomes

Up on successful completion of this course a student will be able to: <br />1. explain the basic structure and functioning of operating system <br />2. differentiate between processes and threads <br />3. point the problems related to process management and synchronization and apply learned methods to solve basic problems <br />4. explain the cause and effect related to deadlocks and to analyse them related to common circumstances in operating systems <br />5. explain the basics of memory management, the use of virtual memory in modern operating systems and the structure of the most common file-systems

Essential Reading

  • Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Operating System Concepts, Wiley
  • William Stallings, Operating Systems, Internals and Design Principles, Pearson Education

Supplementary Reading

  • Andrew S. Tanenbaum, Herbert Bos, Modern Operating Systems, Prentice Hall
  • Remzi Arpaci-Dusseau, Andrea Arpaci-Dusseau, Operating Systems: Three Easy Pieces, Arpaci-Dusseau Books