





定价:99元
印次:1-1
ISBN:9787302614630
出版日期:2022.11.01
印刷日期:2022.11.21
图书责编:安妮
图书分类:教材
本书对UNIX xv6的源码进行了深入剖析和详细注解,同时配合大量实例与图表,对每个模块先提炼关键数据结构和核心方法,再结合源码分析其工作机制,让读者明白其原理及具体实现,以求理论和实践能力同步提升,为深入理解操作系统原理乃至进一步研究学习Linux和Android等类UNIX系统内核打下坚实基础。 本书第1章对xv6进行概述;第2章介绍xv6操作系统结构;第3章介绍xv6开发、测试和运行的软件环境;第4章简要介绍x86计算机组成原理;第5章介绍x86的实模式与保护模式;第6章深入分析xv6的启动;第7~10章介绍xv6的虚拟空间管理、中断与系统调用、锁以及进程管理,第11、12章介绍xv6的文件系统;第13章介绍exec()函数、管道与字符串的实现;第14章介绍xv6的多处理器支持;第15章介绍字符设备驱动;第16章介绍用户进程的初始化、API和Shell的实现。 本书适合操作系统初、中级学习者,系统程序员,嵌入式系统开发者以及对UNIX和Linux等类UNIX内核感兴趣的读者。
高联雄,北京邮电大学博士,昆明学院副教授、硕导,主要研究领域为信号与信息处理。先后主持和参与了华为鸿蒙操作系统实验等省部级以上教学和科研项目10余项,参与的研究工作还获得了省部级科技进步奖;潜心操作系统教学二十余年,从UNIX、MINIX、Linux到xv6,每一个重要的操作系统均深入内核研读源码并应用于教学之中;鉴于xv6的简洁优美,耗费两年游刃其间,写成《UNIX xv6内核源码深入剖析》一书。
前言 操作系统在计算机系统中处于承上启下的重要地位,它对下管理计算机的硬件资源,对上服务应用程序和用户。阅读内核源码是学习操作系统原理及实现和理解计算机系统的重要途径,但实际的操作系统太过庞大,以致让人无法窥其全貌,例如2021年4月发布的Linux内核版本5.10稳定版已经达到了约3000万行源码的规模。 小巧的UNIX早期版本UNIX V6曾经是MIT等众多高校操作系统课程源码研读的首选,而且Linux、iOS和Android都基于UNIX V6,通过研读UNIX V6源码可以更深入理解UNIX、Linux等操作系统内核的基本概念及实现原理。 但UNIX V6基于的PDP-11硬件平台早已被淘汰,而UNIX V6部分汇编代码直接使用了PDP-11指令;UNIX V6所用的C语言也是最早期的版本;而且UNIX V6部分代码略显粗糙,这些因素给学习者造成了极大障碍。因此,2006年MIT基于Intel 的32位x86处理器用标准C语言重新实现了UNIX V6并命名为UNIX xv6,简称xv6。于2018年9月发布的xv6最终修订版rev11总共只有9300多行,xv6沿袭了UNIX V6的基本架构并对其粗糙的地方进行了改进。xv6及其变种目前被麻省理工学院(MIT)、耶鲁大学、清华大学、北京航空航天大学和哈尔滨工业大学等众多高校选为操作系统教学和实验平台。 《UNIX xv6内核源码深入剖析》结合源码深度剖析xv6如何在Intel的32位x86架构上实现UNIX V6操作系统,配套源码读者可以扫描下方二维码获取,《UNIX xv6内核源码深入剖析》涉及的思想和...
第1章 xv6概述
1.1 xv6的前身UNIX
1.1.1 UNIX发展简史
1.1.2 UNIX家族
1.2 xv6的诞生
1.3 xv6的源码与文档
第2章 xv6操作系统结构
2.1 xv6体系结构
2.1.1 硬件与内核
2.1.2 界面
2.1.3 内核态与用户态
2.2 进程管理
2.3 虚拟内存、文件与I/O设备驱动
2.4 系统调用、API与内核函数
2.4.1 系统调用
2.4.2 API
2.4.3 内核函数
第3章 xv6的软件环境
3.1 xv6的C语言技巧
3.1.1 static
3.1.2 inline
3.1.3 函数指针
3.1.4 函数指针示例
3.1.5 双重指针
3.2 AT&T汇编与内联汇编
3.2.1 AT&T汇编
3.2.2 GCC内联汇编
3.3 函数调用与堆栈
3.3.1 栈帧、寄存器惯例与调用约定
3.3.2 栈帧示例1
3.3.3 栈帧示例2
3.3.4 汇编语言中调用C语言函数
3.3.5 C语言函数调用汇编语言函数
3.4 xv6编译、调试与链接
3.4.1 gcc命令
3.4.2 make命令
3.4.3 xv6的Makefile文件
3.4.4 gdb命令
3.4.5 ELF文件结构
3.4.6 使用ld命令链接xv6
3.5 Bochs与QEMU模拟器
3.5.1 Bochs模拟器
3.5.2 Bochs模拟器的配置
3.5... 查看详情