Appearance
附录 B · 自测 10 题与进阶路线
做完 8 题以上,地基篇算过关。
作者:曹宇春
自测 10 题
Q1. 用公司类比,进程和线程分别是什么?
参考答案
进程 = 独立部门(独立桌面/PID)。线程 = 部门内员工(共享部门资源)。
Q2. 物理内存几乎满、swap 很高,体感会怎样?为什么?
参考答案
卡顿。数据在桌面和仓库间频繁搬运,时间耗在 I/O 而非计算。
Q3. ps aux | grep node 里的 | 是什么?
参考答案
管道(Pipe):前一进程标准输出接到后一进程标准输入。
Q4. 为什么 Mac 上 Docker 往往比 Linux 服务器更吃资源?
参考答案
容器依赖 Linux 内核特性;Mac 常先跑 Linux VM,再跑容器。
Q5. inode 和文件名是什么关系?
参考答案
文件名是标签;inode 是目录卡(元数据 + 数据位置)。
Q6. 浏览器打开 https 站点,口头说出主要步骤。
参考答案
DNS → TCP 握手 → TLS → HTTP 请求/响应 → 渲染。
Q7. SIP 和沙盒分别保护什么?
参考答案
SIP:系统核心少被乱改。沙盒:单个 App 只能待授权范围。
Q8. write() 返回成功,数据一定已经在磁盘上了吗?
参考答案
不一定,可能还在缓存;需要持久化时常靠刷盘/fsync 类机制。
Q9. Node 单线程为什么还能扛很多连接?
参考答案
事件循环 + 非阻塞 I/O:等磁盘/网络时去干别的,完成再回调。
Q10. 两个 AI Agent 同时改同一 git 工作区,推荐怎么隔离?
参考答案
git worktree(或容器);避免多人硬改同一 working tree。
评分
| 得分 | 水平 |
|---|---|
| 8–10 | 白话地基扎实,可往 OSTEP 走 |
| 5–7 | 有印象,对着附录 A 再练一圈 |
| 0–4 | 重读 01–03 + 导读类比表 |
进阶学习路线(本书之外)
- 巩固:每周对本机跑一遍附录 A,解释输出
- 系统读:Operating Systems: Three Easy Pieces(OSTEP) 免费教材
- 动手:MIT xv6 教学 OS / Linux
man 2系统调用 - 和工作结合:把 Node/Go 并发、Docker、CI 现象逐条映射回本书类比
刻意 不 要求:内核模块、驱动、调度证明题——那是另一本书的事。
© 曹宇春