第1章 概述 - 4 -
1.1 Hello简介 - 4 -
1.2 环境与工具 - 4 -
1.3 中间结果 - 4 -
1.4 本章小结 - 4 -
第2章 预处理 - 5 -
2.1 预处理的概念与作用 - 5 -
2.2在Ubuntu下预处理的命令 - 5 -
2.3 Hello的预处理结果解析 - 5 -
2.4 本章小结 - 7 -
第3章 编译 - 8 -
3.1 编译的概念与作用 - 8 -
3.2 在Ubuntu下编译的命令 - 8 -
3.3 Hello的编译结果解析 - 8 -
3.4 本章小结 - 13 -
第4章 汇编 - 14 -
4.1 汇编的概念与作用 - 14 -
4.2 在Ubuntu下汇编的命令 - 14 -
4.3 可重定位目标elf格式 - 14 -
4.4 Hello.o的结果解析 - 17 -
4.5 本章小结 - 18 -
第5章 链接 - 20 -
5.1 链接的概念与作用 - 20 -
5.2 在Ubuntu下链接的命令 - 20 -
5.3 可执行目标文件hello的格式 - 20 -
5.4 hello的虚拟地址空间 - 25 -
5.5 链接的重定位过程分析 - 26 -
5.6 hello的执行流程 - 28 -
5.7 Hello的动态链接分析 - 29 -
5.8 本章小结 - 29 -
第6章 hello进程管理 - 30 -
6.1 进程的概念与作用 - 30 -
6.2 简述壳Shell-bash的作用与处理流程 - 30 -
6.3 Hello的fork进程创建过程 - 31 -
6.4 Hello的execve过程 - 32 -
6.5 Hello的进程执行 - 32 -
6.6 hello的异常与信号处理 - 32 -
6.7本章小结 - 36 -
第7章 hello的存储管理 - 37 -
7.1 hello的存储器地址空间 - 37 -
7.2 Intel逻辑地址到线性地址的变换-段式管理 - 37 -
7.3 Hello的线性地址到物理地址的变换-页式管理 - 39 -
7.4 TLB与四级页表支持下的VA到PA的变换 - 40 -
7.5 三级Cache支持下的物理内存访问 - 42 -
7.6 hello进程fork时的内存映射 - 43 -
7.7 hello进程execve时的内存映射 - 43 -
7.8 缺页故障与缺页中断处理 - 44 -
7.9动态存储分配管理 - 45 -
7.10本章小结 - 45 -
第8章 hello的IO管理 - 46 -
8.1 Linux的IO设备管理方法 - 46 -
8.2 简述Unix IO接口及其函数 - 46 -
8.3 printf的实现分析 - 47 -
8.4 getchar的实现分析 - 49 -
8.5本章小结 - 49 -
结论 - 49 -
附件 - 50 -
参考文献 - 51 -