X86体系结构OS启动过程

在csdn记录OS的开发学习笔记
先问几个问题:
(1)OS启动顺序?BIOS功能?MBR功能?loader功能?
(2)如何将硬盘加载到内存?

解答第一个:
OS的启动顺序大致为BIOS -> MBR ->loader
BIOS是固化在内存ROM中的,BIOS主要工作是检查内存,显卡等外设信息,建立中断向量表等数据结构,最后将MBR加载到内存0x7c00处,并将指令指针指向0x7c00,完成BIOS的使命
MBR位于磁盘0扇区(LBA方式磁盘寻址), 共512字节 , 最后两个字节存放的数据是0x55和0xaa,作为确定是MBR的依据。
BIOS的代码是主板在出厂时就已在ROM中固化好的,不需要我们去写。
MBR的功能主要是执行引导程序,加载loader,建立分区表;我们把重点放在loader加载的实现上。
loader的功能主要是
(1)建立内核所需的各种数据结构,如GDT,页表
(2)加载内核,将指令指针跳转到内核代码的入口地址

解答第二个
解答如何将内存加载到硬盘,需要了解硬盘的寻址方式,端口,端口加载顺序,加载到内存何处。
一、扇区的寻址方式:
扇区有两种寻址方式,一种是CHS(柱面-磁头-扇区),一种是LBA(逻辑块编址),因为LBA是将扇区从0开始编址,逐渐递增,更容易表达。所以我们采用LBA方式进行寻址,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值