问题 问答题 简答题

什么是BootLoader,其主要功能是什么?

答案

参考答案:

Boot Loader相当于普通pc机的BIOS,是在系统复位后执行的第一段代码。因此,整个系统的加载启动任务就完全由Boot Loader来完成。它首先完成系统硬件的初始化,包括时钟的设置、存储器的映射等。并设置堆栈指针,然后跳转到操作系统内核入口,如系统在加电或复位时通常从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。这样,将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。在此之后,系统的运行在操作系统的控制下了。通常,Boot Loader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的Boot Loader几乎是不可能的。尽管如此,我们仍然可以对Boot Loader归纳出一些通用的概念来,以指导用户特定的Boot Loader设计与实现。

不同的嵌入式系统其Boot Loader一般是不同的。从操作系统的角度来看,Boot Loader的总目标就是正确地调用内核来执行。另外,由于大多数Boot Loader都分为阶段1和阶段2两部分。依赖于CPU的体系结构的代码,比如设备初始化代码等,通常都放在阶段1中,而且通常用汇编语言来实现,以达到短小精悍的目的。而阶段2通常用C语言来实现,这样可以实现一些复杂的功能,而且代码会具有更好的可读性和移植性。

单项选择题
单项选择题