CIS*3110: Operating Systems¶
Free, open-source study notes for CIS*3110 at the University of Guelph. Covers all major course topics with diagrams, worked examples, and quick reference tables.
Notes by Sabrina Haniff: feel free to use, share, and contribute.
What's Covered¶
| Topic | Description |
|---|---|
| Introduction to OS | OS role, system calls, user/kernel mode, process states |
| Processes | PCB, process states, fork/exec/wait, IPC, pipes |
| CPU Scheduling | FCFS, SJF, SRTF, Round Robin, Priority scheduling |
| Synchronization | Critical sections, semaphores, mutexes, classic problems |
| Deadlock | Coffman conditions, resource allocation graphs, Banker's algorithm |
| Memory Management | Paging, TLB, segmentation, address translation |
| Virtual Memory | Demand paging, page faults, page replacement algorithms |
| File Systems | File allocation, inodes, directories, permissions |
Quick Reference¶
See the Quick Reference Guide for all key formulas and algorithm summaries.
How to Use These Notes¶
Use the navigation tabs at the top to jump between topics, or the search bar to find anything specific. Each page has a table of contents on the right side.
Contributing¶
Found a mistake or want to add something? PRs are welcome on GitHub.