BIOS 加载操作系统 bootsec 代码

BIOS 加载操作系统 bootsec 代码

目录

教学视频

VEDIO: BIOS 加载操作系统 启动扇区 bootsec 代码

1. 加载系统代码整体步骤

2. 加载bootsec代码

直达底部

教学视频

1. 加载系统代码整体步骤

BIOS 将分三批逐次加载操作系统的内核代码。
  • 第一批 由 BIOS 中断 int 0x19 把第一扇区 bootsect 的内容加载到内存;
  • 第二批、 第三批在 bootsect 的指挥下, 分别把其后的 4 个扇区和随后的 240 个扇区的 内容加载至内存。

2. 加载bootsec代码

经过执行一系列 BIOS 代码之后,计算机完成了自检等操作, 计算机硬件会让 CPU 接收到一个 int 0x19 中断。 CPU 接收到这个中断后, 会立即在中断向量表中找到 int 0x19 中断向量。

BIOS 0x19 中断

int 0x19 相对应的中断服务程序的作用 就是把软盘/硬盘 第一扇区中的程序(512 B)加载到内存 中的指定位置。 该中断服务程序功能是 BIOS 事先设计好的, 代码是固定的, 就是“找到软盘/硬盘”并“加载第一扇区”, 其余的什么都不知道。

int 0x19 中断向量所指向的中断服务程序, 即启动加载服务程序, 将软驱/硬盘 0 号磁头对应盘 面的 0 磁道 1 扇区的内容复制至内存 0x07C00 处。

拷贝代码到0x07c00

这个扇区里的内容就是引导程序,也就是 bootsect, 其作用就是陆续把软盘/硬盘中的操作系统程序载入内存。 这样制作的第一扇区就称为启动扇区( bootsector) 。 从此计算机开始和软盘/硬盘上的操作系统程序产生关联。 第一扇区中的程序由 bootsect. s 中的汇编程序汇编而成。

至此, 已经把第一批代码 bootsect 从软盘/硬盘载入计算机的内存了。下面的工作就是执行 bootsect 把软盘/硬盘的第二批、 第三批代码载入内存。

对操作系统而言,“ 约定” 操作系统必须把最开始执行的 程序“ 定位” 在启动扇区( 0 盘 面 0 磁道 1 扇区), 其余的程序可以依照操作系统的设计顺序加载在后续的扇区中。 对 BIOS 而言,“ 约定” 接到 启动 操作系统的命令,“ 定位 识别” 只从启动扇区把代码加载到 0x07C00( BOOTSEG) 这个 位置

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值