虚拟地址空间布局
预编译
1.删除 #define
文本替换
2.处理 #include
递归展开
3.处理 #if #end if等预编译指令
4.删除注释
5.添加行号和文件标识
6.保留 #pragma
编译
1.词法分析
2.语法分析
3.语义分析
4.代码优化
5.生成汇编指令
汇编
翻译指令
链接
1.合并段和符号表
2.符号解析
3.分配地址和空间
4.符号的重定位
运行
1.建立虚拟地址空间和物理内存的映射
(创建内核映射结构体)
创建页目录页表
2.加载指令和数据
3.把入口地址放到下一行指令寄存器
相关文章: