CMPUT 379 - Operating System Concepts

Overview

Definition of a process; process states and state transitions; process control block; operations on processes; interrupt processing; parallel processing; resource allocation; shared and unshared allocation; critical sections; semaphores; deadlock; deadlock prevention, avoidance, detection, and recovery; memory management; memory allocation schemes; virtual memory; paging and segmentation; page replacement strategies; working sets; demand paging; job and processor scheduling; scheduling levels, objectives, and criteria; various scheduling algorithms; multi-processor considerations; file system functions; file organization; tree-structured file systems; space allocation; file catalogs; file access control mechanisms; operating systems security.

Objectives

  • Have a basic understanding of operating system organization
  • Understand several new aspects of programming such as:
    • Process scheduling
    • Process synchronization
    • Multi-process computation
    • Deadlock avoidance
    • File system organization
    • Security

Course Work

  • Assignments
  • Midterm
  • Final Exam