Principles of Operating Systems

(CMSC 421)

Lectures

Introduction/Kernel-Userspace Boundary

[Reading material: Chapter 2 (Silberchatz)]

Overview/Userspace-kernel Boundaries/System Calls [Lecture (pptx)] [Lecture (pdf)]

System Call Invocation Details with Kernel Source Read [Lecture(pptx)] [Lecture(pdf)] [Source code]

Learn about the boot process in linux [Lecture (pptx)] [Lecture (pdf)] [Source code]

Processes, Threads, and Synchronization [Chapter 3, 4, 6, 7]

Process (Intro) [Lecture (pdf)] [Lecture (pptx)]

Processes (fork(), pipes(), dup2()) with Kernel Source Read [Lecture (pdf)] [Lecture (pptx)] [Source code]

IPC (signals, mkfifo(), shmget(), mmap () )[Lecture (pptx)], [Lecture (pdf)] , [Source Code]

Threads (pthread()) [Lecture(pptx)] [Lecture(pdf)] [Source]

Threads (mutexes) [Lecture(pdf)] [Lecture (pptx)]

Synchronization (conditionals, semaphores, locks) [Lecture (pptx)] [Lecture (pdf)] [Source file]

Advanced synchronization and Deadlock [pptx] [pdf] [Source]

Deadlocks [pptx] [pdf]

CPU Scheduling

Intro to Scheduling [pptx] [pdf]

Scheduling objectives [pptx] [pdf]

Scheduling policies, Linux kernel scheduler, Kernel source read [pptx] [pdf]

Memory Management

Memory hierarchy (registers, caches, main memory, disk), virtual memory [pptx] [pdf]

virtual memory and paging [pdf] [pptx]

memory allocator and paging [pptx] [pdf]

memory allocator page replacement policies [pptx] [pdf]

page replacement policy (physical mem)[pdf] , [pptx]

kernel memory allocator [pdf] [pptx]

File Systems

File System Organization [pdf] [pptx]

File System Implementation [pdf] [pptx]

Other topics

Security, protection (FS access control, setuid, sudo etc.)

Feedback/Comments