Lecture Content

CS180_L_01 The 3 big concepts - The 3 big concepts that govern Operating Systems

CS180_L_02 OS Overview - An overview of the components of a typical OS

CS180_L_03 Processes 1 - Process Basics - What is a process, what do they contain, and how does the OS treat them?

CS180_L_04 Processes 2 - Fork, Wait, and Exec - Using the Fork, Wait, and Exec system calls in Linux

CS180_L_05 Processes 3 - IPC via Shared Memory - Commands and MAN pages for Shared Memory in Linux

CS180_L_06 Threads 1 - Thread Basics - Intro to threads, which we cover further in the Textbook and Meads notes

CS180_L_07 Paging and Page Tables - Paging and Page Tables, why we need them, and how they work

CS180_L_08 Scheduling - Virtualizing the CPU - How we virtualize the CPU via scheduling algorithms

(No L9 right now, please ignore)

CS180_L_10 Synchronization - Synchronization Primitives, including Mutexes and Semaphores

Extras

Beej’s guide to Interprocess Communication - A good primer on the myriad IPC methods, including Shared Memory, Sockets, Memory mapped files, and Pipes!

Tutorial Content

Tutorial - WSL Install and Visual Studio Instructions - How to install WSL and use it in Visual Studio