当我们把新硬件插入系统后,Windows立即告诉你发现新硬件(如图1),接着识别新硬件,然后自动安装硬件的驱动程序,这样设备就可以使用了,整个过程中系统像在和你交流一样。对于这个神奇的过程,你是否很想知道电脑到底都干了些什么?
图1 插入新硬件后屏幕出现的提示信息
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />1.新硬件与即插即用
如果硬件的安装可以“无人值守”地进行,并且不需要重新启动机器就使新硬件直接成为可用硬件,那么这个过程就可称作“即插即用(Plug & Play)”,港台地区的译名更加生动:“插上就玩”。
插上就玩是人们多年来梦寐以求的,但直到Windows 95操作系统问世,这种愿望才得以实现。不过,那时的“插上就玩”不够完备,许多新硬件在出售时,还附上了一张驱动程序的软盘和光盘,需要用户进行一系列软件安装,仅有少数设备能够真正的“插上就玩”。如今,Windows XP已经足够强大,以至于附加的驱动程序都可省去,真正实现了插上就玩。不仅如此,热插拔技术还允许在机器工作期间插入新硬件,使得应用更为方便。
即插即用需要所有条件同时具备:即插即用的硬件支持(主机和设备),即插即用BIOS以及即插即用的操作系统。即插即用系统还需要团队精神——硬件、BIOS和操作系统三者团结一致、各担其责:即插即用BIOS与操作系统一起完成对即插即用设备的识别和配置,最后由操作系统帮助应用程序管理和使用硬件设备和系统资源。
2.谁发现了新硬件?
一些新硬件插入现有系统后,BIOS能够赶在操作系统之前发现它,并进行合理配置,让其可用。可见,启动期间发现新硬件的工作是由BIOS程序独立完成的。
但BIOS功能毕竟有限,它并不能发现所有的新硬件,有些硬件必须待Windows引导成功后,才能被操作系统发现,并且由操作系统进行相应配置后让其成为可用硬件。正常开机期间插入的热插拔设备,往往也是由操作系统独立发现并进行配置。
BIOS和操作系统是两个独立的实体,它们能够发现并配置新硬件,只是它们发现并配置新硬件的时机和机制却有所不同,请往下看。
3.从新硬件到可用硬件
自检结束后,操作系统调用BIOS中的引导装配程序加载操作系统,操作系统获得控制权后,立即读取BIOS中的资源配置表,对设备进一步配置,并将配置情况记录到注册表中去。
操作系统发现并配置新硬件的过程类似于人力资源部为企业招收新员工的工作流程:资格审核 → 登记造册 → 安排工作。操作系统执行如下检测和配置过程:
(1)通报事件:新设备插入系统后(冷插拔或热插拔),BIOS侦测到以后,立即通过总线枚举程序向系统通报事件;
(2)识别新设备:操作系统使用设备管理程序去识别外设,然后利用设备信息自动地装载相匹配的驱动程序;
(3)将系统资源分配给新设备,并构建设备资源数据库。
到现在为止,硬件的身份由“新硬件”转变为“可用硬件”了。可以看出,可用硬件必须具备发挥自己的功能所必须的两个条件:(1)占有主机资源(2)操作系统中有与之匹配的驱动程序。
应该说明一点,新硬件必须按照即插即用规范(最低版本为PC95)设计,在设备电路中有一个ROM芯片(通常也称为设备BIOS,如显卡BIOS、显示器BIOS、硬盘BIOS、光驱BIOS等),其中固化了该设备的信息,这样的设备才能被系统自动识别并安装驱动程序,变成可用硬件。老的CRT显示器,就不能被系统识别,因为这种显示器电路中没有ROMS芯片和固件,显示器信号线也没有用于即插即用的检测信号线和数据返回线。
4.PnP BIOS:即插即用的马前卒
BIOS是控制硬件的程序,它可以主动地对计算机系统中的设备和总线进行控制。BIOS也是连接操作系统和硬件设备的桥梁,能够被操作系统所控制,协助操作系统完成对硬件进行访问。操作系统对硬件的操作大多是通过调用BIOS芯片中的中断服务程序完成的。
BIOS是电脑启动后最先执行的程序,它检测电脑最小系统的正确性,然后把系统控制权移交给操作系统。对于即插即用硬件的发现和配置,BIOS也走在了操作系统的前面。
早期的BIOS程序都是针对某个特定的硬件系统和软件系统而编制,不具通用性,我们称之为非即插即用BIOS。非即插即用BIOS通常由一些程序(上电自检程序、配置程序、枚举程序、中断服务程序)和资源配置表组成,这些程序和表格一般存储在ROM芯片中。
有一定经验的用户应该知道,486级别的电脑有很大一部分并不支持从CD-ROM和Zip驱动器等设备引导系统,但对BIOS升级后便可解决问题。非即插即用系统也可以通过BIOS版本升级来增加支持的硬件种类,或者提高硬件的性能。
即插即用系统和非即插即用系统的差别可从图2中比较出来。即插即用系统要求外部设备、主板、BIOS和操作系统均支持即插即用。为了在电脑系统中实现即插即用功能,研发出了在底层支持即插即用技术的BIOS,我们在这种新的BIOS前面加上一个PnP,称作PnP BIOS。PnP BIOS比非即插即用BIOS多了一个PnP功能模块,这个模块可以识别哪些设备为固定资源需求的传统设备,哪些是可以对进行资源再配置的即插即用设备,并且识别出设备的资源需求。PnP模块将这些设备信息传送给操作系统的设备管理程序,并由该程序进行重新配置,不需要重新开机即可实现BIOS的更新。
图2 非即插即用与即插即用系统的比较
如果说PnP模块不过是对非即插即用BIOS列举和配置功能的增强,那么,“通报动态事件”就是PnP BIOS所独有的功能。当系统中增加了新硬件时,PnP BIOS能够及时更新资源配置表,并通过枚举程序向操作系统报告。借助于PnP BIOS的动态通报功能,操作系统无需关机即可重新对资源进行重新配置。在去除设备时,PnP BIOS也能够通知操作系统,并通过操作系统向用户发出警告,以防错误和数据丢失。此外,PnP BIOS中还有一个ACPI模块,配合操作系统实现节能。(未完待续)
文章评论(0条评论)
登录后参与讨论