前言
这是北京大学《操作系统(实验班)》的课程笔记,本课程由金鑫老师教授。
阅读入口
系统抽象
- Lecture 01: What is an Operating System? / Four Fundamental OS Concepts
- Lecture 02: Abstractions 1: Threads and Processes
- Lecture 03: Abstractions 2: Files and I/O
- Lecture 04: Abstractions 3: IPC, Pipes and Sockets
并发同步
- Lecture 05: Synchronization 1: Concurrency
- Lecture 06: Synchronization 2: Semaphores and Bounded Buffer
- Lecture 07: Synchronization 3: Lock Implementation, Atomic Instructions, and Monitors
- Lecture 08: Synchronization 4: Readers/Writers
调度
- Lecture 09: Scheduling 1: Concepts and Classic Policies
- Lecture 10: Scheduling 2: Case Studies, Fairness, Real Time, and Forward Progress
- Lecture 11: Scheduling 3: Scheduling & Deadlock
- Lecture 12: Scheduling 4: Scheduling in Modern Computer Systems
虚拟内存
- Lecture 13: Memory 1: Address Translation and Virtual Memory
- Lecture 14: Memory 2: Virtual Memory, Caching and TLBs
- Lecture 15: Memory 3: Demand Paging
- Lecture 16: Memory 4: Page Replacement, Clock, and Thrashing
- Lecture 17: Memory 5: Memory Management in Modern Computer Systems
I/O 与文件系统
- Lecture 18: I/O: General I/O, Disk and SSD
- Lecture 19: File System 1: I/O Performance and File System Design
- Lecture 20: File System 2: File System Case Studies and Buffering
- Lecture 21: File System 3: Buffering, Reliability, and Transactions
- Lecture 22: File System 4: Transactions and Distributed Decision Making
- Lecture 23: File System 5: Storage and File Systems in Modern Computer Systems
阅读方式
如果只是快速回顾,可以先看每一讲的导读和本讲地图;如果要补细节,再顺着正文里的图和表往下读。操作系统这门课的重点不在于记住某个孤立机制,而在于把“抽象是什么、状态在哪里、谁能修改、出错后怎么办”这几个问题反复问清楚。