Teaching
Course material
Lecture slides for the Operating Systems course and for MentOS itself. Every file is a PDF; nothing needs an account.
8 files
Operating Systems
The lecture course. These slides are about operating systems in general — the concepts, the mechanisms, and the vocabulary — and do not assume MentOS.
C Programming
The subset of C the rest of the course assumes — pointers, memory, and the compilation model.
Fundamental Concepts
What an operating system is for — kernel and user mode, the system-call boundary, and how a machine gets from power-on to a shell prompt.
Filesystem
Files, directories, inodes and mount points, and the interface a process actually sees.
Processes
Process creation and termination, the process tree, and what fork and exec each do.
IPC: System V concepts and semaphores
The System V IPC model, and semaphores as the primitive the rest of it is built on.
IPC: shared memory and message queues
Two ways for unrelated processes to exchange data, and when each is the right one.
IPC: signals, pipes and FIFOs
Asynchronous notification and byte streams — the mechanisms a shell is built out of.
Real-time scheduler basics
Deadlines, periodic tasks, and what makes a schedule feasible.
7 files
MentOS
The same topics again, but read off the source tree: where each mechanism lives in MentOS, and what the code actually does.
Fundamental Concepts
How MentOS is put together, and where in the tree each part of the course lives.
Process Management
The task structure, the process list, and the path a process takes through fork, exec and wait.
Real-time Scheduler
The scheduling policies MentOS ships, and the ones left as an exercise.
Memory Management
Two-level x86 paging, the buddy allocator, and the slab layer above it.
System Calls
The int 0x80 path from a libc wrapper to a kernel handler, and how to add one.
Timers
The PIT, the tick, and how the kernel measures time.
Signals
Delivery, handlers, and the return path back into user code.
1 file
Exercises
Worked exercises handed out alongside the lectures.
Deadlock prevention
A worked exercise on the conditions for deadlock and how to design them away.
