第一部分
就如同第一部分扉页上所写的三点:UNIX V6内核具有哪些功能、内核如何向用户程序提供功能的、运行UNIX V6的系统由怎样的硬件构成,理解这三者,有利于理解内核源码。
一、Unix内核提供的功能:
1.管理进程;2.内存管理;3.文件系统;4.文件和周边设备共享I/O;5.中断;6.支持终端处理。内核将系统对CPU或者硬件设备的各种操作细节封装起来,向用户程序以系统调用的方式提供高度抽象的服务。全书的内容大致是从这几个方面阐述的。
二、UNIX V6的硬件:
处理器:PDP-11/40。特点:16位,没有I/O总线,使用Unibus的总线用于数据的输入输出,Unibus同时又18比特宽的地址总线。PDP-11/40以及周边设备的寄存器被映射到内存最高位的8KB空间,因此可以采用于操作内存相同的方法操作寄存器。(也就是所谓的内存映射I/O);
PSW:PDP-11/40拥有一个被称为处理器状态字的16位寄存器。PSW表示处理器的状态。16位中第15~14表示处理器当前的模式(00是内核模式,11是用户模式);13~12表示处理器先前的模式。7~5表示处理器的优先级(7-0);4是陷入位;psw[3-0]是根据指令的执行结果自动设置。
内核模式和用户模式的区别在于所使用的进程的虚拟地址空间是相互独立的。两种模式相互传输数据时需要清楚处理器当前和之前的模式。
通用寄存器:PDP-11有r0~r7的8个通用寄存器。其中r6有两个,对应用户模式和内核模式。
r0、r1用途:运算和函数的返回值。
r2、r3、r4用途:本地处理。
r5:帧指针、环境指针
r6(sp):栈指针
r7(pc):程序计数器
MMU:内存管理单元,用于地址变换和访问权限管理。内存管理的单位是8KB的段或者页。当访问不具备权限的内存时,MMU会异常。MMU使用APR对各段进行设定,并
《Unix内核源码剖析》读书笔记(一)
最新推荐文章于 2025-07-09 15:53:30 发布