August
M Tuesday W Thursday F
20 

21 
Before Class:
Syllabus
Set-up a Linux environment and C compiler (instructions for Windows)
Preprocessor Directives
Session 1: Intro to C and Pointers (start at 3:20) (from Dr. Obando's C Workshop)

Class:
Introduction
Syllabus
Hello, world
C: Compiling
Class notes
22 

23 
Before Class:
Casting and Misc. Operators
Session 2: Arrays and Pointer Arithmetic (audio is garbled)

Class:
C: Preprocessor
C: Comments
C: Numeric Data Types
C Exercises
Class notes
Deadline for full refund
24 

27 

28 
29 

30 
Before Class:
Quiz: C: Preprocessor and Comments and Data Types
Session 7: Bit Flags (Booleans)
Session 11: Typedefs and Structs

Class:
C: Pointers
C Exercises
Class notes
31 
Due:
Quiz: Type Conversion and Arrays and Pointers

September
M Tuesday W Thursday F

Before Class:
C-style Strings
Dynamic Memory Allocation in C (8:28)
Switch Statements
Do-while Loops
For Loops

Class:
C: C-style Strings
C: Command-line arguments
C: Libraries
C: Memory Allocation (example)
C Exercises
Class notes

Before Class:
Quiz: C-Style Strings and Command-line arguments and Libraries and Memory Allocation
Tutorial cover Section 4 (5 pages)
Sections 16.1 - 16.3 (pages 109 - 143)

Class:
C: Memory Allocation (example)
C: Control Structures
C: Structured Data Objects
C: Functions
C: File I/O
C Exercises
Class notes

10 

11 
Before Class:
Quiz: Control Structures and Structs and Functions
comet icon Preface (4 pages)
comet icon Chapter 1 Dialogue (2 pages)
comet icon Chapter 2 Introduction (18 pages)
Quiz: Chapter 2

Class:
C: File I/O
C Class notes
Overview of virtualization, concurrency, persistence and history of OSs
Class notes
12 

Fall Student Appreciation (12:30 PM, CCT lobby)
13 
Before Class:
Quiz: File I/O
comet icon Chapter 3 Dialogue (2 pages)
comet icon Chapter 4 Processes (12 pages)
Quiz: Chapter 4

Class:
Processes
Process creation
Process state (exercises)
Class notes
Deadline to Withdraw with WP
14 

17 

18 
Before Class:
comet icon Chapter 5 Process API (11 pages)
Quiz: Chapter 5

Class:
Process API: fork(), exec(), and wait()
UNIX Shell Command Line (Unix Commands)

Due:
Project 1
19 

20 
Before Class:
comet icon Chapter 6 Direct Execution (14 pages)
comet icon Chapter 7 CPU Scheduling (12 pages)
Quiz: Chapter 6
Quiz: Chapter 7

Class:
UNIX Shell Command Line (Unix Commands)
Direct execution
User & kernel modes
Context switches
Class Notes
21 

24 

25 
Before Class:
comet icon Chapter 8 Multi-level Feedback (12 pages)
comet icon Chapter 9 Lottery Scheduling (10 pages) (9.0 - 9.1, skim the rest)
comet icon Chapter 11 Summary (2 pages)
Quiz: UNIX commands
Quiz: Chapters 8 & 9

Class:
CPU scheduling
Turnaround time
Response time
Scheduling algorithms: FIFO, shortest job first, shortest time-to-completion first, round robin
CPU scheduling using a multi-level feedback queue
Lottery scheduling
26 

27 
28 


October
M Tuesday W Thursday F

Before Class:
comet icon Chapter 14 Memory API (11 pages)
Quiz: Chapter 14

Class:
Memory allocation (malloc(), free())
Types of memory: stack and heap
Exam 1 (in CCT 409) (topics)

Before Class:
comet icon Chapter 15 Address Translation (14 pages)
comet icon Chapter 16 Segmentation (12 pages)
Quiz: Chapters 15 & 16

Class:
Address translation (virtual and physical addresses)
Base and bounds address translation
Segmentation (exercises) (translation code)
Free List management algorithms


Before Class:
comet icon Chapter 17 Free Space Management (17 pages)
Quiz: Chapter 17

Class:
Free List management algorithms
Free Space Management (exercises)
External fragmentation
Internal fragmentation
Free space management strategies
10 

University Closed
11 

12 

15 

Fall Break
16 

17 

18 
Before Class:
comet icon Chapter 18 Introduction to Paging (14 pages)
comet icon Sections 19.0 & 19.8 (1 1/2 pages)
comet icon Sections 20.0 & 20.6 (1 page)
comet icon Chapter 21 Beyond Physical Memory: Mechanisms (11 pages)
Quiz: Chapter 18


Class:
Free Space Management (exercises)
Free space management strategies
Paging
Virtual page number (VPN) and offset
Physical frame number
Class Notes
19 

22 

23 
Before Class:
comet icon Chapter 22 Swapping: Policies (18 pages)
comet icon Chapter 24 Summary (3 pages)
Quiz: Chapter 22

Class:
Translation-lookaside Buffers (TLBs)
Swap space
Page-faults
Page-replacement policies (e.g., Optimal, FIFO, Random, LRU, Clock) (exercises)
24 

25 
Before Class:
comet icon Chapter 25 Dialogue (2 pages)
comet icon Chapter 26 Concurrency and Threads (16 pages)
Quiz: Chapter 26

Class:
Critical section
Race condition
Indeterminate programs
Mutual exclusion

Due:
Project 2
26 

29 

30 
Before Class:
comet icon Chapter 27 Thread API (12 pages)
Quiz: Chapter 27
comet icon Sections 28.0 - 28.8 and 28.12 - 28.17 (20 pages)


Class:
Threads
Thread creation
Thread completion
Locks
Condition variables
Locks
Pthread locks
Spin-wait
Test-and-set instructions
Spin locks
31 


November
M Tuesday W Thursday F
Before Class:
Condition variables
Exam2 In CCT 407 (topics)

Class:
Exam2 Game Review (topics)


Before Class:
comet icon Chapter 30 Condition Variables (17 pages)

Class:
Condition variables (Producer/consumer problem)
Exam2 In CCT 407 (topics)

Before Class:
comet icon Chapter 31 Semaphores (18 pages)

Class:
Semaphores
Binary semaphores (locks)

12 

13 
Before Class:
comet icon Chapter 32 Common Concurrency Problems (17 pages)
comet icon Chapter 34 Summary (2 pages)

Class:
Dining philosophers problem
Readers-Writers Lock
Non-deadlock currency bugs
Deadlock
Conditions for deadlock
Deadlock prevention
Deadlock Avoidance
14 

15 
Before Class:
comet icon Chapter 35 Dialogue (2 pages)
comet icon Chapter 36 I/O Devices (13 pages)

Class:
Deadlock prevention
Deadlock Avoidance
I/O devices
CPU-guided data movement
Interrupts
Interrupt service routines / interrupt handlers
Direct memory access data movement
16 

19 

Thanksgiving Week
20 

21 

Thanksgiving Day
22 

23 

26 

27 
Before Class:
comet icon Chapter 37 Hard Disk Drives (17 pages) (skim 37.5)
comet icon Chapter 38 Redundant Disk Arrays (RAIDs) (19 pages) (Intro, summary and know what each level does and is good for)

Class:
Hard disk drives
Hard disk drives' physical structure
I/O Timing
Disk Scheduling
Redundant array of inexpensive disks (RAIDs)
28 

29 
Before Class:
comet icon Chapter 39 Files and Directories (19 pages)

Class:
Files
Creating files
Reading and writing files
Removing files
Directories

Due:
Project 3 - Thread Synchronization
30 


December
M Tuesday W Thursday F

Before Class:
comet icon Chapter 40 File System Implementation (18 pages)
comet icon Sections 44.0 & 44.11 Flash-based SSDs (2 pages)
comet icon Chapter 46 Summary (2 pages)

Class:
Making directories
Reading directories
Deleting directories
Hard & symbolic links
Mounting a file system
File system implementation
Inodes
Flash-based SSDs
SSD performance
Final Game Review



10 

11 
Class:
Final Game Review (part II)
Final (CCT 409, 4:15 - 6:45 PM) (topics)
12 

13 

14 

Legend

Read
comet Read Chapter / Section(s) in Operating Systems: Three Easy Pieces
Watch video
Assignment (submit through CougarVIEW)
Project (submit through CougarVIEW)
CougarVIEW Quiz
Exam / Test