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