BIOS入门基础------OS Loader

11 篇文章 66 订阅
5 篇文章 2 订阅

       很多大公司,一般都会有自己专门的OS小组,但一般都不会有BIOS小组,因为BIOS这玩意,兼容性太强了,以至于常常被人们所忽略。而很多做服务器的公司,有BIOS小组和OS小组,但怎么说了,划分也太清楚。

        在我看来,作为一个合格的BIOS工程师,必须要懂OS;作为一个OS工程师,要了解BIOS(不奢求懂太多,至少要了解)。在BDS阶段,BIOS会选择可启动项,按照设置的顺序,逐一尝试,经过校验之后,加载OS Loader。

 大致流程如下:

  BIOS(BDS阶段)---->OS Loader---->OS

 所谓的OS Loader,就是引导加载程序。具体点来说,以Linux系统为例,就是GRUB。

OS loader可以通过BS(Boot Services)和RT使用UEFI提供的服务,并且将计算机的资源逐渐转移到自己手中,这个过程称之为TSL(Transient System Loader)。一般而言,在这个阶段结束之后,OS Loader会调用ExitBootServices()函数,结束BS并且回收BS占用的资源,然后BIOS会进入RT阶段;再之后,OS loader才会去加载操作系统内核,逐渐进入OS。

      所以很多时候,在grub阶段出现的问题,BIOS和grub都有责任,而不是仅仅划分为该BIOS处理,该OS处理。简单举个例子,目前市面上的服务器,在redhat7.0系统(及更新的Linux Kernel的OS),在grub阶段拔掉U盘,基本都会挂死,浪潮啊,Hp呀,当然,华为的没事(因为它不支持U盘热插拔,不知道该说是精明还是坑)。

      最后,推荐大家一个系列的规范文档,EDS卷2,EDS vol2一般都是介绍寄存器的,分CPU的,比如Haswell、Wellsburg、Broadwell、Skylake等等,这个基本上是BIOS工程师经常看的。

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值