台式机PC与嵌入式设备的启动区别

应该了解:嵌入式设备一般都使用精简指令集(RISC),而常见的x86台式机使用复杂指令集(RISC)。前者执行效率快设备启动快,前者执行效率慢设备启动慢。

一、台式机
我们使用的PC机一般都是windows系统或者Linux系统。
BIOS是PC机启动时运行的第一个软件,它是一组固化到计算机主板上ROM芯片内的程序(固件),保存着计算机最重要的基本输入输出的程序、开机自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。
启动过程:

  1. 按下开机键,CPU得电工作,首先将CS:IP寄存器复位为0xffff0——该地址就是ROM区的BIOS入口,执行BIOS代码进行自检和初始化,按顺序查找启动设备。此时内存尚未运行。
  2. 若找到被系统格式化过的磁盘(如硬盘),就把MBR扇区的引导程序(Booter)装入到内存,并将控制权转移给Booter(跳转指令实现)。
    boot作用:
    1.清屏
    2.设置光标
    3.显示start boot信息
    4.加载load程序到物理内存中
    5.设置好CPU的CS:IP,将控制权移交load
  3. Booter检查分区表,将唯一活动主分区里的加载程序(Loader)装入到内存,并将控制权转移给Loader。
    load作用:
    1.加载OS内核
    2.设置好CPU的CS:IP,将控制权移交OS内核
  4. Loader将主分区里的OS内核(kernel)文件装入到内存,将控制权转移给OS内核,内核会控制显示屏键盘亮等一系列现象,操作系统启动完成。
    一句话总结:台式机首先执行bios然后bootload清屏加载OS内核点亮屏幕。
    这样实现了从硬件启动到操作系统接管设备的全过程。

二、嵌入式设备
首先,Bootloader这个词是针对嵌入式系统而言的。Bootloader就是融合了boot和load功能的一个软件。
Bootloader的基本功能:
(1)初始化关键硬件,如RAM控制器、IO控制器等;
(2)初始化系统内存,并准备将其控制权移交给操作系统;
(3)给外设控制器分配必要的资源,如内存和中断电路等;
(4)提供一个定位和加载操作系统的机制;
(5)加载操作系统,将控制权移交给它,并向其传递必要启动信息(内存容量、时钟频率、串口速率这类硬件配置数据)。
由于不同的嵌入式系统的硬件(包括CPU、外设等)差异很大,因此Bootloader几乎都是针对某个特定嵌入式系统开发的。幸运的是,有一些诸如U-Boot这样的很好的开源Bootloader可以拿来定制,大大减少从头开始造轮子的痛苦。
嵌入式设备分2种:一种是linux内核,一种是RTOS。RTOS的系统启动很快,linux相对较慢,由于内存较小,通过u-boot加载内核,然后加载文件系统。
RTOS:是实时操作系统,其固件非常小通常1M-2M,其中并没有像linux那样的完整的操作系统,将任务与进程挂钩,开机就会启动进程,所以速度较快,而且通常固件较难分析。linux内核设备可通过cat /proc/mtd查看flash的分区情况。
启动过程:

  1. 首先嵌入式开发板上电,然后cpu开始运行;
  2. 然后cpu将固化在flash/ROM中的一段代码加载到RAM中运行,这段代码就是Bootloader(通用版是u-boot);
    3.最后Bootload从flash中加载文件系统执行,配置网络服务等,执行preinit初始化脚本。

三、Bootloader与BIOS的作用区别
嵌入式系统只有Bootloader没有BIOS。嵌入式系统和桌面电脑同属于计算机系统,它们要完成的功能有很多相似之处。
对于嵌入式系统,一旦操作系统掌握了控制权时,比如Linux内核接管了那些被Bootloader占用的系统资源时,Bootloader的作用就不存在。想重新加载Bootloader那只能断电重启了。但BIOS在操作系统运行时,一直配合操作系统的驱动程序实现控制功能。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

1丝冷风

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

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

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

打赏作者

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

抵扣说明:

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

余额充值