Skip to content

附录 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 + 导读类比表

进阶学习路线(本书之外)

  1. 巩固:每周对本机跑一遍附录 A,解释输出
  2. 系统读Operating Systems: Three Easy Pieces(OSTEP) 免费教材
  3. 动手:MIT xv6 教学 OS / Linux man 2 系统调用
  4. 和工作结合:把 Node/Go 并发、Docker、CI 现象逐条映射回本书类比

刻意 要求:内核模块、驱动、调度证明题——那是另一本书的事。


© 曹宇春

© 曹宇春 · 个人学习整理,欢迎交流