成功加入购物车
赵炯 著 / 机械工业出版社 / 2009-01 / 平装
售价 ¥ 40.00 4.0折
定价 ¥99.00
品相 九品品相描述
上书时间2021-06-08
Linux内核完全剖析:基于0.12内核
本书对早期Linux内核(v0.12)全部代码文件进行了详细、全面的注释和说明,旨在帮助读者用较短的时间对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux打下坚实的基础。虽然选择的版本较低,但该内核已能够正常编译运行,并且其中已包括了Linux工作原理的精髓。书中首先以Linux源代码版本的变迁为主线,介绍了Linux的历史,同时着重说明了各个内核版本的主要区别和改进,给出了选择0.12版内核源代码作为研究对象的原因。在正式描述内核源代码之前,概要介绍了运行Linux的PC的硬件组成结构、编制内核使用的汇编语言和C语言扩展部分,并且重点说明了80x86处理器在保护模式下运行的编程方法。接着详细介绍了Linux内核源代码目录树组织结构,并依据该结构对所有内核程序和文件进行了注释和详细说明。有关代码注释的章节安排基本上都分为具体研究对象的概述、每个文件的功能介绍、代码内注释、代码中难点及相关资料介绍等部分。为了加深读者对内核工作原理的理解,书中最后一章给出了围绕Linux0.12系统的多个试验。
本书适合Linux爱好者作为学习内核工作原理的自学参考书籍,也适合作为高校计算机专业学生学习操作系统课程的辅助和实践教材,还可供一般技术人员作为开发嵌入式系统的参考书使用。
序第1章 概述1.1 Linux的诞生和发展1.1.1 UNIX操作系统的诞生1.1.2 MINIX操作系统1.1.3 GNU计划1.1.4 POSIX标准1.1.5 Linux操作系统的诞生1.1.6 Linux操作系统版本的变迁1.1.7 Linux名称的由来1.1.8 早期Linux系统开发的主要贡献者1.2 内容综述1.3 本章小结第2章 微型计算机组成结构2.1 微型计算机组成原理2.2 I/O端口寻址和访问控制方式2.2.1 I/O端口和寻址2.2.2 接口访问控制2.3 主存储器、BIOS和CMOS存储器2.3.1 主存储器2.3.2 基本输入/输出程序BIOS2.3.3 CMOS存储器2.4 控制器和控制卡2.4.1 中断控制器2.4.2 DMA控制器2.4.3 定时/计数器2.4.4 键盘控制器2.4.5 串行控制卡2.4.6 显示控制2.4.7 软盘和硬盘控制器2.5 本章小结第3章 内核编程语言和环境3.1 as86汇编器3.1.1 as86汇编语言语法3.1.2 as86汇编语言程序3.1.3 as86汇编语言程序的编译和链接3.1.4 as86和1d86使用方法和选项3.2 CNU as汇编3.2.1 编译as汇编语言程序3.2.2 as汇编语法3.2.3 指令语句、操作数和寻址3.2.4 区与重定位3.2.5 符号3.2.6 as汇编命令3.2.7 编写16位代码3.2.8 AS汇编器命令行选项3.3 C语言程序3.3.1 C程序编译和链接3.3.2 嵌入汇编3.3.3 圆括号中的组合语句3.3.4 寄存器变量3.3.5 内联函数3.4 C与汇编程序的相互调用3.4.1 C函数调用机制3.4.2 在汇编程序中调用C函数3.4.3 在C程序中调用汇编函数3.5 Linux 0.12目标文件格式3.5.1 目标文件格式3.5.2 Linux0.12中的目标文件格式3.5.3 链接程序输出3.5.4 链接程序预定义变量一3.5.5 System.map文件3.6 Make程序和Makefile文件3.6.1 Makefite文件内容3.6.2 Makefile文件中的规则3.6.3 Makefile文件示例3.6.4 make处理Makefile文件的方式3.6.5 Makefile中的变量3.6.6 让make自动推断命令3.6.7 隐含规则中的自动变量3.7本章 小结第4章 80x86保护模式及其编程4.1 80x86系统寄存器和系统指令4.1.1 标志寄存器4.1.2 内存管理寄存器4.1.3 控制寄存器4.1.4 系统指令4.2 保护模式内存管理4.2.1 内存寻址4.2.2 地址变换4.2.3 保护4.3 分段机制4.3.1 段的定义4.3.2 段描述符表4.3.3 段选择符4.3.4 段描述符4.3.5 代码和数据段描述符类型4.3.6 系统描述符类型4.4 分页机制4.4.1 页表结构4.4.2 页表项格式4.4.3 虚拟存储4.5 保护4.5.1 段级保护4.5.2 访问数据段时的特权级检查4.5.3 代码段之间转移控制时的特权级检查4.5.4 页级保护4.5.5 组合页级和段级保护4.6 中断和异常处理4.6.1 异常和中断向量4.6.2 中断源和异常源4.6.3 异常分类4.6.4 程序或任务的重新执行4.6.5 开启和禁止中断4.6.6 异常和中断的优先级4.6.7 中断描述符表4.6.8 IDT描述符4.6.9 异常与中断处理4.6.10 中断处理任务4.6.11 错误码4.7 任务管理4.7.1 任务的结构和状态4.7.2 任务的执行4.7.3 任务管理数据结构4.7.4 任务切换4.7.5 任务链4.7.6 任务地址空间4.8 保护模式编程初始化4.8.1 进入保护模式时的初始化操作4.8.2 模式切换4.9 一个简单的多任务内核实例4.9.1 多任务程序结构和工作原理4.9.2 引导启动程序boot.s4.9.3 多任务内核程序head.s第5章 Linux内核体系结构5.1 Linux内核模式5.2 Linux内核系统体系结构5.3 Linux内核对内存的管理和使用5.3.1 物理内存5.3.2 内存地址空间概念5.3.3 内存分段机制5.3.4 内存分页管理5.3.5 CPu多任务和保护方式5.3.6 虚拟地址、线性地址和物理地址之间的关系5.3.7 用户申请内存的动态分配5.4 中断机制5.4.1 中断操作原理5.4.2 80x86微机的中断子系统5.4.3 中断向量表5.4.4 I.inux内核的中断处理5.4.5 标志寄存器的中断标志5.5 Linux的系统调用5.5.1 系统调用接口5.5.2 系统调用处理过程5.5.3 Linux系统调用的参数传递方式5.6 系统时间和定时5.6.1 系统时间5.6.2 系统定时5.7 Linux进程控制5.7.1 任务数据结构5.7.2 进程运行状态5.7.3 进程初始化5.7.4 创建新进程5.7.5 进程调度5.7.6 终止进程5.8 Linux系统中堆栈的使用方法5.8.1 初始化阶段5.8.2 任务的堆栈5.8.3 任务内核态堆栈与用户态堆栈之间的切换5.9 Linux0.12采用的文件系统5.10 Linux内核源代码的目录结构5.10.1 内核主目录linux5.10.2 引导启动程序目录boot5.10.3 文件系统目录fs5.10.4 头文件主目录include5.10.5 内核初始化程序目录init5.10.6 内核程序主目录kernel5.10.7 内核库函数目录lib5.10.8 内存管理程序目录mm5.10.9 编译内核工具程序目录tools5.1l 内核系统与应用程序的关系5.12 linux/MakeftIe文件5.12.1 功能描述5.12.2 代码注释5.13 本章 小结第6章 引导启动程序6.1 总体功能6.2 bootsect.S程序6.2.1 功能描述6.2.2 代码注释6.2.3 其他信息6.3 setup.S程序6.3.1 功能描述6.3.2 代码注释6.3.3 其他信息6.4 lead.s程序6.4.1 功能描述6.4.2 代码注释6.4.3 其他信息6.5 本章 小结第7章 初始化程序7.1 main.c程序7.1.1 功能描述7.1.2 代码注释7.1.3 其他信息7.2 环境初始化工作7.3 本章 小结第8章 内核代码8.1 总体功能8.1.1 中断处理程序8.1.2 系统调用处理相关程序8.1.3 其他通用类程序8.2 asm.s程序8.2.1 功能描述8.2.2 代码注释8.2.3 Intel保留中断向量的定义8.3 traps.c程序8.3.1 功能描述8.3.2 代码注释8.4 syscall.s程序8.4.1 功能描述8.4.2 代码注释8.4.3 其他信息8.5 mktime.c程序8.5.1 功能描述8.5.2 代码注释8.5.3 闰年的计算方法8.6 sched.c程序8.6.1 功能描述8.6.2 代码注释8.6.3 其他信息8.7 signal.c程序8.7.1 功能描述8.7.2 代码注释8.7.3 进程信号说明8.8 exit.c程序8.8.1 功能描述8.8.2 代码注释8.9 fork.c程序8.9.1 功能描述8.9.2 代码注释8.9.3 任务状态段信息8.10 sys.c程序8.10.1 功能描述8.10.2 代码注释8.1l vsprimtfc程序8.11.1 功能描述8.11.2 代码注释8.11.3 vsprintf的格式字符串8.11.4 与当前版本的区别8.12 printk.c程序8.12.1 功能描述8.12.2 代码注释8.13 panic.c程序8.13.1 功能描述8.13.2 代码注释8.14 本章 小结第9章 块设备驱动程序9.1 总体功能9.1.1 块设备请求项和请求队列9.1.2 块设备访问调度处理9.1.3 块设备操作方式9.2 blk.h文件9.2.1 功能描述9.2.2 代码注释9.3 hd.c程序9.3.1 功能描述9.3.2 代码注释9.3.3 其他信息9.4 nrwblk.c程序9.4.1 功能描述9.4.2 代码注释9.5 ramdisk.c程序9.5.1 功能描述9.5.2 代码注释9.6 floppy.c程序9.6.1 功能描述9.6.2 代码注释9.6.3 其他信息第10章 字符设备驱动程序10.1 总体功能10.1.1 终端驱动程序基本原理10.1.2 Linux支持的终端设备类型10.1.3 终端基本数据结构lO.1.4 规范模式和非规范模式10.1.5 控制台终端和串行终端设备10.1.6 终端驱动程序接口10.2 keyboard.S程序10.2.1 功能描述10.2.2 代码注释10.2.3 其他信息10.3 console.c程序10.3.1 功能描述10.3.2 代码注释10.3.3 其他信息10.4 serial.c程序10.4.l 功能描述10.4.2 代码注释lO.4.3 异步串行通信控制器UART10.5 rsio.s程序10.5.1 功能描述10.5.2 代码注释10.6 ttyi0.c程序10.6.1 功能描述10.6.2 代码注释10.6.3 控制字符vnME、VMlN10.7 ttyjoctl.c程序10.7.1 功能描述10.7.2 代码注释第11章 数学协处理器第12章 文件系统第13章 内存管理第14章 头文件第15章 库文件第16章 建造工具第17章 实验环境设置与使用方法附录参考文献
展开全部
配送说明
...
相似商品
为你推荐
开播时间:09月02日 10:30