操作系统设计:Xinu方法

操作系统设计:Xinu方法
8.6
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美]
出版社: 机械工业出版社
2013-12
版次: 1
ISBN: 9787111428268
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 368页
正文语种: 简体中文
原版书名: Operating System Design: The Xinu Approach, Linksys Version
  •   《计算机科学丛书:操作系统设计:Xinu方法》对操作系统的内存管理、进程管理、进程协调和同步、进程间通信、实时时钟管理、设备无关的I/O、设备驱动、网络协议、文件系统等进行了详细的介绍,并利用分层的设计范式,以一种有序、易于理解的方式来阐述这些内容。《计算机科学丛书:操作系统设计:Xinu方法》以Xinu操作系统为系统设计的样板和模式,从一个裸机开始,一步一步地设计和实现一个小型但优雅的操作系统。本书的样本代码可以运行在Linksys E2100L无线路由器上。  《计算机科学丛书:操作系统设计:Xinu方法》适用于高年级的本科生或低年级的研究生,也适用于那些想了解操作系统的计算机从业人员。学习本书前,学生需要具备基本的程序设计能力,应当理解基本的数据结构,包括链表、栈和队列,并且应当用C语言写过程序。   Douglas Comer,美国普度大学计算机系杰出教授,国际公认的计算机网络、TCP/IP协议、Internet和操作系统设计方面的专家。Comer出版了多部优秀的教材和专著,被翻译成16种语言,并广泛用于世界各地的工业界和学术界。Comer教授划时代的三卷巨著《Internetworking with TCP/IP》对网络和网络教育产生了革命性的影响。Comer博士是ACM院士、普度教育学院院士。 出版者的话译者序前言关于作者第1章 引言和概述1.1 操作系统1.2 本书的研究方法1.3 分层设计1.4 Xinu操作系统1.5 操作系统不是什么1.6 从外面看操作系统1.7 其他章节概要1.8 观点1.9 总结练习第2章 并发执行与操作系统服务2.1 引言2.2 多活动的编程模型2.3 操作系统服务2.4 并发处理的概念和术语2.5 串行程序和并发程序的区别2.6 多进程共享同一段代码2.7 进程退出与进程终止2.8 共享内存、竞争条件和同步2.9 信号量与互斥2.10 Xinu中的类型命名方法2.11 使用Kputc和Kprintf进行操作系统的调试2.12 观点2.13 总结练习第3章 硬件和运行时环境概览3.1 引言3.2 E2100L的物理和逻辑结构3.3 处理器结构和寄存器3.4 总线操作:获取-存储范式3.5 直接内存访问3.6 总线地址空间3.7 内核段KSEG0和KSEG1的内容3.8 总线启动的静态配置3.9 调用约定和运行时栈3.10 中断和中断处理3.11 异常处理3.12 计时器硬件3.13 串行通信3.14 轮询与中断驱动I/O3.15 内存缓存和KSEG3.16 存储布局3.17 内存保护3.18 观点练习第4章 链表与队列操作4.1 引言4.2 用于进程链表的统一数据结构4.3 简洁的链表数据结构4.4 队列数据结构的实现4.5 内联队列操作函数4.6 获取链表中进程的基础函数4.7 FIFO队列操作4.8 优先级队列的操作4.9 链表初始化4.10 观点4.11 总结练习第5章 调度和上下文切换5.1 引言5.2 进程表5.3 进程状态5.4 就绪和当前状态5.5 调度策略5.6 调度的实现5.7 上下文切换的实现5.8 内存中保存的状态5.9 在MIPS处理器上切换上下文5.10 重新启动进程执行的地址5.11 并发执行和null进程5.12 使进程准备执行和调度不变式5.13 推迟重新调度5.14 其他进程调度算法5.15 观点5.16 总结练习第6章 更多进程管理6.1 引言6.2 进程挂起和恢复6.3 自我挂起和信息隐藏6.4 系统调用的概念6.5 禁止中断和恢复中断6.6 系统调用模板6.7 系统调用返回SYSERR和OK值6.8 挂起的实现6.9 挂起当前进程6.10 suspend函数的返回值6.11 进程终止和进程退出6.12 进程创建6.13 其他进程管理函数6.14 总结练习第7章 协调并发进程7.1 引言7.2 进程同步的必要性7.3 计数信号量的概念7.4 避免忙等待7.5 信号量策略和进程选择7.6 等待状态7.7 信号量数据结构7.8 系统调用wait7.9 系统调用signal7.10 静态和动态信号量分配7.11 动态信号量的实现示例7.12 信号量删除7.13 信号量重置7.14 多核处理器之间的协调7.15 观点7.16 总结练习第8章 消息传递8.1 引言8.2 两种类型的消息传递服务8.3 消息使用资源的限制8.4 消息传递函数和状态转换8.5 send的实现8.6 receive的实现8.7 非阻塞消息接收的实现8.8 观点8.9 总结练习第9章 基本内存管理9.1 引言9.2 内存的类型9.3 重量级进程的定义9.4 小型嵌入式系统的内存管理9.5 程序段和内存区域9.6 嵌入式系统中的动态内存分配9.7 低层内存管理器的设计9.8 分配策略和内存持久性9.9 追踪空闲内存9.10 低层内存管理的实现9.11 分配堆存储9.12 分配栈存储9.13 释放堆和栈存储9.14 观点9.15 总结练习第10章 高级内存管理和虚拟内存10.1 引言10.2 分区空间分配10.3 缓冲池10.4 分配缓冲区10.5 将缓冲区返回给缓冲池10.6 创建缓冲池10.7 初始化缓冲池表10.8 虚拟内存和内存复用10.9 实地址空间和虚地址空间10.10 支持按需换页的硬件10.11 使用页表的地址翻译10.12 页表项中的元数据10.13 按需换页以及设计上的问题10.14 页面替换和全局时钟算法10.15 观点10.16 总结练习第11章 高层消息传递11.1 引言11.2 进程间通信端口11.3 端口实现11.4 端口表初始化11.5 端口创建11.6 向端口发送消息11.7 从端口接收消息11.8 端口的删除和重置11.9 观点11.10 总结练习第12章 中断处理12.1 引言12.2 中断的优点12.3 中断分配12.4 中断向量12.5 中断向量号的分配12.6 硬件中断12.7 中断请求的局限性和中断多路复用12.8 中断软件和分配12.9 中断分配器底层部分12.10 中断分配器高层部分12.11 禁止中断12.12 函数中中断代码引起的限制12.13 中断过程中重新调度的必要性12.14 中断过程中的重新调度12.15 观点12.16 总结练习第13章 实时时钟管理13.1 引言13.2 定时事件13.3 实时时钟和计时器硬件13.4 处理实时时钟中断13.5 延时与抢占13.6 使用计时器来模拟实时时钟13.7 抢占的实现13.8 使用增量链表对延迟进行有效管理13.9 增量链表的实现13.10 将进程转入睡眠13.11 定时消息接收13.12 唤醒睡眠进程13.13 时钟中断处理13.14 时钟初始化13.15 间隔计时器管理13.16 观点13.17 总结练习第14章 设备无关的I/O14.1 引言14.2 I/O和设备驱动的概念结构14.3 接口抽象和驱动抽象14.4 I/O接口的一个示例14.5 打开-读-写-关闭范式14.6 绑定I/O操作和设备名14.7 Xinu中的设备名14.8 设备转换表概念14.9 设备和共享驱动的多个副本14.10 高层I/O操作的实现14.11 其他高层I/O函数14.12 打开、关闭和引用计数14.13 devtab中的空条目和错误条目14.14 I/O系统的初始化14.15 观点14.16 总结练习第15章 设备驱动示例15.1 引言15.2 tty抽象15.3 tty设备驱动的组成15.4 请求队列和缓冲区15.5 上半部和下半部的同步15.6 硬件缓冲区和驱动设计15.7 tty控制块和数据声明15.8 次设备号15.9 上半部tty字符输入(ttyGetc)15.10 通用上半部tty输入(ttyRead)15.11 上半部tty字符输出(ttyPutc)15.12 开始输出(ttyKickOut)15.13 上半部tty多字符输出(ttyWrite)15.14 下半部tty驱动函数(ttyInterrupt)15.15 输出中断处理(ttyInter_out)15.16 tty输入处理(tty Inter-in)15.17 tty控制块初始化(ttyInit)15.18 设备驱动控制15.19 观点15.20 总结练习第16章 DMA设备和驱动(以太网)16.1 引言16.2 直接内存访问和缓冲区16.3 多缓冲区和环16.4 使用DMA的以太网驱动例子16.5 设备的硬件定义和常量16.6 环和内存缓冲区16.7 以太网控制块的定义16.8 设备和驱动初始化16.9 分配输入缓冲区16.10 从以太网设备中读取数据包16.11 向以太网设备中写入数据包16.12 以太网设备的中断处理16.13 以太网控制函数16.14 观点16.15 总结练习第17章 最小互联网协议栈17.1 引言17.2 所需的功能17.3 同步对话、超时和进程17.4 ARP函数17.5 网络数据包的定义17.6 网络输入进程17.7 UDP表的定义17.8 UDP函数17.9 互联网控制报文协议17.10 动态主机配置协议17.11 观点17.12 总结练习第18章 远程磁盘驱动18.1 引言18.2 磁盘抽象18.3 磁盘操作驱动支持18.4 块传输和高层I/O函数18.5 远程磁盘范式18.6 磁盘操作的语义18.7 驱动数据结构的定义18.8 驱动初始化(rdsInit)18.9 上半部打开函数(rdsOpen)18.10 远程通信函数(rdscomm)18.11 上半部写函数(rdsWrite)18.12 上半部读函数(rdsRead)18.13 刷新挂起的请求18.14 上半部控制函数(rdsControl)18.15 分配磁盘缓冲区(rdsbufalloc)18.16 上半部关闭函数(rdsClose)18.17 下半部通信进程(rdsprocess)18.18 观点18.19 总结练习第19章 文件系统19.1 文件系统是什么19.2 文件操作的示例集合19.3 本地文件系统的设计19.4 Xinu文件系统的数据结构19.5 索引管理器的实现19.6 清空索引块(lfibclear)19.7 获取索引块(lfibget)19.8 存储索引块(lfibput)19.9 从空闲链表中分配索引块(lfiballoc)19.10 从空闲链表中分配数据块(lfdballoc)19.11 使用设备无关的I/O函数的文件操作19.12 文件系统的设备设置和函数名称19.13 本地文件系统打开函数(lfsOpen)19.14 关闭文件伪设备(lflClose)19.15 刷新磁盘中的数据(lfflush)19.16 文件的批量传输函数(lflWrite,lflRead)19.17 在文件中查找一个新位置(lflSeek)19.18 从文件中提取一个字节(lflGetc)19.19 改变文件中的一个字节(lflPutc)19.20 载入索引块和数据块(lfsetup)19.21 主文件系统设备的初始化(lfsInit)19.22 伪设备的初始化(lflInit)19.23 文件截断(lftruncate)19.24 初始文件系统的创建(lfscreate)19.25 观点19.26 总结练习第20章 远程文件机制20.1 引言20.2 远程文件访问20.3 远程文件语义20.4 远程文件设计和消息20.5 远程文件服务器通信20.6 发送一个基本消息20.7 网络字节序20.8 使用设备范式的远程文件系统20.9 打开远程文件20.10 检查文件模式20.11 关闭远程文件20.12 读远程文件20.13 写远程文件20.14 远程文件的定位20.15 远程文件单字符I/O20.16 远程文件系统控制函数20.17 初始化远程文件数据结构20.18 观点20.19 总结练习第21章 句法名字空间21.1 引言21.2 透明与名字空间的抽象21.3 多种命名方案21.4 命名系统设计的其他方案21.5 基于句法的名字空间21.6 模式和替换21.7 前缀模式21.8 名字空间的实现21.9 名字空间的数据结构和常量21.10 增加名字空间前缀表的映射21.11 使用前缀表进行名字映射21.12 打开命名文件21.13 名字空间初始化21.14 对前缀表中的项进行排序21.15 选择一个逻辑名字空间21.16 默认层次和空前缀21.17 额外的对象操作函数21.18 名字空间方法的优点和限制21.19 广义模式21.20 观点21.21 总结练习第22章 系统初始化22.1 引言22.2 引导程序:从头开始22.3 操作系统初始化22.4 在E2100L上启动一个可选的映像22.5 Xinu初始化22.6 系统启动22.7 从程序转化为进程22.8 观点22.9 总结练习第23章 异常处理23.1 引言23.2 异常、陷阱和恶意中断23.3 panic的实现23.4 观点23.5 总结练习第24章 系统配置24.1 引言24.2 多重配置的需求24.3 Xinu系统配置24.4 Xinu配置文件的内容24.5 计算次设备号24.6 配置Xinu系统的步骤24.7 观点24.8 总结练习第25章 一个用户接口例子:Xinu壳25.1 引言25.2 用户接口25.3 命令和设计原则25.4 一个简化壳的设计决策25.5 壳的组织和操作25.6 词法符号的定义25.7 命令行语法的定义25.8 Xinu壳的实现25.9 符号的存储25.10 词法分析器代码25.11 命令解释器的核心25.12 命令名查询和内部处理25.13 传给命令的参数25.14 向外部命令传递参数25.15 I/O重定向25.16 示例命令函数(sleep)25.17 观点25.18 总结练习附录1 操作系统移植附录2 Xinu设计注解索引
  • 内容简介:
      《计算机科学丛书:操作系统设计:Xinu方法》对操作系统的内存管理、进程管理、进程协调和同步、进程间通信、实时时钟管理、设备无关的I/O、设备驱动、网络协议、文件系统等进行了详细的介绍,并利用分层的设计范式,以一种有序、易于理解的方式来阐述这些内容。《计算机科学丛书:操作系统设计:Xinu方法》以Xinu操作系统为系统设计的样板和模式,从一个裸机开始,一步一步地设计和实现一个小型但优雅的操作系统。本书的样本代码可以运行在Linksys E2100L无线路由器上。  《计算机科学丛书:操作系统设计:Xinu方法》适用于高年级的本科生或低年级的研究生,也适用于那些想了解操作系统的计算机从业人员。学习本书前,学生需要具备基本的程序设计能力,应当理解基本的数据结构,包括链表、栈和队列,并且应当用C语言写过程序。
  • 作者简介:
      Douglas Comer,美国普度大学计算机系杰出教授,国际公认的计算机网络、TCP/IP协议、Internet和操作系统设计方面的专家。Comer出版了多部优秀的教材和专著,被翻译成16种语言,并广泛用于世界各地的工业界和学术界。Comer教授划时代的三卷巨著《Internetworking with TCP/IP》对网络和网络教育产生了革命性的影响。Comer博士是ACM院士、普度教育学院院士。
  • 目录:
    出版者的话译者序前言关于作者第1章 引言和概述1.1 操作系统1.2 本书的研究方法1.3 分层设计1.4 Xinu操作系统1.5 操作系统不是什么1.6 从外面看操作系统1.7 其他章节概要1.8 观点1.9 总结练习第2章 并发执行与操作系统服务2.1 引言2.2 多活动的编程模型2.3 操作系统服务2.4 并发处理的概念和术语2.5 串行程序和并发程序的区别2.6 多进程共享同一段代码2.7 进程退出与进程终止2.8 共享内存、竞争条件和同步2.9 信号量与互斥2.10 Xinu中的类型命名方法2.11 使用Kputc和Kprintf进行操作系统的调试2.12 观点2.13 总结练习第3章 硬件和运行时环境概览3.1 引言3.2 E2100L的物理和逻辑结构3.3 处理器结构和寄存器3.4 总线操作:获取-存储范式3.5 直接内存访问3.6 总线地址空间3.7 内核段KSEG0和KSEG1的内容3.8 总线启动的静态配置3.9 调用约定和运行时栈3.10 中断和中断处理3.11 异常处理3.12 计时器硬件3.13 串行通信3.14 轮询与中断驱动I/O3.15 内存缓存和KSEG3.16 存储布局3.17 内存保护3.18 观点练习第4章 链表与队列操作4.1 引言4.2 用于进程链表的统一数据结构4.3 简洁的链表数据结构4.4 队列数据结构的实现4.5 内联队列操作函数4.6 获取链表中进程的基础函数4.7 FIFO队列操作4.8 优先级队列的操作4.9 链表初始化4.10 观点4.11 总结练习第5章 调度和上下文切换5.1 引言5.2 进程表5.3 进程状态5.4 就绪和当前状态5.5 调度策略5.6 调度的实现5.7 上下文切换的实现5.8 内存中保存的状态5.9 在MIPS处理器上切换上下文5.10 重新启动进程执行的地址5.11 并发执行和null进程5.12 使进程准备执行和调度不变式5.13 推迟重新调度5.14 其他进程调度算法5.15 观点5.16 总结练习第6章 更多进程管理6.1 引言6.2 进程挂起和恢复6.3 自我挂起和信息隐藏6.4 系统调用的概念6.5 禁止中断和恢复中断6.6 系统调用模板6.7 系统调用返回SYSERR和OK值6.8 挂起的实现6.9 挂起当前进程6.10 suspend函数的返回值6.11 进程终止和进程退出6.12 进程创建6.13 其他进程管理函数6.14 总结练习第7章 协调并发进程7.1 引言7.2 进程同步的必要性7.3 计数信号量的概念7.4 避免忙等待7.5 信号量策略和进程选择7.6 等待状态7.7 信号量数据结构7.8 系统调用wait7.9 系统调用signal7.10 静态和动态信号量分配7.11 动态信号量的实现示例7.12 信号量删除7.13 信号量重置7.14 多核处理器之间的协调7.15 观点7.16 总结练习第8章 消息传递8.1 引言8.2 两种类型的消息传递服务8.3 消息使用资源的限制8.4 消息传递函数和状态转换8.5 send的实现8.6 receive的实现8.7 非阻塞消息接收的实现8.8 观点8.9 总结练习第9章 基本内存管理9.1 引言9.2 内存的类型9.3 重量级进程的定义9.4 小型嵌入式系统的内存管理9.5 程序段和内存区域9.6 嵌入式系统中的动态内存分配9.7 低层内存管理器的设计9.8 分配策略和内存持久性9.9 追踪空闲内存9.10 低层内存管理的实现9.11 分配堆存储9.12 分配栈存储9.13 释放堆和栈存储9.14 观点9.15 总结练习第10章 高级内存管理和虚拟内存10.1 引言10.2 分区空间分配10.3 缓冲池10.4 分配缓冲区10.5 将缓冲区返回给缓冲池10.6 创建缓冲池10.7 初始化缓冲池表10.8 虚拟内存和内存复用10.9 实地址空间和虚地址空间10.10 支持按需换页的硬件10.11 使用页表的地址翻译10.12 页表项中的元数据10.13 按需换页以及设计上的问题10.14 页面替换和全局时钟算法10.15 观点10.16 总结练习第11章 高层消息传递11.1 引言11.2 进程间通信端口11.3 端口实现11.4 端口表初始化11.5 端口创建11.6 向端口发送消息11.7 从端口接收消息11.8 端口的删除和重置11.9 观点11.10 总结练习第12章 中断处理12.1 引言12.2 中断的优点12.3 中断分配12.4 中断向量12.5 中断向量号的分配12.6 硬件中断12.7 中断请求的局限性和中断多路复用12.8 中断软件和分配12.9 中断分配器底层部分12.10 中断分配器高层部分12.11 禁止中断12.12 函数中中断代码引起的限制12.13 中断过程中重新调度的必要性12.14 中断过程中的重新调度12.15 观点12.16 总结练习第13章 实时时钟管理13.1 引言13.2 定时事件13.3 实时时钟和计时器硬件13.4 处理实时时钟中断13.5 延时与抢占13.6 使用计时器来模拟实时时钟13.7 抢占的实现13.8 使用增量链表对延迟进行有效管理13.9 增量链表的实现13.10 将进程转入睡眠13.11 定时消息接收13.12 唤醒睡眠进程13.13 时钟中断处理13.14 时钟初始化13.15 间隔计时器管理13.16 观点13.17 总结练习第14章 设备无关的I/O14.1 引言14.2 I/O和设备驱动的概念结构14.3 接口抽象和驱动抽象14.4 I/O接口的一个示例14.5 打开-读-写-关闭范式14.6 绑定I/O操作和设备名14.7 Xinu中的设备名14.8 设备转换表概念14.9 设备和共享驱动的多个副本14.10 高层I/O操作的实现14.11 其他高层I/O函数14.12 打开、关闭和引用计数14.13 devtab中的空条目和错误条目14.14 I/O系统的初始化14.15 观点14.16 总结练习第15章 设备驱动示例15.1 引言15.2 tty抽象15.3 tty设备驱动的组成15.4 请求队列和缓冲区15.5 上半部和下半部的同步15.6 硬件缓冲区和驱动设计15.7 tty控制块和数据声明15.8 次设备号15.9 上半部tty字符输入(ttyGetc)15.10 通用上半部tty输入(ttyRead)15.11 上半部tty字符输出(ttyPutc)15.12 开始输出(ttyKickOut)15.13 上半部tty多字符输出(ttyWrite)15.14 下半部tty驱动函数(ttyInterrupt)15.15 输出中断处理(ttyInter_out)15.16 tty输入处理(tty Inter-in)15.17 tty控制块初始化(ttyInit)15.18 设备驱动控制15.19 观点15.20 总结练习第16章 DMA设备和驱动(以太网)16.1 引言16.2 直接内存访问和缓冲区16.3 多缓冲区和环16.4 使用DMA的以太网驱动例子16.5 设备的硬件定义和常量16.6 环和内存缓冲区16.7 以太网控制块的定义16.8 设备和驱动初始化16.9 分配输入缓冲区16.10 从以太网设备中读取数据包16.11 向以太网设备中写入数据包16.12 以太网设备的中断处理16.13 以太网控制函数16.14 观点16.15 总结练习第17章 最小互联网协议栈17.1 引言17.2 所需的功能17.3 同步对话、超时和进程17.4 ARP函数17.5 网络数据包的定义17.6 网络输入进程17.7 UDP表的定义17.8 UDP函数17.9 互联网控制报文协议17.10 动态主机配置协议17.11 观点17.12 总结练习第18章 远程磁盘驱动18.1 引言18.2 磁盘抽象18.3 磁盘操作驱动支持18.4 块传输和高层I/O函数18.5 远程磁盘范式18.6 磁盘操作的语义18.7 驱动数据结构的定义18.8 驱动初始化(rdsInit)18.9 上半部打开函数(rdsOpen)18.10 远程通信函数(rdscomm)18.11 上半部写函数(rdsWrite)18.12 上半部读函数(rdsRead)18.13 刷新挂起的请求18.14 上半部控制函数(rdsControl)18.15 分配磁盘缓冲区(rdsbufalloc)18.16 上半部关闭函数(rdsClose)18.17 下半部通信进程(rdsprocess)18.18 观点18.19 总结练习第19章 文件系统19.1 文件系统是什么19.2 文件操作的示例集合19.3 本地文件系统的设计19.4 Xinu文件系统的数据结构19.5 索引管理器的实现19.6 清空索引块(lfibclear)19.7 获取索引块(lfibget)19.8 存储索引块(lfibput)19.9 从空闲链表中分配索引块(lfiballoc)19.10 从空闲链表中分配数据块(lfdballoc)19.11 使用设备无关的I/O函数的文件操作19.12 文件系统的设备设置和函数名称19.13 本地文件系统打开函数(lfsOpen)19.14 关闭文件伪设备(lflClose)19.15 刷新磁盘中的数据(lfflush)19.16 文件的批量传输函数(lflWrite,lflRead)19.17 在文件中查找一个新位置(lflSeek)19.18 从文件中提取一个字节(lflGetc)19.19 改变文件中的一个字节(lflPutc)19.20 载入索引块和数据块(lfsetup)19.21 主文件系统设备的初始化(lfsInit)19.22 伪设备的初始化(lflInit)19.23 文件截断(lftruncate)19.24 初始文件系统的创建(lfscreate)19.25 观点19.26 总结练习第20章 远程文件机制20.1 引言20.2 远程文件访问20.3 远程文件语义20.4 远程文件设计和消息20.5 远程文件服务器通信20.6 发送一个基本消息20.7 网络字节序20.8 使用设备范式的远程文件系统20.9 打开远程文件20.10 检查文件模式20.11 关闭远程文件20.12 读远程文件20.13 写远程文件20.14 远程文件的定位20.15 远程文件单字符I/O20.16 远程文件系统控制函数20.17 初始化远程文件数据结构20.18 观点20.19 总结练习第21章 句法名字空间21.1 引言21.2 透明与名字空间的抽象21.3 多种命名方案21.4 命名系统设计的其他方案21.5 基于句法的名字空间21.6 模式和替换21.7 前缀模式21.8 名字空间的实现21.9 名字空间的数据结构和常量21.10 增加名字空间前缀表的映射21.11 使用前缀表进行名字映射21.12 打开命名文件21.13 名字空间初始化21.14 对前缀表中的项进行排序21.15 选择一个逻辑名字空间21.16 默认层次和空前缀21.17 额外的对象操作函数21.18 名字空间方法的优点和限制21.19 广义模式21.20 观点21.21 总结练习第22章 系统初始化22.1 引言22.2 引导程序:从头开始22.3 操作系统初始化22.4 在E2100L上启动一个可选的映像22.5 Xinu初始化22.6 系统启动22.7 从程序转化为进程22.8 观点22.9 总结练习第23章 异常处理23.1 引言23.2 异常、陷阱和恶意中断23.3 panic的实现23.4 观点23.5 总结练习第24章 系统配置24.1 引言24.2 多重配置的需求24.3 Xinu系统配置24.4 Xinu配置文件的内容24.5 计算次设备号24.6 配置Xinu系统的步骤24.7 观点24.8 总结练习第25章 一个用户接口例子:Xinu壳25.1 引言25.2 用户接口25.3 命令和设计原则25.4 一个简化壳的设计决策25.5 壳的组织和操作25.6 词法符号的定义25.7 命令行语法的定义25.8 Xinu壳的实现25.9 符号的存储25.10 词法分析器代码25.11 命令解释器的核心25.12 命令名查询和内部处理25.13 传给命令的参数25.14 向外部命令传递参数25.15 I/O重定向25.16 示例命令函数(sleep)25.17 观点25.18 总结练习附录1 操作系统移植附录2 Xinu设计注解索引
