中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 是BIOS还是操作系统?谈下一代BIOS技术EFI
作者:
标题: 是BIOS还是操作系统?谈下一代BIOS技术EFI 上一主题 | 下一主题
yiyesong
元老会员




积分 1987
发帖 632
注册 2002-10-27
状态 离线
『楼 主』:  是BIOS还是操作系统?谈下一代BIOS技术EFI

负责软件与硬件的接口BIOS已经伴随着计算机走过了20年的漫漫长路,虽然工程师们一直都在对其进行功能上的完善,但是它的核心本质却一直没有改变。日前,Intel的EFI技术横空出世,它改变了以往BIOS的蓝屏画面,采用图形化界面,操作简单,并且我们还可以用它来上网、更换驱动、排除故障等。?

  近20年历史的BIOS


  在电脑的使用中,我们常常会触及这么一个名词——BIOS,基本上这是每个人都听说过的。BIOS(Basic Input/Output System,基本输入/输出系统),是负责操作系统执行前的初始化工作,包括检查系统配备,以及连接计算机内各种不同的硬件与操作系统等。它是由低级汇编语言写成的软件,储存于主机板上的只读存储器ROM(Read Only Memory)内,这样可以保证其中的基本信息不被程序所读写。

  通过BIOS的更新,可以修正主板的许多bug,提高系统的性能、兼容性以及稳定性。但刷新BIOS往往是一件很痛苦的事,让很多用户望而却步。

  在一切讲求人性化的今天,BIOS的弊端也不断显现。首先,其刷新BIOS的方法太过繁琐,虽然许多主板厂商都推出了在Windows下刷新BIOS的工具,但是也仅仅是完成简单的刷新。对比起其他设备的飞速发展,BIOS却裹足不前,也日渐满足不了现代科技的需要。其次,BIOS使用低级的机器语言,编程相当复杂且困难,BIOS更新时间往往很漫长,在未来PC架构逐步成型的今天,古老的BIOS也需要一些改革。Intel就在酝酿这样一个革新方案。


 EFI横空出世

  EFI全称Extensible Firmware Interface,是Intel用来替代现行BIOS的一项技术。其实早在2000年就开始研发,加入其中的还有Adaptec、AMI、ATI、惠普、LSI、微软、PowerQuest等公司。首个版本为0.92,到现在已经发展到1.10版本。EFI原先仅是针对IA-64处理器所设计的,直到IDF 2003上才被推上舞台,正式拉开了BIOS的变革序幕。

  Intel EFI的首席工程师Mark Doran在IDF 2003上指出了BIOS的许多缺点。例如,BIOS的设计者无法预计BIOS可以使用多久,因此也就在设计上留下了隐患。BIOS联接着硬件与操作系统,可是这个联接没有标准。不同生产商之间的BIOS也是不同的。生产商可以随心所欲地修改和配置。用户通过BIOS配置系统和诊断问题时,往往起不了太大的作用。即使有经验的老手有时也可能在BIOS的问题上感到困惑。

  EFI启动管理程序

  而EFI则可以解决以上这些问题。从核心来看,EFI或许更像一个被简化的操作系统。介于硬件设备以及高级操作系统(比如Windows或者Linux)之间。它提供了一个支持鼠标的图形界面,它与纯文本、界面单调的普通BIOS明显不同。传统的BIOS受到容量的限制,需要相当紧凑、低级的机器语言。事实上,机器语言一直掌握在少数工程师的手中,而EFI却使用全球最广泛的高级语言C语言进行编写,这就意味着有更多的工程师可以参与EFI的开发工作,添加许多更有价值的功能。为了保证充裕的容量,EFI彻底抛弃了ROM,其文件系统存储在硬盘独立划定的区域内。

  EFI具备的基本功能为:

  无需操作系统的磁盘管理、启动管理工具;

  远程配置、引导;

  脱离操作系统的平台管理工具。

  EFI的工作模式可以简单归纳为:启动系统,标准固件平台初始化,接着从加载EFI驱动程序库以及及执行相关程序,在EFI系统启动菜单中选取所要进入的系统并向EFI提交启动引导代码,正常的话将进入系统,否则将中止启动服务并返回EFI系统启动菜单。EFI可以替代BIOS的功能,而且在特殊功能得到了强化。比如系统死机后,用户可以进入EFI,通过改变配置,载入不同的驱动程序等手段解决操作系统出现的问题。EFI符合TCP/IP网络协议,用户可以在EFI界面使用网络资源,进行远程诊断,但这不适用于DOS、Linux等系统。工程师们也可以按照不同的需要为EFI增加新的功能,诸如更加详细实用的诊断功能、自我配置程序、列出系统可能发生的故障等等。

  EFI给用户带来了什么?

  EFI会给用户带来什么,这是用户最想知道的。概括来说,EFI可以给用户带来以下改变:

  更直观的界面和更简化的操作。许多初级用户一般都不会轻易去设置BIOS,因为对他们来说,BIOS是相当深奥的东西,而一旦出现问题,又会措手不及。EFI的出现就解决了这一问题。其人性化的图形界面比传统BIOS设置要容易得多,同时也可以让英文不过关的用户理解这项设置所针对的是什么。

  更为丰富的功能。由于使用高级且普遍的C语言,所以开发者可以开发出许多实用的功能,这些功能对于用户来说,或许是相当有益的。可以更简单地调试电脑,排除故障。现有功能中,其整合的磁盘管理以及启动管理具有相当实用性,这样可以简单地进行磁盘分区。

  性能增强更简单。众所周知,我们经常依靠升级BIOS来达到提高系统性能以及强化设备之间的兼容性以及稳定性。现在,使用C语言编程后,以往的机器语言将被完全抛弃,根据Mark Doran所公布的一份资料显示:在EFI编程上,开发者只要去了解以往的BIOS知识就可以参与其中,而且使用更为简单的C语言,而编写程序的速度可以是以往的3倍。功能的增强和开发时间的缩短,使我们的使用受益匪浅。而且以后EFI刷新不会像今天那么麻烦,如同鸡肋的软驱也可以彻底退休了。

  不得不说的EFI隐患

  所有事物都其两面性,EFI在全面创新的同时也暴露出了一些比较明显的缺陷。

  首先,EFI在硬盘隔离出一个小分区作为存储空间。众所周知,硬盘是相当脆弱的配件之一,很难保证在使用时不出现问题,如果出现物理损坏,后果不堪设想。

  其次,对于基于软件系统的EFI来说,对病毒、黑客的抵抗力相对于BIOS一定是减弱了大半,而且它基于C语言编写,由于懂的人多,所以它不再神秘,相信很多人都可以很容易地进行破译。这给EFI的安全性提出了更高的要求。

  再次,TCP/IP的支持使它在Linux上完全没有任何用处,可以说EFI就是为Windows所设计的。这样其应用范围或许会减少不小。不过,由于目前Windows操作系统控制了几乎全部的PC用户,所以是否对Linux进行支持,个人认为意义不大。

  虽说如此,但由于EFI还是刚刚推出的一个新生事物,还有的是时间去加以完善。依靠Wintel在业界的影响力,要使EFI成为广泛使用的标准不是难事,而对于两家公司的实力,如果这几个缺陷是可以解决的,那就一定可以解决。

  BIOS的终结,未来PC的展望

  EFI凭借自己自身的技术特点,可以广泛运用于嵌入式应用、网络电脑、网络客户端电脑等产品。目前EFI应用于Intel的64位处理器Itanium上,如果要在32位平台上使用可能还需要一段时间。目前微软正在开发支持EFI的操作系统,并声称下一代开发代号为Longhorn的Windows可以支持EFI,也许EFI离我们真的已经不远了。

  目前,许多古老的架构标准都在面临挑战,这其实包括了接口标准、总线标准等。从i875P中,Intel就大力推行USB接口,在后挡板集成了多达6个USB接口。而诸如并口、串口这些平时电脑积灰的接口都将消失,存在十多年的PCI总线不久之后,也会被PCI Express以及HyperTransport取代。可以说,20年前IBM PC AT系统所遗留下来的东西都将被全部废黜,取而代之的将是全新的硬件架构。这样,未来的PC系统将会朝着更高的目标飞速发展,我们期待着。





[flash=550,93]http://dos.e-stone.cn/dosbbs
uploadImages/200311161145850422.swf[/flash]
2003-7-12 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
andy_wolf
初级用户




积分 185
发帖 30
注册 2003-7-7
状态 离线
『第 2 楼』:  

你现在对DOS下的驱动有什么心得吗?说来听听吧!

2003-7-16 00:00
查看资料  发送邮件  发短消息 网志  OICQ (12725284)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: