x86 架构下的 BIOS 功能介绍_x86 bios进行研发和联合调试-程序员宅基地

技术标签: 计算机体系结构  计算机  

提到 BIOS ,想必想起来一句歌词:最熟悉的陌生人,哈哈。。。

一、BIOS简介

BIOS, 是英文"Basic Input Output System"的缩写,BIOS是个人电脑PC 启动时加载的第一个软件。其实,它是一组固化到计算机主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

二、职责功能

我们知道,BIOS是一段程序。这段程序保存在电脑主板上一个叫BIOS芯片的ROM中,BIOS程序主要有四个功能:

(1)上电自检(Power On Self Test,POST)

  主要包括读取CMOS中存储的硬件信息,对各硬件进行自检和初始化;

(2)引导操作系统bootloader

    执行跳转到操作系统引导设备的引导分区(这就是为什么需要在BIOS设置中选择boot device的原因,默认通常是硬盘),将引导程序读入内存;

(3)COMS设置

    CMOS是主板上的一块RAM芯片(掉电易失,在电脑断电后由主板上的CMOS电池供电),CMOS中存储有各种硬件信息和底层配置,包括实时时钟(RTC)信息,通过BIOS可以对其进行读写设置(也就是俗称的BIOS设置);

(4)硬件IO和中断服务

    软件在对底层硬件进行操作时候,需要中断服务或者硬件IO操作,这时候就用到BIOS作为中间的桥梁角色。

援引百度到的一句话:可以把BIOS理解成电脑的底层管理者(可以看成一个小的操作系统),在电脑启动时对电脑各硬件进行检测,然后迎接电脑的高级管理者——操作系统,即使操作系统已经接管了电脑的控制权,他依然兢兢业业守在一边,随时扮演操作系统和底层硬件IO、中断的中间人。另外他还有一个属于自己的小本本(CMOS),上面记载着电脑硬件的基本信息和时钟信息等。

三、功能举例

中断例程

BIOS中中断例程即BIOS中断服务程序。它是微机系统软、硬件之间的一个可编程接口,用于程序软件功能与微机硬件实现的衔接。DOS/Windows操作系统对软盘、硬盘、光驱与键盘、显示器等外围设备的管理即建立在系统BIOS的基础上。程序员也可以通过 对INT 5、INT 13等中断的访问直接调用BIOS中断例程。

系统设置

微机部件配置情况是放在一块可读写的CMOS RAM芯片中的,不接市电或笔记本没有电池时,CMOS通过一块后备电池向CMOS供电以保持其中的信息。如果CMOS中关于微机的配置信息不正确,会导致不能开机、时间不准、零部件不能识别,并由此引发一系列的软硬件故障。在BIOS ROM芯片中装有一个程序称为“系统设置程序”,就是用来设置BIOS中的参数的,并将这些设置保存在COMS中。这个程序一般在开机时按下一个或一组键即可进入,它提供了良好的界面供用户使用。

上电自检

微机接通电源后,系统将有一个对内部各个设备进行检查的过程,这是由一个通常称之为POST(Power On Self Test,上电自检)的程序来完成的。这也是BIOS的一个功能。完整的POST自检将包括CPU、640K基本内存、1M以上的扩展内存、ROM、主板、 CMOS存贮器、串并口、显示卡、软硬盘子系统及键盘测试。自检中若发现问题,系统将给出提示信息或鸣笛警告。

引导OS Bootloader

在完成POST自检后,ROM BIOS将按照系统CMOS设置中的启动顺序搜寻软硬盘驱动器及CDROM、网络服务器等有效的启动驱动器 ,读入操作系统引导记录,然后将系统控制权交给引导记录,由引导记录完成系统的启动。

四、BIOS 和 CMOS 区别和联系

四、发展前景

下一代BIOS:UEFI BIOS

一直在IT界叱咤风云的BIOS即将被UEFI [12]  BIOS淘汰,新主板将普及UEFI BIOS。微星称将三年内UEFI BIOS将取代BIOS,UEFIBIOS全称“统一的可扩展固定接口”(Unified Extensible Firmware Interface), 是一种详细描述全新类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上,从而使开机程序化繁为简,节省时间。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_16423857/article/details/124928283

智能推荐

C# 加签 验签 公钥 私钥 RSA数字签名_c# rsa pkcs8 生成数字签名-程序员宅基地

文章浏览阅读4.4k次。* RSA加密解密:私钥解密,公钥加密。* RSA数字签名-俗称加签验签:私钥加签,公钥验签。java的公钥私钥是一串字符串,.net 公钥私钥是一串XML格式字符串,两者格式不是一致的,需要转换一下才能使用,具体请参考JAVA和NET RSA密钥格式相互转换(公钥,私钥)使用的命名空间:using System.Security.Cryptography;usin..._c# rsa pkcs8 生成数字签名

【ARTS】01_33_左耳听风-201900624~201900630-程序员宅基地

文章浏览阅读124次。ARTS:Algrothm: leetcode算法题目Review: 阅读并且点评一篇英文技术文章Tip/Techni: 学习一个技术技巧Share: 分享一篇有观点和思考的技术文章Algorithm【leetcode】67. 二进制求和1)problem给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a =...

