PC中的BIOS和嵌入式设备中BootLoader的区别和联系

引导加载程序是在操作系统内核运行前的初始代码,负责硬件初始化和内存映射。在PC中,BIOS读取MBR中的BootLoader启动系统;而在嵌入式系统中,BootLoader如uboot直接负责全部加载任务。PC的引导包括BIOS/UEFI和BootLoader,而嵌入式只有BootLoader。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

众所周知,在PC(台式机、笔记本等)中,BIOS(现在是UEFI)是启动加载程序,而嵌入式设备中,BootLoader是系统引导程序。那么这两者到底有什么异同?关于这个问题,相信即使是一些资深的嵌入式工程师、内核工程师可能也不能完全说清楚。本文就来仔细讲解一下BIOS和BootLoader的区别和联系。

1. 引导加载程序

简单地说,引导加载程序就是在操作系统内核运行之前运行的一小段程序,是系统加电后第一时间运行的软件代码。通过这段程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境配置为一定的状态,以便为最终调用操作系统内核做好准备。

2. PC和嵌入式中的引导加载程序

(1)PC中的引导加载程序

在桌面PC中的引导加载程序是由位于只读存储器(ROM)中的BIOS位于硬盘的主引导记录(Master Boot Record,MBR)中的BootLoader引导程序(如GRUB和LILO)两部分代码组成的。BIOS在完成硬件检测和资源分配后,将MBR中的引导程序读到系统的内存当中,然后由MBR负责启动操作系统。

(2)嵌入式系统中的引导加载程序

在嵌入式系统中,通常没有像BIOS那样的固件程序,因此整个系统的加载任务就完全由BootLoader来完成。例如,在一个基于ARM7TDMI内核的嵌入式系统中,系统在上电或复位时一般都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。

3. 小结

PC中的引导加载程序 = BIOS或UEFI中的MBR + BootLoadet引导程序(如GRUB、LILO)

嵌入式系统中的引导加载程序 = 0 + BootLoadet引导程序(如uboot)= BootLoadet引导程序(如uboot)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝天居士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值