BIOS和Bootloder
BIOS(Basic Input/Output System)
BIOS是一个复杂的系统配置软件,它拥有硬件架构的底层信息。计算机开机后,先完成一定的硬件初始化和人机交互,然后加载并运行位于硬盘的操作系统。
Bootloder
嵌入式设备开机后,对处理器相关的硬件资源进行初始化,最后加载放在FLASH中的应用程序。
相同点
- 完成处理器正常最小系统的初始化。
- 两者在最后都得加载其它的程序,并将运行权交给被加载的程序。
BIOS加载的通常是操作系统。 Bootloder加载的通常是可执行程序,包括操作系统和应用程序。
- 如果BIOS或是Boot loader程序太大,通常都会采用压缩技术对其进行压缩。其只有一部分进行压缩,另一部分包括解压程序不压缩。
不同点
- BIOS往往比Boot loader复杂很多,因为我们的计算机硬件环境比嵌入式系统复杂得多。
- BIOS在加载完了操作系统以后,其还将驻留在内存中,以便操作系统在运行的过程中调用其功能,但是,通常Boot loader加载完了程序后,跳转到被加载的程序后就不再存在了,这里所说的跳转有时也称之为将运行权交给了被加载程序。
- Boot loader通常采用汇编和C程序相结合进行编写,但BIOS为了节省程序空间往往全部采用汇编进行编写。