本书从操作系统原理出发,以UNIX系统V为背景,全面系统地分析UNIX系统核心代码的结构与算法。全书分六部分21章。第一部分文件系统,分四章介绍UNIX文件、文件系统和系统缓冲区的全部抽象数据结构以及对抽象数据结构的操作,包括有关文件的系统调用。第二部分存储管理,分四章介绍存储管理的硬件基础、系统空间、系统空间、进程空间和物理内存的管理。第三部分进程管理,分五章介绍进程的结构与状态,进程的创建执行与终止、进程调度、中断与异常的处理以及进程通讯。第四部分输入输出子系统,分四章介绍进程与输入输出子系统的接口、设备驱动程序的过程概述、系统生成以及核心代码中的汇编程序。\r\n
第一部分 文件系统\r\n\r\n第1章 文件的内部表示\r\n\r\n1.1 磁盘索引节点\r\n1.2 目录文件\r\n1.3 内存索引节点\r\n1.4 超级块\r\n1.5 文件系统安装表\r\n1.6 系统活动文件表\r\n1.7 文件系统内部结构小结\r\n1.8 subr.c\r\n\r\n第2章 系统缓冲区\r\n\r\n2.1 缓冲区控制块\r\n2.2 多种缓冲区队列\r\n2.3 缓冲区的分配、释放和读写\r\n2.4 关于缓冲区操作的源程序bio.c\r\n\r\n第3章 文件系统的底层操作\r\n\r\n3.1 路径名到索引节点的转换nami.c\r\n3.2 内存索引节点的分配与释放——iget.c\r\n3.3 盘索引节眯和盘块的分配——alloc.c\r\n\r\n第4章 有关文件操作的系统调用\r\n\r\n4.1 进程打开文件表\r\n4.2 与文件操作有关的系统调用\r\n4.3 与文件操作有关的源程序和函数\r\n4.4 主要函数的流程描述\r\n4.5 sys2.c\r\n4.6 sys3.c\r\n4.7 utssys.c\r\n4.8 fio.c\r\n4.9 rdwri.c\r\n\r\n第二部分 存储管理\r\n\r\n第5章 存储管理的硬件基础\r\n\r\n5.1 VAX-11/780存储管理机构\r\n5.2 专用寄存器\r\n5.3 地址空间的划分\r\n5.4 page.h和mtpr.h\r\n\r\n第6章 系统空间的管理\r\n\r\n6.1 系统空间布局\r\n6.2 系统页表的管理\r\n6.3 文件machdep.c\r\n\r\n第7章 进程虚空间的管理\r\n\r\n7.1 进程虚空间布局\r\n7.2 进程空间的管理\r\n7.3 进程正文段的共享\r\n7.4 text.c\r\n\r\n第8章 内存和交换区管理\r\n\r\n8.1 内存管理\r\n8.2 交换区管理\r\n8.3 内存特别文件\r\n8.4 malloc.c\r\n\r\n第三部分 进程管理\r\n\r\n第9章 进程的结构与状态\r\n\r\n9.1 概述\r\n9.2 proc和user结构\r\n9.3 进程状态\r\n9.4 进程上下文\r\n\r\n第10章 进程的创建、执行与终止\r\n\r\n10.1 进程的创建\r\n10.2 执行一个文件\r\n10.3 进程终止和等待\r\n10.4 sys1.c\r\n\r\n第11章 进程调度\r\n\r\n11.1 进程的睡眠与唤醒\r\n11.2 进程调度和程序切换\r\n11.3 进程的换进换出\r\n11.4 slp.c\r\n11.5 sys4.c\r\n\r\n第12章 中断和异常处理\r\n\r\n12.1 中断和异常处理的硬件基础\r\n12.2 中断的处理\r\n12.3 clock.c和callo.h\r\n12.4 pwr.c和power.s\r\n12.5 trap.s\r\n12.6 异常的处理\r\n12.7 trap.c\r\n12.8 sysent.c\r\n12.9 软中断\r\n12.10 sig.c\r\n\r\n第13章 进程通讯\r\n\r\n13.1 无名管道和命名管道\r\n13.2 消息缓冲机构\r\n13.3 共享内存段\r\n13.4 信号量机构\r\n13.5 msg.c\r\n13.6 shm.c\r\n13.7 sem.c\r\n13.8 pipe.c和pio.c\r\n13.9 ipc.c\r\n\r\n第四部分 输入/输出子系统\r\n\r\n第14章 输入/输出子系统概述\r\n\r\n14.1 系统配置\r\n14.2 系统调用与驱动程序的接口\r\n14.3 中断处理程序\r\n\r\n第15章 块设备管理\r\n\r\n15.1 多总线子系统结构\r\n15.2 缓冲区队列及有关的数据结构\r\n15.3 缓冲区管理和块设备读写\r\n15.4 多总线适配器管理及设备的驱动\r\n15.5 多总线适配器驱动程序mba.c\r\n15.6 通用磁盘驱动程序gd.c\r\n15.7 TU78磁带驱动程序hu.c\r\n\r\n第16章 字符设备管理\r\n\r\n16.1 单总线子系统结构\r\n16.2 单总线适配器管理\r\n16.3 单总线适配器驱动程序uba.c\r\n16.4 字符设备缓冲区管理\r\n16.5 clist.c\r\n16.6 终端设备管理\r\n16.7 tty.c\r\n16.8 dz-11驱动程序dz.c\r\n16.9 公用终端驱动程序tt0.c\r\n16.10 VT100驱动程序vt100.c\r\n16.11 打印机驱动程序lp.c \r\n\r\n第17章 控制台管理\r\n\r\n17.1 控制台子系统\r\n17.2 控制台子系统的管理\r\n17.3 控制台操作程序prf.c\r\n17.4 控制台管理程序cons.c \r\n\r\n第五部分 其他 \r\n\r\n第18章 系统初始化\r\n\r\n18.1 系统初始化过程概述\r\n18.2 初始汇编程序start.s\r\n18.3 操作系统主程序main.c \r\n\r\n第19章 依赖于硬件的汇编代码\r\n\r\n19.1 概述\r\n19.2 copy.s\r\n19.3 userio.s\r\n19.4 cswitch.s\r\n19.5 misc.s\r\n19.6 end.s\r\n19.7 math.s\r\n19.8 *.m \r\n\r\n第20章 系统生成\r\n\r\n20.1 系统配置文件的生成\r\n20.2 系统生成\r\n20.3 config.vax.c\r\n20.4 conf.c\r\n20.5 linesw.c\r\n20.6 univec.c\r\n20.7 makefile \r\n\r\n第21章 补遗\r\n\r\n21.1 acct.c\r\n21.2 errlog.c\r\n21.3macherr.c \r\n\r\n第六部分 附录 \r\n\r\n附录A .文件 \r\n附录B 函数索引