Skip to Main Content

Operating Systems: Course Outline (CS 3104)

An Operating System is the most widely used piece of software in any computer. Course is designed to give basic concepts in operating systems and how different choices in operating system design and implement

Recommended Books

E-Books (Full Text)

Course Outline

Introduction & Background

  •  Introduction to operating system, Application software, System software, Machine language,
  •  Microprogramming, Physical devices
  •  History of Operating Systems, Introduction to Unix, MS-DOS and Windows

Operating System Structure

  •    Process management, Memory management, File management, I/O system management, Secondary storage    management, Networking
  •   System protection, Operating system services
  •   OS layered approach, OS/2 layer structure, Virtual machines
  •   System design goals, Mechanisms and policies, Operating system implementation, System generation

Process Concepts

  •  The process concept, Program vs process
  •  Process creation, Process control block, Process table, Shell, Operation on processes
  •  Kernel/kernel mode
  •  System calls, Types of systems calls
  •  Interrupts, Interrupt processing, Types of Interrupts

Memory Management

  • Memory, memory hierarchy, Process loading and swapping, Memory management, Memory allocation methods, Single partition allocation
  • Storage management strategies, Fetch strategies, Placement strategies, Replacement strategies, Variable partition with compaction,
  • Non contiguous memory allocation: Paging vs Segmentation, Simple paging, Implementation of paging, Simple segmentation, Segment addressing,

Virtual Memory

  •  Virtual memory, Mechanism of virtual memory, Address translation, Page fault,
  •  Page replacement, Page replacement algorithm, FIFO, Belady’s anomaly, Optimal LRU, Random page replacement, LFU, MFU, Non-used recently page replacement algorithm
  •  Paging Mechanism, Additional techniques, Memory protection and sharing, MS-DOS Memory management, Windows memory management, Unix memory management

Process Management

  •  Context Switch, Process states, Process states transitions, Process life cycle, Five state process model, Unix process state transition diagram
  •  Scheduler, Scheduling algorithm, Objectives of Scheduling, Criteria for scheduling, CPU-bound vs I/O-bound processes
  •  Types of Scheduling, Process scheduling queues
  •  FCFS, SJF, Priority, Round Robin, Multilevel feedback queues scheduling
  • BSD Unix scheduling, Multiple processor scheduling
  • Threads, Thread support Solaris

Threads & Multitasking

  • Multitasking, Threads
  • Types of threads, Kernel threads, User level threads
  • Multithreading model, One to One Model, Many to One Model, Many to Many Model
  • Solaris 2 threads, Windows 2000 threads, Linux threads, Java threads

Concurrent Processes

  • Concurrent processes, Resources, Race condition
  • Critical section, Mutual Exclusion, Deadlock

Inter-process communication

  • Pipes, Semaphores, use of semaphore for critical section problem, Monitors, Signals, Message passing, use of messages for synchronization, Shared memory, Object linking & embedding