极客时间《Linux0.11源码趣读》DAY 1

开机时,BIOS读取硬盘第一扇区512字节数据至内存0x7C00处执行,检查结尾的0x55AA标志。PC寄存器初始化为0xFFFF0,从该地址开始执行。启动区包含操作系统的初始二进制代码。
摘要由CSDN通过智能技术生成

从按下开机键开始

按下开机键时,在主板上提前写死的固件程序BIOS会将硬盘启动区域中512字节的数据,复制到内存0x7c00的位置上,并且跳转到这里(内存中0x7C00位置)运行
这个扇区叫启动区(第一扇区不一定是启动区,但启动区一定是第一扇区),硬盘中的0面0道1扇区。如果这个扇区的结尾两个字节是0x55,0xaa,BIOS就会认为它是启动区
这512个字节在硬盘的启动区,大小就是一个扇区的空间
启动区储存了操作系统的编译后的最开始的代码(显然,是二进制文件)

开机后pc寄存器的初始值

Intel手册中规定,开机后PC寄存器初始化为0xFFFF0,即从这个内存地址开始,cpu开始执行第一条指令(就是规定的,没有什么原因)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值