搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
UNIX xv6内核源码深入剖析/软件开发源码精讲系列
0.00     定价 ¥ 99.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787302614630
  • 作      者:
    作者:高联雄|责编:安妮//张爱华
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2022-11-01
收藏
内容介绍
本书对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内核感兴趣的读者。
展开
目录
第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 栈帧示例
3.3.3 栈帧示例
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命令链接xv
3.5 Bochs与QEMU模拟器
3.5.1 Bochs模拟器
3.5.2 Bochs模拟器的配置
3.5.3 QEMU模拟器选项及内核调试
第4章 x86计算机组成原理
4.1 计算机系统
4.2 计算机硬件系统
4.2.1 硬件组成
4.2.2 总线
4.3 CPU
4.3.1 Cache与指令部件
4.3.2 MMU与BIU
4.3.3 寄存器组
4.4 内存
4.5 中断系统
4.5.1 中断
4.5.2 中断控制器与中断处理程序
4.6 I/O端口与外设
4.6.1 I/O端口与端口寻址
4.6.2 控制器与I/O设备
第5章 x86实模式与保护模式
5.1 x86的地址与工作模式
5.1.1 地址的概念
5.1.2 16位实模式
5.1.3 32位保护模式
5.2 A20地址线
5.3 保护模式与段寄存器
5.3.1 分段机制
5.3.2 逻辑地址转换为线性地址
5.3.3 段选择符
5.3.4 段寄存器
5.3.5 xv6的段选择符和段寄存器的设定
5.4 描述符
5.4.1 描述符格式
5.4.2 非系统描述符
5.4.3 系统描述符
5.4.4 xv6中的描述符
5.5 描述符表、TSS与特权等级保护
5.5.1 描述符表
5.5.2 TSS与任务切换
5.5.3 系统地址寄存器
5.5.4 段的特权等级保护
5.6 xv6的段管理
5.6.1 实模式下的段
5.6.2 保护模式引导阶段的GDT
5.6.3 内核的GDT
5.6.4 IDT
5.6.5 TSS与TR
5.7 保护模式分页机制
5.7.1 控制寄存器
5.7.2 分页机制
5.7.3 CR3、页目录项与页表项的格式
5.7.4 虚拟地址与物理地址的转换
5.8 xv6的地址空间
第6章 xv6的启动
6.1 概述
6.1.1 引导扇区与启动流程
6.1.2 启动过程的地址空间设置
6.1.3 启动过程的堆栈
6.2 BP的引导
6.2.1 BP从实模式进入保护模式
6.2.2 进入32位模式
6.2.3 调用bootmain()函数
6.2.4 BP加载内核映像文件
6.3 BP进入内核
6.3.1 内核入口地址
6.3.2 内核的进入
6.4 BP的初始化
6.4.1 运行主函数
6.4.2 启动AP
6.5 AP的进入与初始化
6.5.1 AP的进入
6.5.2 AP的初始化
第7章 虚拟空间管理
7.1 虚拟地址空间布局与映射
7.1.1 虚拟地址空间及布局
7.1.2 内核空间映射
7.1.3 内核的几个特殊地址
7.2 空间初始化、分配与释放
7.2.1 空闲帧管理
7.2.2 内核页面分配
7.2.3 内存初始化
7.2.4 空间释放
7.3 内核虚拟空间管理
7.3.1 内核虚拟空间分配、构建与切换
7.3.2 页面映射与页表查找
7.4 用户空间管理
7.4.1 初始进程的用户空间
7.4.2 用户空间加载
7.4.3 用户空间复制
7.4.4 用户空间切换
7.4.5 用户空间分配与释放
第8章 中断与系统调用
8.1 xv6中断处理
8.1.1 IDT初始化
8.1.2 xv6中断号
8.1.3 中断向量数组与中断向量
8.1.4 中断响应与中断返回
8.1.5 中断处理程序
8.2 系统调用
8.2.1 系统调用函数
8.2.2 系统调用函数的实现
8.2.3 系统调用分派
8.2.4 函数指针数组与系统函数
8.2.5 提取调用参数
8.2.6 系统调用示例
8.3 驱动程序
8.4 中断与系统调用及内核堆栈
8.4.1 中断与系统调用处理过程
8.4.2 中断的内核堆栈
第9章 锁
9.1 自旋锁
9.1.1 自旋锁的概念
9.1.2 自旋锁的实现
9.2 睡眠锁
9.2.1 睡眠锁的概念
9.2.2 睡眠锁的实现
9.3 内核的死锁
第10章 进程管理
10.1 进程的基本概念
10.1.1 进程的概念
10.1.2 进程的状态与生命周期
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证