Home - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki
- 本项目是关于Unix V6 on Pdp11/40 的源代码分析,类似于Lions版的源代码分析,但是更为详尽、更为奶爸流
- 本项目是基于GPL协议,请自由使用于非商业非营利用途。
- 源代码 参照 Lions 源代码(参考文献),对于其中的错误有部分修正
由于水平所限,有些部分定有纰漏,请指正。请参看本页最后的"如何参与进来" - 阅读索引
- 关于 源代码分析 的基本说明
- 源代码分析 假设 阅读者有基础的Unix操作系统常识(参考文献中 尤晋元老师的书 一定要看过)
- 源代码分析 有一部分依赖于LIONS源代码分析(会标注出来)
有些观点 与LIONS源代码分析有悖,属个人观点,请权衡选用 - 对于 重要的函数,源代码分析 均采用 "奶爸流"
对于比较容易的部分,说明较为简略 - 对于一些解释不了的现象,以pdp11虚拟机实验结果为准
- 对于 编译器做的工作(如 系统调用的参数传递过程)不做说明
- 对于 外设寄存器 不做完全说明,请阅读参考文献 的 外设手册
- 外设驱动 仅以 RK磁盘 和 tty终端 为例,其余驱动不予分析(道理大同小异...)
- 有两大块代码并未分析(与系统相关太紧密,代码太诡异,实在是看不懂...)
这张图只标注了部分主要的机制,为了方便理解
- 基本结构
- 内存
- 进程
- 文件
- 中断
- 信号
- 设备
- 系统
- 源代码技巧/解释
- pdp11虚拟机
- 本项目是jeou1988和我(Tachikoma)在大学时代(2009~2010)的作品,详细请参看作者
- 多年之后(2013)重新审视和整理了本项目,仍然发现非常详尽、质量过关,决定将其开源,并得到导师许可
- 感谢我们的导师,同济大学的 陈闳中 教授这些年对我们的指导和帮助。本项目的开源有幸得到了陈教授的许可和肯定
- 感谢Bell实验室、Lions同学、尤晋元老师...