Skip to content

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.