养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

操作系统是如何加载运行的

时间:2024-09-28 17:24:14

系统启动和加载过程可分为若干步骤,或者称为若干个状态。

方法/步骤

1、按下启动键后,电源首先启动。为了保证安全使用,电源的设计采取了许多保护措施,所以电源从起振到稳定有一定的延迟。电源各部分(各输入电压和输出电压等)稳定后,会分别发送一个检测信号,此信号电压为高时表示稳定。所有检测信号都为高时,就产生一个POWERGOOD信号。如果主板接收不到该信号,时钟芯片会一直向cpu发送RESET信号(等同于按下重启键),这样cpu就不会工作。

2、CPU的VID0-VID3引脚,使CPU工作电压与时钟信号匹配。

3、CPU预编程,使CPU执行0XFFFF0H处的JUMP指令,从而跳转到BIOS(basicinput/outputsystem)程序(不同的BIOS,所在地址不同)(最新版的UEFI模式跳过BIOS自检,直接进行引导系统)

4、BIOS首先进行的就是上电自检,用来检畲驶郜杏测各硬件设备工作状态是否正常。BIOS厂商对每一个设备都给出了检测代码(POSTCODE,即开机自我检测代码),对某一个设备进行检测时,首先将检氛艾洎象测代码发送到80H检测端口,检测通过后,再发送下一个设备的检测代码进行检测。如果检测失败,检测代码会留在80H端口,检测程序也会停止,并根据预先设定好的警报声(此时显卡还未初始化,不能显示)进行报警(BIOS厂商对不同的设备定义了不同的报警声,我们可以根据报警声的不同来判断故障,IntelPOST相关)。

5、包括创建中断向量表、设置寄存器、对一些外部设备(显卡等)进行初始化和检测,其中最重要的是对BIOS的设置,主要是对硬件参数的设置。初始化完毕,如果硬件配置发生变化,会进行ESCD更新。ESCD是BIOS和操作系统交换硬件配置信息的一种方法,它保存在CMOS中。

6、BIOS按CMOS设定的顺序启动相应设备

7、要想启动操作系统,就必须找到存放操作卺肿蓦艚系统的区。所以对于硬盘,所有的BIOS都先读取硬盘的0磁头0柱面1扇区,这里存放着主引导记录MBR(Mainboo墉掠载牿trecord),该扇区称为主引导扇区。BIOS将控制权交给MBR,来找到并加载操作系统。要了解如何找到活动分区,首先必须了解主引导扇区的结构。主引导扇区是0磁头0柱面1扇区,磁头和柱面都是从0计数,扇区则从1计数。0磁头0柱面1扇区是第一物理扇区。该扇区共512字节,分为三部分。第一部分是MBR,存放程序,大小是446字节,范围是0-445字节(0x00H-0x1BDH);第二部分是磁盘分区表DPT(DiskPartitiontable),大小为64字节,范围是446-509字节(0x1BEH-0x1FDH);第三部分是结束标志,大小为2字节,范围是510-511字节(0x1FEH-0x1FFH),其值一般为0xAA55H。MBR里有启动代码和数据,不同的bootloader启动代码不同,但不论如何,分区表的结构都是相同的,所以先介绍一下分区表。分区表可以容纳四个分区的信息,每个分区占16个字节。每个分区的16个字节表示的信息如下:第0个字节:引导字节。80H代表活动分区,00H代表非活动分区;第1-3个字节:本分区的起始扇区。最低位字节(第一个字节)代表磁头号,次高位字节的低6位代表扇区号,次高位字节的高2位和最高位字节的8位表示柱面号。第4个字节:分区类型符。  00H——代表该分区未用(即没有指定)  01H——FAT12基本分区  04H——FAT16基本分区  06H——bigFAT16基本分区  0BH——FAT32基本分区  05H——扩展分区  07H——NTFS分区  0FH——(LBA模式)扩展分区  83H——linux分区第5-7个字节:本分区的结束扇区。结构类似开始分区;第8-11个字节:本分区起始扇区距该分区的分区表所在扇区的扇区数之差;第12-15个字节:本分区的总扇区数;下面介绍DOS下引导操作系统的过程。注意:MBR程序的作用是找到活动分区(将要启动的操作系统所在的分区),并将控制权交给活动分区的系统引导程序。1)BIOS把主引导扇区的512字节拷贝到内存的0:7c00H(为了和软盘的拷贝位置一致,BIOS自动完成此拷贝)处,将控制交给MBR代码。2)MBR把512个字节搬移到0:600处,为之后活动分区引导程序留出空间。3)MBR检查依次检测四个分区表的第一个字节,若为80H,则继续检测其他分区表确保只有一个活动分区,否则会发生错误;若为00H,则继续检测其他分区,若四个分区检查完毕,仍没有检测到活动分区,说明没有可以启动的分区,则调用INT18H进入ROMBASIC(一种程序解释器,可以自己编写BASIC程序运行)。4)找到活动分区后,根据分区表中分区起始位置等信息,读取该分区第一个扇区的内容到0:7c00H,将控制全交给该活动分区引导程序。该引导程序将加载内核,内核会加载操作系统。

8、加载内核和操作系统

© 一点知识