Appearance
操作系统
操作系统在硬件之上提供进程、地址空间、文件和通信接口,管理多个程序对 CPU、内存与设备的共享使用。
本讲义以 xv6/RISC-V 为主要实现,介绍内核对象、资源管理、并发、I/O 与持久化,并结合 Linux 讨论容器、虚拟机和内核扩展。
阅读与源码约定
需要具备 C 指针、结构体、函数调用和基本计算机组成知识。各章以 xv6 的基本机制为主,标为“扩展”的部分介绍其他架构或生产系统的实现。
正文会明确区分 xv6、Linux 和硬件架构。xv6 每个进程只有一个用户执行流,没有完整的 Linux 网络、权限和内存回收系统,不能把两者的功能直接混为一谈。
源码链接指向会更新的分支;跟读时请固定本地 xv6 版本,核对具体函数名与调用关系。代码片段用于解释机制,不一定是完整可编译程序。实验中的 worker 是示例程序名,需要自行准备相应测试程序。
参考资料
- xv6 book 与源码:核对对象布局与实现。
- OSTEP:补充虚拟化、并发与持久化的概念和例题。
- MIT 6.1810:通过实验修改内核机制。
- 南京大学操作系统课程:观察和解释程序行为。
- Linux 内核文档:查阅生产实现的接口和保证范围。