Syllabus

Assessment Objectives

  1. Grasp the basic concepts, principles, and functions of an operating system, and understand how the system runs as a whole.
  2. Grasp the strategies, algorithms, mechanisms, and interrelationships of operating system process, memory, file, and I/O management.
  3. Be able to apply the principles, methods, and techniques learned here to analyse and solve problems, and to describe the relevant algorithms in C.

1. Operating System Fundamentals

  • (a) Concepts, characteristics, functions, and services of an operating system
  • (b) Development and classification of operating systems
  • (c) The runtime environment of an operating system
    1. Kernel mode and user mode
    2. Interrupts and exceptions
    3. System calls
  • (d) Operating system architectures

2. Process Management

  • (a) Processes and threads
    1. The concept of a process
    2. Process states and transitions
    3. Process control
    4. Process organisation
    5. Process communication: shared memory systems; message passing systems; pipes
    6. The concept of a thread and multithreading models
  • (b) Processor scheduling
    1. Basic scheduling concepts
    2. Scheduling moments, switches, and the scheduling procedure
    3. Basic scheduling criteria
    4. Scheduling approaches
    5. Typical scheduling algorithms: first-come first-served; shortest job (or shortest process/thread) first; round-robin; priority scheduling; highest response ratio next; multilevel feedback queue.
  • (c) Synchronization and mutual exclusion
    1. Basic concepts of process synchronization
    2. Basic approaches to mutual exclusion in critical sections: software methods; hardware methods
    3. Semaphores
    4. Monitors
    5. Classical synchronization problems: producer–consumer; readers–writers; dining philosophers.
  • (d) Deadlock
    1. The concept of deadlock
    2. Deadlock handling strategies
    3. Deadlock prevention
    4. Deadlock avoidance: the safe state of the system and the Banker’s algorithm
    5. Deadlock detection and recovery

3. Memory Management

  • (a) Memory management fundamentals
    1. Concepts: program loading and linking; logical versus physical address spaces; memory protection
    2. Contiguous allocation management
    3. Non-contiguous allocation management: paging; segmentation; segmented paging
  • (b) Virtual memory management
    1. Core concepts of virtual memory
    2. Demand paging
    3. Page replacement algorithms: OPT; FIFO; LRU; CLOCK
    4. Page allocation strategies
    5. The working set
    6. Thrashing

4. File Management

  • (a) File system fundamentals
    1. The concept of a file
    2. Logical file structure: sequential files; indexed files; indexed sequential files
    3. Directory structure: file control blocks and inodes; single-level and two-level directory structures; tree-structured directories; graph-structured directories
    4. File sharing
    5. File protection: access types; access control
  • (b) File system implementation
    1. File system layering
    2. Directory implementation
    3. File implementation
  • (c) Disk organisation and management
    1. Disk structure
    2. Disk scheduling algorithms
    3. Disk space management

5. Input/Output (I/O) Management

  • (a) I/O management overview
    1. I/O control methods
    2. The I/O software layering
  • (b) The I/O core subsystem
    1. The concept of I/O scheduling
    2. Caching and buffering
    3. Device allocation and reclamation
    4. Spooling

Found an issue with this content?

Tell us what could be improved.