- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux系统的初始化
Linux 系统的初始化
Jinsheng shi goldcattle@
Linux 系统的初始化
本文的内容是讲述从 Linux 系统启动部分。即当你按下 power 键到你看到 login :的整个过
程牵扯的东西很多很多。所以专门写一个专题来将将这个东西。
本文不局限于 Linux 的启动过程的分析,同时兼顾对系统结构方面的介绍。本文的另外一个
目的是为了自己找工作,复习一下相关的知识。
与这个部分相关的代码主要是:
1、Bootsect.s ,setup.S 和 head.S
2 、Init 目录下面的main.c
/arch/i386 下面的其他代码也是很重要的。
1、基础知识
1.1 386 的体系结构
80386 的芯片内部被分为独立的六个处理部件:总线接口部件,执行部件和分段部件,
分页部件,指令预取和指令译码部件。其中分段部件和分页部件统称为 MMU 内存管理部件。
这六个部件是并行工作的,构成了一个 6 级流水体系结构,从而大大提高了处理效率。对于
程序设计人员来讲要了解 386 的寄存器结构要比知道物理上的实现更加重要。80386 的内部
有 30 多个寄存器。其中可以分为如下五类:通用寄存器,段寄存器,系统地址寄存器,控
制寄存器,以及调试和测试寄存器。
1.1.1 通用寄存器:
在应用程序用来对程序的数据进行存取和计算。80386 有 8 个 32 位的通用寄存器,如
下图 1.2 所示。他们是在 16 位寄存器的扩展。故命名为 EAX,EBX,ECX,EDX,EBP,ESI,EDI
和 ESP 。数据可以是 1 位,8 位,16 位,32 位和 64 位(MMX) 。访问寄存器的尺寸可以为 8
位,16 位,和 32 位,并给不同的尺寸赋予不同的名字。比如 EAX 是 32 位,AX 是 16 位,
AL 和 AH 是 8 位。
两个附加寄存器保留了当前指令流的状态信息。EIP 寄存器包含的是当前指令的下一条
指令的偏移地址。EFLAGS 中包含了与各个指令相关的信息位。EIP 或 IP 与 CS 段寄存器共
同指出了下一条被执行指令的存储器地址。
EFLAGS 的寄存器包含如下字段:
图 1.1 EFLAGS 寄存器( 图来源于IA32 手册)
CF 进位标志
PF 奇偶标志 当某个算术运算操作生成有偶数个 1 时,该位被置位
AF 辅助进位标志 当AL 的寄存器低半个字节发生进位时被置位。由BCD 码控制。
第 1 页(共 50 页)
Linux 系统的初始化
Jinsheng shi goldcattle@
ZF 0 标志,如果运算结果为 0,该为被置 1
SF 符号标志 当 SF=1 时,表明结果是负数。
TF trace 标志。如果 TF =1,那么下一条指令执行完后立即触发 INT 1
IF 中断允许标注 如果 IF =1 是响应中断的。
DF 是方向标志当 DF=1 时字符串操作从高地址向地址操作。 STD ,CLD
OF 指令是溢出标志
IOPL 是个双位字段 可以取 0~3 IOPL 是限定了 CPU 的安全级别。
NT 任务嵌套标志当调用、中断、trace 或者异常引起任务切换时,设置该位为 1
RF 是重新启动的标志
VM 是虚拟 86 模式的标注
AC 此位仅用于 80486 中
图 1.2 通用寄存器
1.1.2 段寄存器
段寄存器中比较重要的是 CS 寄存器,CS 寄存器只能通过 CALL, RET 和 JMP 指令进
行修改。别的指令修改都是违规的。另外段寄存器都配置了一个描述符高速缓存,它保存了
段寄存器的起始地址和段界限和访问权限。这个高速缓存是不能访问的,又称为影子寄存器。
堆栈的实现是通过段寄存器的 SS 和通用寄存器 ESP, EBP 组成的。栈是倒挂的栈,在
调用一个子程序段的时候一般先要开辟一段空间作为栈空间
您可能关注的文档
- IT7300交流电源在LED行业测试应用.pdf
- IGBT导热硅脂涂敷工艺研究.pdf
- IVCV测试差异说明.doc
- IXUS870IS说明书.pdf
- JAPANLFP10AH水系粘结剂对磷酸铁锂电池的影响.pdf
- Java数组操作的10大方法.docx
- Java数组元素.pdf
- Java有好用的JavaDoc文档生成工具.pdf
- JB4730讲座射线一天.ppt
- JBT733494手拉葫芦.pdf
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)