将用户添加到sudoers_在Ubuntu系统中将用户添加到sudoers文件的说明-程序员宅基地

文章浏览阅读147次。如果你需要在基于Debian的发行版中(Ubuntu或Linux Mint)将用户添加到sudoers,以下介绍达到此目的的方法,总的来说,和在CentOS系统中将用户添加到Sudoers文件的方法大致一样,只有某些参数存在异同,你也可以参考着操作,以下为你说明。将用户添加到sudo组及将用户添加到sudoers文件的说明1、将用户添加到sudo组在Ubuntu或Linux Mint上,向用户授予...

有符号整数判断溢出的乘法_有符号数乘法溢出判断-程序员宅基地

文章浏览阅读3.3k次。不溢出 输出为int tmult_ok(int x, int y ){ int p = x*y; return !x || p/x == y;}_有符号数乘法溢出判断

VMware 中“重新安装VMwarev Tools ” 选项无法点击且无法在虚拟机与物理机之间“拖拽”、“复制” 的一种解决方法_vtools+-程序员宅基地

文章浏览阅读3.7k次。最近学习Linux碰到了很多问题,好在拥有网络这个工具,大多问题都解决了。话不多说,直奔主题。物理机环境:win7 64位 旗舰版虚拟机软件:VMware Workstation 15 Pro 版本:15.5.6客户机操作系统:Ubuntu 18.04问题描述:Ubuntu桌面大小显示正常,但无法从虚拟机中直接拖拽文件到物理机桌面,后查资料得知可能是VMware Tools问题,后查看 VMware菜单栏 “虚拟机”>>“重新安装VMware Tools”显示为..._vtools+

Windows 查看哪个进程在使用指定的文件 - 文件被占用,无法删除_cmd文件被占用-程序员宅基地

文章浏览阅读1.1w次。打开任务管理器选择“Resource Monitro”_cmd文件被占用

随便推点

谈谈UVM中事务级建模(TLM)的uvm_tlm_fifo-程序员宅基地

文章浏览阅读1.4k次。在前面文章的producer和consumer示例中,只存在一个进程。producer调用put时执行了consumer中的put方法,consumer调用get时执行了producer..._uvm_tlm_analysis_fifo默认深度

如何在Ubuntu中安装libevent库_ubuntu 安装libevent-程序员宅基地

文章浏览阅读542次。在当前目录下:tar -zxvf +自己下载的安装包名字,我的是:tar -zxvf libevent-2.1.12-stable.tar.gz。那就使用这个命令:sudo apt-get install libssl-dev 安装openssl。在这个目录下的终端输入:./configure --prefix=/usr。安装完成后继续输入:./configure --prefix=/usr。如果这个命令下面输出一大堆东西就代表安装成功,啥也没输出代表安装失败。我下载的是这个压缩包。_ubuntu 安装libevent

键盘ascii码表 linux,ASCII码表【美国信息交换标准代码】-程序员宅基地

文章浏览阅读434次。1英文缩写及全称缩写:ASCII英文全称:American Standard Code for Information Interchange2简介美国信息交换标准代码是一种用于信息交换的美国标准代码。7位 字符集广泛用于代表标准美国键盘上的字符或符号。通过将这些 字符使用的值标准化,ASCII允许计算机和计算机程序交换信息。ASCII 字符集是与ANSI字符集中的前面128个(0-127)字符相..._linux键盘ascii码

Could not resolve all files for configuration ‘:app:debugCompileClasspath‘.解决方案_> could not resolve all files for configuration ':-程序员宅基地

文章浏览阅读2k次。Could not resolve all files for configuration ':app:debugCompileClasspath'.解决方案_> could not resolve all files for configuration ':debugcompileclasspath'. >

HM NIS Edit编辑器 创建脚本:向导 无安装语言选项解决办法_him nis edit无安装程序语言-程序员宅基地

文章浏览阅读5.1k次,点赞11次,收藏22次。想要打包QT软件,HM NIS Edit编辑器与NSIS编译器是必不可少的工具,首先2个软件必须安装。在创建脚本:向导时,发现安装语言处没有选项,也就无法进行下一步,最终找到原因:首先必须安装NSIS编辑器 这两个软件是配套的,缺一不可!!具体解决步骤打开 HM NIS Edit编辑器 在菜单栏里NSIS(N)处打开配置按钮;打开配置窗口 会看到 路径选项 下面包含编辑器和帮助两个..._him nis edit无安装程序语言

算法导论-----排序的9种实现(C/C++)_算法导论代码-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏18次。目录A、冒泡排序B、选择排序C、插入排序D、折半插入排序E、归并排序F、快速排序G、希尔排序堆排序、基数排序、桶排序后续补充。。。。。A、冒泡排序冒泡排序有很多种实现方式。下面总结常见的几种,并对冒泡排序进行改进。 冒泡排序1//冒泡升序排序1,强烈推荐,好记void BubbleSort(int arr[],int length) { int tmp; in_算法导论代码