Week |
|
|
Slides |
Videos (entire playlist) |
Week 1 (video playlist)
Introduction
|
OS Overview.
Why study it ?
Chapters 1.1-1.7
|
History of OSs
Chapter 10.1, 11.1
|
Week 1 slides (pdf)
|
1. Introduction
2. What is an OS?
3. User mode / kernel mode / hardware hierarchy: from machine language to applications
4. OS in action and Interrupts
5. Interrupts (continued)
6. Exceptions and system calls; Operating system today
|
|
Week 2 (video playlist)
Processes
|
Processes/Threads
Chapters 2.1-2.3
|
Scheduling Algorithms
Chapters 10.3 11.4
|
Week 2 slides (pdf)
|
7. Processes & Threads in Operating Systems
8. Process in memory; Processes VS threads; Multithreading
9. UNIX processes - state machine, scheduling, creation, collaboration, IPC
10. All about processes: creation via fork/exec, termination via exit(), and wait()
11. From Single-threaded programs to Multithreaded applications
12. Scheduling
13. First-Come, First-Served (FCFS) scheduling
14. Round Robin (RR) scheduling
15. First-Come, First-Served (FCFS) VS Round Robin (RR) scheduling comparison
16. Shortest-Job First (SJF) scheduling
17. Other scheduling policies (priority-based, multilevel queue, lottery); Summary
|
Week 3 (video playlist)
Synchronization
|
Atomics. Bounded Buffer
Chapters 2.3-2.5
|
Conditional Synchronization
Chapters 2.6, 2.7
|
Week 3 slides (pdf) + Bonus: Parallel Linked List (pdf)
|
18. Introduction to concurrency and synchronization
19. Multithreaded programs and atomic operations
20. "Too much milk!" example
21. Correctness conditions; Synchronization summary
22. How to implement locks?
23. Implementation of the locks
24. Locks: basic spin-lock, Test-and-Set lock, Test-and-Test-and-Set lock
|
Week 4
More Synchronization
|
Monitors/Semaphores
Chapters 2.1-2.3
|
Dining Philosophers
|
Week 4 slides (pdf)
|
25.
26.
27.
28.
29.
30.
31.
32.
33.
|
|
Week 5
Deadlocks
|
What are they?
Chapters 6.1-6.3
|
Bankers Algorithm
Chapters 6.4-6.7
|
Week 5 slides (pdf)
|
34.
35.
36.
|
Week 6
Virtual Memory
|
Virtual Memory
Chapters 4.1-4.3
|
TLBs and PageTables
Chapters 4.7-4.8
|
Week 6 slides (pdf)
|
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
|
|
Week 7
Page Replacement
|
Page replacement algorithms
Chapters 4.4-4.5
|
Implementation issues
Chapters 4.7
|
Week 7 slides (pdf)
|
50. SFU CMPT 300: Week 7 Part 1
51. SFU CMPT 300: Week 7 Part 2
52. SFU CMPT 300: Week 7 Part 3
|
Week 8
I/O
|
I/O Devices
Chapters 5
|
Memory Mapped I/O and Software
Chapters 5.3
|
Week 8 slides (pdf)
|
53. SFU CMPT 300: Week 8 Part 1
54. SFU CMPT 300: Week 8 Part 2
55. SFU CMPT 300: Week 8 Part 3
|
Week 9
Filesystems
|
Filesystems
Chapters 6
|
Filesystem consistency
Chapter 6
|
Week 9 slides (pdf)
|
56. SFU CMPT 300: Week 9 Part 1
|
Week 10
Security
|
Protection
Chapters 9.6
|
Cryptography
Chapters 9.2
|
Week 10 slides (pdf)
|
|
|
|
|