Department of Computer Science and Engineering

B.Tech. III (CO) Semester - 6

L

T

P

C

CO302 : OPERATING SYSTEMS (CS-1)

3

1

2

5

COURSE OBJECTIVES
  • Recognize the concepts and principles of operating systems.
  • Provide comprehensive introduction to understand the underlying principles, techniques and approaches which constitute a coherent body of knowledge in operating systems.
  • To teach understanding how the various elements that underlie operating system interact and provides services for execution of application software.
  • COURSE OUTCOMES
    After successful completion of this course, student will be able to
    • Identify basic components of operating system.
    • Conceptualize synchronization amongst various components of a typical operating system.
    • Understand and simulate activities of various operating system components.
    • Correlate basic concepts of operating system with an existing operating system.
    COURSE CONTENT
    INTRODUCTION TO MICROPROCESSORS EVOLUTION

    (04 Hours)

    Operating Systems (OS) Objectives, Formal Definition, Evolution, Types, DMA & Multiprogramming , OS Interfaces,- The Command-less command interpreter systems , Device drivers – Examples

    PROCESSES, THREADS, SCHEDULING

    (06 Hours)

    Process Management: The process concept - Programs, Processes & Threads – Process Control Block – PCB as a data structure in contemporary operating systems - Process Hierarchy - System Calls - CPU Scheduling & algorithms metrics – Examples, Uniprocessor-Multiprocessor and Real-Time Scheduling, Case Study: Unix and its related System Calls

    INTERPROCESS SYNCHRONIZATION & COMMUNICATION

    (10 Hours)

    Concurrent Processes - The Critical Section & Mutual Exclusion problem - Algorithms - Semaphores, Critical Region, Conditional Critical Region, Monitors, Messages - Examples in Contemporary OS - Classical Process Co-ordination Problems. Deadlocks: Characterization - Prevention - Avoidance - Detection - Recovery - Combined Approach to Deadlock handling & Deadlock Handling in contemporary OS, Case Study: Unix and its related System Calls

    MEMORY MANAGEMENT

    (04 Hours)

    Memory Hierarchy, Static and Dynamic Memory Allocation, Overview of Swapping, Multiple Partitions Contiguous and Non-Contiguous Memory Allocation, Concepts of Paging, Segmentation, Case Study: Unix and its related System Calls.

    VIRTUAL MEMORY

    (06 Hours)

    Virtual Memory Concepts - Demand paging - Performance - Fragmentation & Compaction. Page replacement and Allocation algorithms –Resident Set Management- Cleaning Policy -Memory Protection - System Calls – Linux/Windows Virtual Memory Techniques, Case Study: Unix and its related System Calls

    DEVICE MANAGEMENT

    (04 Hours)

    Terminals & Capability Databases - Emulators - Virtual Terminals - Disk Devices - Device Independence - Free space management - Performance and Reliability - Storage hierarchy, Case Study: Unix and its related System Calls.

    FILE SYSTEMS AND PROTECTION MECHANISM

    (04 Hours)

    Levels - File Systems in Disk Partitions - File-naming & File Access - Allocation strategies - Directory systems & their implementations - File Systems to device drivers - File Systems Reliability – Examples of fsck() and fsdb() utilities - File protection - Implementation issues, Case Study: Unix and its related System Calls.

    ADVANCED TOPICS

    (04 Hours)

    Tutorials will be based on the coverage of the above topics separately

    (14 Hours)

    (Total Contact Time: 42 Hours + 14 Hours = 56 Hours)
    BOOKS RECOMMENDED
    1. Silberschatz, Galvin and Gagne: "Operating System Concepts", 8/E, John Wiley & Sons, 2014.
    2. W. Stallings: "Operating Systems: Internals and Design Principles", 7/E, Pearson Pub., 2014.
    3. A Tanenbaum,A Woodhull: "Operating Systems - Design and Implementation", 3/E, PHI EEE, 2006.
    4. Crawley: "Operating Systems - An Design Oriented Approach", 1/E, McGraw Hill, 1998.
    5. Kernighan & Pike: "UNIX programming Environment", 2/E, PHI-EEE, 2001.
    6. W Richard Stevens, Stephen A Rago, "Advanced Programming in the UNIX Environment"; 3/E, Addison Wesley Professional, 2013.