有没有一种可能,做出来512g内存的计算机,这样就不需要外存了,那os这门课是不是内容可以少点?
1998年的时候,
俺家的电脑只有 128MB 内存。
现在俺最常用的电脑有 192GB 内存。
还不是一样要接硬盘。
1998 年的时候, os这门课


1998 vs 2025 操作系统课程的系统性对比
1998 年风格完整 OS 课程大纲
1998 vs 2025:操作系统课程的本质差异
结论:OS 课程的理论内核几乎没变,但问题背景、实现对象、评价指标彻底变了。1998教操作系统为什么必须这样设计;2025教操作系统如何在复杂现实中不崩溃、不失控、不被绕过”
课程目标
| 维度 | 1998 年 | 2025 年 |
|---|---|---|
| OS 的定位 | 资源管理的抽象层 | 分布式、虚拟化、安全边界 |
| 关注对象 | 单机、多用户 | 云、多租户、异构计算 |
| 学生目标 | 理解经典原理 | 能读内核 / 理解系统失效 |
| 核心难点 | 并发、死锁 | 可扩展性、安全、隔离 |
| 成功标准 | 算法正确 | 性能 + 安全 + 可运维 |
内容逐项对比
(1)进程与线程
| 项目 | 1998 | 2025 |
|---|---|---|
| 进程模型 | 单机多进程 | 多核、多 NUMA |
| 线程 | 用户线程 vs 内核线程 | M:N、work stealing |
| 关注点 | 状态切换 | 调度延迟、cache affinity |
| 现实系统 | UNIX、NT | Linux、Windows、RTOS |
变化:从“逻辑模型正确” → “在多核上还能快”
(2)调度(Scheduling)
| 项目 | 1998 | 2025 |
|---|---|---|
| 算法 | RR / MLFQ | CFS / EEVDF |
| 核心指标 | 周转时间 | tail latency |
| 场景 | time-sharing | 混合负载(batch + latency) |
| 能耗 | 不考虑 | 必须考虑 |
1998 是排队论,2025 是控制论 + 统计学
(3)并发与同步
| 项目 | 1998 | 2025 |
|---|---|---|
| 原语 | Semaphore / Mutex | RCU / Lock-free |
| 目标 | 正确性 | 可扩展性 |
| 错误 | 死锁 | 活锁、内存重排 |
| 模型 | 顺序一致性 | 弱内存模型 |
1998:会不会死锁? 2025:会不会在 64 核上退化到单核性能?
(4)内存管理
| 项目 | 1998 | 2025 |
|---|---|---|
| 地址空间 | 32 位 | 64 位 |
| 分页 | 教科书分页 | 巨页、透明大页 |
| TLB | 原理 | shootdown、NUMA |
| 安全 | 几乎不讲 | ASLR、KASLR、Meltdown |
(5)文件系统
| 项目 | 1998 | 2025 |
|---|---|---|
| 核心 | inode / block | 日志、Copy-on-Write |
| 一致性 | fsck | 崩溃一致性 |
| 实例 | UFS / FAT | ext4 / XFS / btrfs |
| 目标 | 正确 | crash-safe |
(6)I/O 与设备
| 项目 | 1998 | 2025 |
|---|---|---|
| I/O | 中断驱动 | polling + async |
| 存储 | HDD | NVMe / RDMA |
| 抽象 | block device | io_uring |
(7)系统边界
| 项目 | 1998 | 2025 |
|---|---|---|
| 安全 | 可选 | 核心 |
| 虚拟化 | 几乎不讲 | 必讲 |
| 容器 | 不存在 | OS 新边界 |
| 云 | 不存在 | 默认环境 |
教学差异
| 项目 | 1998 | 2025 |
|---|---|---|
| 实验 | 模拟器 | 真内核 |
| 编程 | C | C + Rust |
| 阅读 | 教科书 | RFC / Kernel doc |
| 考试 | 笔试 | 项目 |
1998 风格操作系统课程大纲
Operating Systems
操作系统
(CS3xx / CE3xx, circa 1998)计算机科学 / 计算机工程 3xx 课程
Course Description
课程简介
This course introduces the fundamental principles of operating systems, focusing on process management, memory management, file systems, and concurrency control.
本课程介绍操作系统的基本原理,重点包括进程管理、内存管理、文件系统以及并发控制。
Emphasis is placed on classical OS design and implementation techniques.
课程重点放在经典操作系统的设计思想与实现技术上。
Prerequisites
先修课程
C Programming
C 语言程序设计
Data Structures
数据结构
Computer Organization
计算机组成原理
Textbooks
教材
Silberschatz, Galvin — Operating System Concepts
Silberschatz, Galvin —— Operating System Concepts(操作系统概念)
Tanenbaum — Modern Operating Systems
Tanenbaum —— Modern Operating Systems(现代操作系统)
Week-by-Week Outline
课程周安排
Week 1 – Introduction
第 1 周 —— 绪论
What is an Operating System
什么是操作系统
OS as Resource Manager
操作系统作为资源管理者
System Calls
系统调用
Kernel vs User Mode
内核态与用户态
Week 2 – Process Concepts
第 2 周 —— 进程概念
Programs vs Processes
程序与进程的区别
Process States
进程状态
Process Control Block
进程控制块(PCB)
Context Switching
上下文切换
Week 3 – Threads
第 3 周 —— 线程
User-Level Threads
用户级线程
Kernel-Level Threads
内核级线程
POSIX Threads
POSIX 线程(pthread)
Thread Implementation
线程的实现机制
Week 4 – CPU Scheduling
第 4 周 —— CPU 调度
FCFS
先来先服务调度(FCFS)
SJF
最短作业优先(SJF)
Priority Scheduling
优先级调度
Round-Robin
时间片轮转调度
Week 5 – Advanced Scheduling
第 5 周 —— 高级调度
Multilevel Queue
多级队列调度
Multilevel Feedback Queue
多级反馈队列调度
Scheduling Metrics
调度性能指标
Week 6 – Concurrency
第 6 周 —— 并发
Critical Section Problem
临界区问题
Mutual Exclusion
互斥
Peterson’s Algorithm
Peterson 算法
Week 7 – Synchronization
第 7 周 —— 同步机制
Semaphores
信号量
Mutex
互斥锁
Condition Variables
条件变量
Classical Synchronization Problems
经典同步问题
Week 8 – Deadlocks
第 8 周 —— 死锁
Deadlock Conditions
死锁产生的必要条件
Deadlock Prevention
死锁预防
Avoidance (Banker’s Algorithm)
死锁避免(银行家算法)
Detection and Recovery
死锁检测与恢复
Week 9 – Memory Management
第 9 周 —— 内存管理
Contiguous Allocation
连续内存分配
Fragmentation
内存碎片
Paging
分页机制
Segmentation
分段机制
Week 10 – Virtual Memory
第 10 周 —— 虚拟内存
Demand Paging
请求分页
Page Replacement Algorithms
页面置换算法
TLB
快表(TLB)
Week 11 – File Systems
第 11 周 —— 文件系统
File Concepts
文件基本概念
Directory Structures
目录结构
File Allocation Methods
文件分配方法
Inodes
索引节点(inode)
Week 12 – I/O Systems
第 12 周 —— 输入输出系统
I/O Hardware
I/O 硬件结构
Interrupts
中断机制
DMA
直接内存访问(DMA)
Buffering
缓冲技术
Week 13 – Case Studies
第 13 周 —— 案例分析
UNIX
UNIX 操作系统
MS-DOS
MS-DOS 操作系统
Windows NT
Windows NT 操作系统
Week 14 – Review and Integration
第 14 周 —— 总结与综合
OS Design Trade-offs
操作系统设计中的权衡
Future Directions
未来发展方向
Laboratory Work
实验内容
Process scheduling simulation
进程调度模拟实验
Semaphore-based synchronization
基于信号量的同步实验
Page replacement simulation
页面置换算法模拟实验
Assessment
考核方式
Homework: 20%
作业:20%
Labs: 30%
实验:30%
Midterm Exam: 20%
期中考试:20%
Final Exam: 30%
期末考试:30%