佳作推荐之《Linux内核完全剖析—基于0.12内核》作者:赵炯

来源:互联网 发布:物流仓储软件 编辑:程序博客网 时间:2024/05/22 06:16
书推荐,正在学习中!感谢 赵炯 老师!
那些动辄就要金币银币的人,我真鄙视你们!估计赵老师也鄙视你们!
=========================================================================
Linux内核完全剖析—基于0.12内核    赵炯
本书对早期Linux内核(v0.12)全部代码文件进行了详细、全面的注释和说明,书中首先以Linux源代码版本的变迁为主线,介绍了Linux的历史,同时着重说明了各个内核版本的主要区别和改进,给出了选择0.12版内核源代码作为研究对象的原因。
在正式描述内核源代码之前,概要介绍了运行Linux的PC的硬件组成结构、编制内核使用的汇编语言和C语言扩展部分,并且重点说明了80x86处理器在保护模式下运行的编程方法。接着详细介绍了Linux内核源代码目录树组织结构,并依据该结构对所有内核程序和文件进行了注释和详细说明。
有关代码注释的章节安排基本上都分为具体研究对象的概述、每个文件的功能介绍、代码内注释、代码中难点及相关资料介绍等部分。试验中所使用的相关程序均可从本书配套网站(www.oldlinux.org)上下载。
=========================================================================
出版社:机械工业出版社出版日期:2009年1月ISBN:978-7-111-25047-0定 价:99.00元关键字: Linux  内核  Linux内核完全剖析—基于0.12内核   免责声明:图书版权归出版社和作者所有,51CTO.com 仅提供试读
=========================================================================
本书详细信息
目录
  • Linux内核完全剖析—基于0.12内核 目录
  • Linux内核完全剖析—基于0.12内核 序
  • 第1章 概述
  • 1.1.1 UNIX操作系统的诞生
  • 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.1 I/O端口和寻址
  • 2.2.2 接口访问控制
  • 2.3.1 主存储器
  • 2.3.2 基本输入/输出程序BIOS
  • 2.3.3 CMOS存储器
  • 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和ld86使用方法和选项
  • 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.1 C程序编译和链接
  • 3.3.2 嵌入汇编
  • 3.3.3 圆括号中的组合语句
  • 3.3.4 寄存器变量
  • 3.3.5 内联函数
  • 3.4.1 C函数调用机制
  • 3.4.2 在汇编程序中调用C函数
  • 3.4.3 在C程序中调用汇编函数
  • 3.5.1 目标文件格式
  • 3.5.2 Linux 0.12中的目标文件格式
  • 3.5.3 链接程序输出
  • 3.5.4 链接程序预定义变量
  • 3.5.5 System.map文件
  • 3.6.1 Makefile文件内容
  • 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章
  • 4.1 80x86 系统寄存器和系统指令
  • 4.1.1 标志寄存器
  • 4.1.2 内存管理寄存器
  • 4.1.3 控制寄存器
  • 4.1.4 系统指令
  • 4.2.1 内存寻址
  • 4.2.2 地址变换
  • 4.2.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.3 代码段之间转移控制时的特权级..
  • 4.5.4 页级保护
  • 4.5.5 组合页级和段级保护
  • 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.1 任务的结构和状态
  • 4.7.2 任务的执行
  • 4.7.3 任务管理数据结构
  • 4.7.4 任务切换
  • 4.7.5 任务链
  • 4.7.6 任务地址空间
  • 4.8.1 进入保护模式时的初始化操作
  • 4.8.2 模式切换
  • 4.9.1 多任务程序结构和工作原理
  • 4.9.2 引导启动程序boot.s
  • 4.9.3 多任务内核程序head.s
  • 第5章
  • 5.1 Linux内核模式
  • 5.2 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.1 中断操作原理
  • 5.4.2 80x86微机的中断子系统
  • 5.4.3 中断向量表
  • 5.4.4 Linux内核的中断处理
  • 5.4.5 标志寄存器的中断标志
  • 5.5.1 系统调用接口
  • 5.5.2 系统调用处理过程
  • 5.5.3 Linux系统调用的参数传递方式
  • 5.6.1 系统时间
  • 5.6.2 系统定时
  • 5.7 Linux进程控制
  • 5.7.1 任务数据结构(1)
  • 5.7.1 任务数据结构(2)
  • 5.7.2 进程运行状态
  • 5.7.3 进程初始化
  • 5.7.4 创建新进程
  • 5.7.5 进程调度
  • 5.7.6 终止进程
  • 5.8.1 初始化阶段
  • 5.8.2 任务的堆栈
  • 5.8.3 任务内核态堆栈与用户态堆栈之..
  • 5.9 Linux 0.12采用的文件系统
  • 5.10.1 内核主目录linux
  • 5.10.2 引导启动程序目录boot
  • 5.10.3 文件系统目录fs
  • 5.10.4 头文件主目录include
  • 5.10.5 内核初始化程序目录init
  • 5.10.6 内核程序主目录kernel
  • 5.10.7 内核库函数目录lib
  • 5.10.8 内存管理程序目录mm
  • 5.10.9 编译内核工具程序目录tools
  • 5.11 内核系统与应用程序的关系
  • 5.12.1 功能描述
  • 5.12.2 代码注释
  • 5.13 本章小结
  • 第11章
  • 11.1 总体功能描述
  • 11.1.1 浮点数据类型(1)
  • 11.1.1 浮点数据类型(2)
  • 11.1.2 数学协处理器功能和结构
  • 11.2.1 功能描述
  • 11.2.2 代码注释
  • 第14章
  • 14.1 include/目录下的文件
  • 14.2.1 功能描述
  • 14.2.2 代码注释
  • 14.2.3 a.out执行文件格式
  • 14.3 const.h文件
  • ================================================================

    完毕!