- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 PC机启动原理 计算机操作系统实践教程 CAI 教学课件
第四章 PC机启动原理
引导程序规则
引导程序具有如下三个特点:
(1) 它的大小是512B,不能多一个字节也不能少一个字节,因为BIOS 只读512B 到内存中去。
(2) 它的结尾两字节必须是“55 AA”,这是引导扇区的标志。
(3) 它总是放在磁盘的第一个扇区上(0 磁头,0 磁道,1 扇区),因为BIOS 只读这一个扇区。
因为BIOS只读一个磁盘扇区——512个字节的数据到内存中,而现在操作系统核心程序都比较庞大,512个字节的空间显然是不够存放。引导扇区里的程序的主要功能是将存储在磁盘上的操作系统的核心程序读进内存,然后再跳转到操作系统的核心程序,去执行操作系统功能。
实模式下的内存使用区间布局
BIOS 的中断处理
中断处理过程图
实模式与保护模式
寻址结构
实模式的寻址
段描述符的格式
进入保护模式
80386有4个32位控制寄存器,名字分别为CR0、CR1、CR2和CR3。这些寄存器仅能够由系统程序通过MOV 指令访问。格式如图4.10 所示。
系统要切换到保护模式过程简述如下:
(1)创建GDT表;
(2)用lgdt命令加载gdtr;
(3)启用A20地址线;
(4)通过置CR0的PE位为1 ;
(5)执行跳转,进入保护模式;
进入保护模式
控制寄存器CR0 包含系统整体的控制标志,它控制或指示出整个系统的运行状态或条件。其中:
PE – 保护模式开启位(Protection Enable,比特位0)。如果设置了该比特位,就会使处理器开始在保护模式下运行。
MP – 协处理器存在标志(Math Present,比特位1)。用于控制WAIT 指令的功能,以配合协处理器的运行。
EM – 仿真控制(Emulation,比特位2)。指示是否需要仿真协处理器的功能。
TS – 任务切换(Task Switch,比特位3)。每当任务切换时处理器就会设置该比特位,并且在解释协处理器指令之前测试该位。
ET – 扩展类型(Extention Type,比特位4)。该位指出了系统中所含有的协处理器类型(是80287 还是80387)。
PG – 分页操作(Paging,比特位31)。该位指示出是否使用页表将线性地址变换成物理地址。参见第6章对分页内存管理的描述。
fd_boot.asm 引导程序功能
fd_boot.bin代码是磁盘引导块程序,驻留在磁盘的第一个扇区中(引导扇区,0 磁道(柱面),0 磁头,第1 个扇区)。在PC 机加电ROM BIOS 自检后,引导扇区由BIOS执行int19H中断,加载到内存0x7C00 处,然后引导扇区程序将自己移动到内存0x90000 处。该程序的主要作用是首先将setup 模块(由setup.asm 编译得到)从磁盘加载到内存,紧接着bootsect 的后面位置(0x90200),然后利用BIOS 中断0x13 取磁盘参数表中当前启动引导盘的参数,接着在屏幕上显示“Loading system...”字符串。再者将system 模块从磁盘上加载到内存0x10000 开始的地方。随后确定根文件系统的设备号,若没有指定,则根据所保存的引导盘的每磁道扇区数判别出盘的类型和种类(是1.44M A 盘?)并保存其设备号于root_dev(引导块的0x508 地址处),最后长跳转到setup 程序的开始处(0x90200)执行setup 程序。
setup.asm 设置程序功能
setup.asm程序的作用主要是利用ROM BIOS 中断读取机器系统数据,并将这些数据保存到相应变量中。这些参数将被内核中相关程序使用。然后setup.asm程序为系统进入保护模式做准备:加载中断描述符表寄存器(idtr)和全局描述符表寄存器(gdtr);开启A20 地址线;重新设置两个中断控制芯片8259A;最后设置CPU 的控制寄存器CR0(也称机器状态字),从而进入32 位保护模式运行;跳转到位于内核程序入口Main函数继续运行。为了能让内核程序在32 位保护模式下运行,在本程序中临时设置了中断描述符表(idt)和全局描述符表(gdt),并在gdt 中设置了当前内核代码段的描述符和数据段的描述符。
lowlevel.asm 程序功能
Lowlevel.asm文件主要是提供底层中断和线程处理的代码。它是一个32位代码程序,编译时被链接到内核中。在文件中定义了在IDT中要使用的底层中断处理程序入口指针。同时也包含了中断处理代码和线程上下文切换代码。
您可能关注的文档
最近下载
- PEP小学英语五年级上册全部单元检测题.pdf VIP
- 土方外运施工方案.docx VIP
- 基层煤矿党支部书记个人工作总结.docx VIP
- 保安员资格考试100题(含答案).pdf VIP
- 基坑支护内支撑梁拆除施工方案.docx VIP
- 最新人教版一年级上册《数学游戏》课件(整套)教学PPT(2024年秋-新教材).pptx VIP
- 最新人教版一年级数学上册《数学游戏》教学课件(整套)PPT(2024秋-新教材).pptx VIP
- GBT6058-2005 纤维缠绕压力容器制备和内压试验方法.pdf
- GB╱T 23711.1-2009 氟塑料衬里压力容器电火花试验方法.pdf
- 7m焦炉推焦车的结构特征.pdf
文档评论(0)