This page presents the “modules”, or the topics that are covered in this course.
Click on the tile associated with a module to go to a page containing that module’s contents.
The Von Neumann model, the fetch-decode-execute cycle, memory, and multi-core architectures.
The kernel, user mode, interfaces, system calls.
Process, address space, context switching, fork(), orphans, and zombies.
User vs. kernel threads, Java threads, OS implementations.
Scheduling definitions, standard algorithms, OS implementations
Race conditions, locks, variables, monitors, deadlock
Allocation algorithms, binpacking algorithms, fragmentation.
Paging, page tables, page faults, swapping.
Hard drives, disk scheduling, RAID, SSDs.
Files, directories, links, disk blocks, journaling