navigation

CMPU-334: Operating Systems

Fall 2021 Schedule

Date Topic Reading Assignments
Tue 8/31 Introduction Preface
1 Introduction Dialogue
2 Introduction
Thu 9/2 Processes 3 Virtualization Dialogue
4 Processes
5 Process API
6 Direct Execution
Tue 9/7 Scheduling: Introduction 7 CPU Scheduling
8 Multi-level Feedback
Thu 9/9 Scheduling: Linux CFS 9.7 Linux CFS
11 CPU Virtualization Summary
Tue 9/14 Memory Allocation: Malloc 14 Memory API
17 Free Space Management
Utility Lab
Due Monday September 27th
Thu 9/16 Address Translation 12 Memory Virtualization Dialogue
13 Address Spaces
15 Address Translation
16 Segmentation
Tue 9/21 Paging: Introduction 18 Introduction to Paging
19 Translation Lookaside Buffers
Thu 9/23 Advanced Page Tables 20 Advanced Page Tables
Tue 9/28 Swapping: Mechanisms and Policy 21 Swapping: Mechanisms
22 Swapping: Policies
Thu 9/30 Complete VM Systems 23 Complete VM Systems
24 Memory Virtualization Summary
Tue 10/5 Quiz1
Thu 10/7 Threads 25 Concurrency Dialogue
26 Concurrency and Threads
27 Thread API
Tue 10/12 Locks 28 Locks
Thu 10/14 Condition Variables 30 Condition Variables
Tue 10/19 No Class: Break
Thu 10/21 No Class: Break
Tue 10/26 Locked Data Structures 29 Locked Data Structures
Thu 10/28 Semaphores 31 Semaphores
Tue 11/2 Concurrency Bugs 32 Concurrency Bugs
34 Concurrency Summary
Thu 11/4 Virtual Machines Virtual Machines
Tue 11/9 Quiz2
Thu 11/11 I/O and Disks 35 Persistence Dialogue
36 I/O Devices
37 Hard Disk Drives
Tue 11/16 Files and Directories 39 Files and Directories
Thu 11/18 File System Implementation 40 File System Implementation
Tue 11/23 Fast File System and Journaling 41 Fast File System (FFS)
42 FSCK and Journaling
Thu 11/25 No Class: Thanksgiving
Tue 11/30 Intro to OS Security 52 A Dialogue on Security
53 Security Intro
Thu 12/2 Authentication and Access Control 54 Authentication
55 Access Control
Tue 12/7 Cryptography and Distributed Security 56 Cryptography
57 Distributed Security