首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

走出资源冲突的泥沼

走出资源冲突的泥沼

关键字:芯片组   I/O   操作系统  
  电脑系统的首要任务是有效地管理资源,以便快速地相应用户给定的任务。可是,一旦发生资源冲突,就失去对某些资源的管理能力,造成系统瘫痪。这种问题无法通过更换硬件来排除,因此显得十分棘手。本文带领读者从资源管理的源头来了解资源冲突的原因,掌握摆脱资源冲突的思路和方法。

       一、电脑是如何管理资源的?

  ●所谓资源

  电脑中的资源也称为资源库,它包括CPU、内存、外设和信息(包括程序和数据)4大类,所有的硬件和软件都可以称作资源。

  通常把IRQ、DMA、内存和I/O端口看作系统资源,每一种设备都要占有一定的系统资源才能使用,在设备管理器中可以看到设备占用资源的细节(如图1)。





[/table][table]

                                图1 硬件设备使用的资源  

       ●资源信息的收集与资源分配过程


  资源管理贯穿于电脑运行的整个过程中,资源信息的收集与分配是资源管理的重要环节。当我们接通电脑的电源时,系统从BIOS芯片中读取POST程序并立即执行之,对电脑硬件进行检测。检测工作结束后,转入执行BIOS中的设置程序,将系统资源(包括I/O端口、中断号、DMA及内存等)分配给检测到的设备,生成一个资源配置表,并将配置数据写回BIOS后,屏幕上出现“Update ESCD......Succeed”信息,说明ESCD(Extended System Configuration Data,扩展系统配置数据)更新成功,随后启动自举装载程序引导操作系统,并把资源配置表传递给操作系统,由操作系统进行统一管理和使用。可以看出资源信息的收集工作先是由BIOS进行侦测,然后上报给操作系统的。

  在即插即用系统中,BIOS可以动态地完成系统资源信息的收集工作。当我们带电接入新设备时,因为新设备要占用系统资源,这时就可能会与以前的资源配置发生冲突,系统在工作时就会表现出不稳定或错误提示。为此,即插即用BIOS可以发现新设备,并通过总线枚举器向操作系统通报事件,枚举器发送的信息指明了设备ID以及对资源的需求信息,操作系统使用PnP管理器将枚举器传送来的这些信息记录到注册表中,I/O管理器从注册表中提取设备信息,并查找与之相匹配的设备驱动程序(如果找不到驱动程序,便弹出一个要求用户安装驱动程序的对话框),并在驱动程序与设备之间建立关联,最后将中断号等资源信息发送给设备,存储在设备的寄存器中,如图2。



                                                           图2 即插即用系统信息流程  

       小知识:设备驱动程序

  并不是所有硬件安装到电脑里之后,就可以马上使用。举例来说,如果你自己买了内存,并将它安装到内存插槽之后,开机启动之后就可以使用内存,CPU也是安装后就可以使用。但是,如显示卡或打印机等功能卡或者外设,当你安装完成后,往往还必须安装它们的驱动程序,这些设备才能使用。




  设备驱动程序是一种将硬件与操作系统相互连接的软件
返回列表