用于Linux的开放BIOS开源项目介绍

2016-01-29 17:40 14 1 收藏

用于Linux的开放BIOS开源项目介绍,用于 Linux 的开放 BIOS开源项目介绍

【 tulaoshi.com - Linux 】

  在很多系统上,引导时间中有很大一部分都花费在为 MS-DOS 提供传统支持上面了。有很多项目,包括 LinuxBIOS 和 Open Firmware,都试图使用最新的代码来替换原有的 BIOS 系统,它们只实现加载并运行 Linux 内核所必需的功能。本文对这个领域的内容简要进行了介绍。

  响铃!

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/linux/)

  尽管在 PC 硬件加电时喇叭响一下看起来似乎是件非常自然的事情,但实际上却有一些代码来驱动喇叭发声。这段代码就是引导固件。在大部分 PC 上,这都称为 BIOS(这个单词是 basic input/output system(基本输入/输出系统)的缩写)。BIOS 提供了底层的硬件支持,早期的 x86 操作系统就是使用它们来访问磁盘、显示器和其他东西的。

  BIOS 要做的第一件事情是执行各种加电测试:确定(还可能要测试)可用内存、确定时钟速度等。如果测试成功,机器的喇叭就会响一声。这个过程就称为加电测试(power-on self test)或 POST.计算机对于自己是相当幽默的,这个术语通常会被当作动词来使用:“这台机器根本通不过 POST 测试,因此我们应该更换内存”。

  通常的诊断包括响铃代码(不同供应商提供的代码都不相同),或者可以写入到某个特定裸地址的代码。有些后插的卡可以简单地访问这些代码;标准的解决方案是诊断代码都写到 80 端口中。有些制造商会销售一种卡,它可以以 16 进制的形式显示最新写入到 80 端口的内容。如果我们要进行严格调试,可能就会希望有一个这种卡,或者希望使用一个更好的发明,例如 PC Weasel,它可以记录最新的(256)POST 代码以供大家阅读。(有关 PC Weasel 的更多信息请参看下面的 参考资料 一节的内容。)当然,这些代码的确切含义对于各个 BIOS 来说不尽相同,只有部分供应商提供了文档。幸运的是,开源供应商提供了很好的文档。

  BIOS 还为我们实现了哪些功能?

  诸如 MS-DOS 之类的操作系统可以加载其他设备驱动程序,例如 CD-ROM 驱动器,但是需要所有硬件驱动程序在启动时就已经加载上来了。为这些驱动程序提供的标准接口是由 BIOS 来处理的,正是由于这个原因,BIOS 需要对设备进行探测、识别,还可能要进行初始化。

  同样,BIOS 要负责对内存进行初始化。并非所有的操作系统都需要对内存进行初始化,但是早期的 DOS 系统通常都需要进行这种操作,即使在今天大部分 BIOS 为了兼容性的目的也需要进行初始化。这个过程自己可能需要很长时间才能完成,很多现代系统允许彻底或部分地将其禁用。同时,BIOS 还会试图确定系统中有多少内存可用。其他的引导时操作还可能包括对处理器缓存的初始化和启用,配置双 CPU,构建有关处理器的信息表,构建连接到系统中的 PCI 设备,甚至运行这些设备提供的引导 ROM,这可以加载其他驱动程序。

  这里有很多工作需要做。实际上这些工作是如此繁杂,我的某些系统要花一分钟甚至更长时间才能完成 POST 和后续的驱动程序初始化过程。BIOS 可以执行各种硬件扫描,从而寻找可引导的设备,在某些系统上,BIOS 甚至可以执行通过以太网进行的网络引导。我的一个系统就会花大约 5 秒钟的时间来初始化网络引导参数,即使在禁用了网络引导功能的情况下也是如此。这可真令人懊恼!

  最后一点(但不是最不重要的一点),BIOS 还需要做相当多的初始化工作。不管您要引导什么系统,这些工作中的一部分(但并非全部)都会非常有用。为设备分配中断请求(IRQ)的确是一个非常有用的服务,因为它允许 OS 只获取一个服务列表并开始运行,而不用对它们进行编程。很多设备都有配置寄存器,BIOS 可以基于系统可写内存中的设置向其中写入合理或正确的值。(通常来说,这种内存都称为 CMOS,尽管它们并非严格要求使用这种技术来实现。)

  在 BIOS 完成上面这些功能之后又会发生什么呢?它会在某个地方(通常是在磁盘上)查找一段代码,并运行它,这通常会加载一个操作系统。如果操作系统是 DOS,或其他类似的东西,那么这种设置工作就意味着我们可以很快就有自己的命令提示符了。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/linux/)

[1] [2] [3] [4]   

来源:http://www.tulaoshi.com/n/20160129/1502414.html

延伸阅读
  OSCache OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。 OSCache有以下特点:缓存任何对象,你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。拥有全面的API--OSCache API给你全面的程序来控制所有的OSCache特性。永久缓存--缓存能随意的写入硬盘,因此允许...
标签: 服务器
Linux中用于进程显示的top命令使用实例集锦   Linux中的top命令显示系统上正在运行的进程。它是系统管理员最重要的工具之一。被广泛用于监视服务器的负载。在本篇中,我们会探索top命令的细节。top命令是一个交互命令。在运行top的时候还可以运行很多命令。我们也会探索这些命令。(注:不同发行版的top命令在各种细节有不同,如果发现...
标签: bios 电脑入门
步骤方法 1、现在直接上图告诉大家如何刷你的BIOS! 1:首先你要自己你的主板是什么型号!这个可以通过CPU-Z或者EVEREST等工具软件查看到你主板的型号和BIOS日期 2:到你所用的主板的官方网站去下载你主板型号的最新BIOS(杂牌板难找到他的BIOS!可能也没官方的) 3:下载刷BIOS软件(这里演示的是用WINFLASH在WINDOWS XP直接刷) 2、打开文件夹的...
标签: bios 电脑入门
刷新BIOS 最常用的BIOS设置 刷新主板的BIOS程序(以下简称:刷新BIOS),对于老鸟们来说可是最乐此不疲的事情了,刷新BIOS后往往意味着主板能够支持更多的 CPU和功能的增加、性能的增强以及兼容性的改善。但是对于不少新手,刷新BIOS还是比较神秘的,甚至因为担心损坏BIOS而犹豫不决。另外,对于一些最常用到的BIOS设置,不少初学者也是一知半...
关键字:Red Hat Enterprise Linux 介绍这是一个指导说明,将指引你了解Red Hat企业版Linux,了解什么是什么是Red Hat Enterprise Linux AS,Red Hat Enterprise Linux ES,以及什么是RedHat Enterprise Linux WS。 RedHat Enterprise Linux 介绍 关键字:Red Hat Enterprise Linux 介绍 原著:笑容 创作于:2004年06月19日最后更新:2004年06...

经验教程

401

收藏

29
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部