查看详情
好书推荐 / 更多
操作系统设计:Xinu方法
译林幻系列:呼吸
[美国]特德·姜 著;耿辉 译
操作系统设计:Xinu方法
山村暮鸟集:云
山村暮鸟 著
操作系统设计:Xinu方法
剪辑之道:对话沃尔特·默奇
[加拿大]迈克尔·翁达杰(Michael Ondaatije) 著;夏彤 译
操作系统设计:Xinu方法
教父电影全剧本(全彩插图评注版):马里奥·普佐与弗朗西斯·科波拉终稿
[美]珍妮·M·琼斯 著;高远致 译
操作系统设计:Xinu方法
萨拉戈萨手稿
[波]扬·波托茨基 著;方颂华 译
操作系统设计:Xinu方法
新民说·谁的历史
鲁西奇 著
操作系统设计:Xinu方法
古欢:黄易与乾嘉金石时尚
薛龙春
操作系统设计:Xinu方法
春之海终日悠哉游哉:与谢芜村俳句300
[日]与谢芜村 著
操作系统设计:Xinu方法
我们能谈点开心的事吗(99图像小说)
[美]罗兹·查斯特 著
操作系统设计:Xinu方法
狂想人生:皇后乐队传
[英]马克·布莱克 著;席虎牙 译
操作系统设计:Xinu方法
思想的力量
[美]布鲁克·诺埃尔·穆尔;[美]肯尼思·布鲁德
操作系统设计:Xinu方法
中唐至北宋的典范选择与诗歌因革
李贵 著;王水照 编