操作系统怎样控制硬件

一:BIOS和驱动程序是如何工作的

1:当你选择一个命令.比如说,让你的文字处理软件保存一个文档时,应用程序不需要知道如何控制硬盘驱动器.取而代之的是,文档处理软件将命令和需要保存的数据传送给WINDOWS.

2:操作系统要通过检查确认保存数据的命令没有问题.例如,它要确定文件名是否合法,同时你不能在一个标记着只读的文件上保存.

3:如果一切就绪了,操作系统就会检查保存文件的操作系统是否需要设备驱动程序,所谓设备驱动程序就是为了控制特定的外围设备而编写的一个专用代码块.驱动程序是BIOS的扩展.如果没有驱动程序,做为永久性的存储器,BIOS就必须要包含所有的控制命令以控制每一种你可能安装到计算机的硬件设备.这样,不仅BIOS将会难以控制的增大,而且,当新的打印机或是硬盘驱动器推出的时候,它就会立即被淘汰.计算机启动或是WINDOWS装入时一些驱动程序也被装入进来.如果文件保存操作所需的设备驱动程序不在RAM中,WINDOWS就会将它从磁盘上复制到内存中,然后WINDOWS将文件保存的实际任务交给BIOS和驱动程序.

4:如果BIOS中含有该磁盘驱动器的一套专用指令,BIOS就自己发送指令和数据到磁盘驱动控制器.在IDE(集成驱动设备电路)驱动器中,控制器内置在驱动器中.如果命令不固化在BIOS的只读存储器中,BIOS将到磁盘驱动器的设备驱动程序中重新寻找控制指令.在那里编有专门用于控制这种品牌,容量及型号的控制命令集.

映象BIOS

计算机的BIOS信息比较典型的是存储在EPROM(可檫写,可编程,只读存储器)芯片上,甚至在计算机关闭的时候都会一直保留着这些数据.检查EPROM上的代码将会比检索RAM中的代码花费更多的时间.基于这个原因,大多数的新型计算机采用了映象BIOS代码的办法-也就是说,将代码从EPROM上复制到RAM中,然后建立起等效的微电路转向标记,这样当计算机要访问BIOS的代码时,它将会访问取代EPROM的RAM.

 

 

 

 

 

二:即插即用设备如何工作

1:当你打开一个即插即用型系统时,WINDOWS和硬件设备之间的主要仲裁者BIOS成为第一个掌握控制权的组件。BIOS搜寻所有需要的设备—比如显卡、键盘以及软盘驱动器——这样PC机才可能正常运行。BIOS基于它们唯一的标志号来识别这些设备,标志号是被永久性地记录到设备的ROM即只读存储器中的。然后BIOS将控制权交给操作系统。

2:WINDOWS的配置管理器将称为枚举器的特殊设备驱动程序添加进来—该程序充当操作系统和各种不同设备之间的接口。枚举器有总线枚举器、用于SCSI(小型计算机系统接口)的特殊总线类型的枚举器和端口枚举器,等等。WINDOWS要求每个枚举器都要明确地指出它要控制哪个设备以及它需要那些资源。

3:WINDOWS从枚举器得到信息并且将这些信息存储到硬件设备树中,硬件设备树是存储在RAM中的一个数据库。于是操作系统检查硬件设备树进行资源仲裁。换言之,在将信息存储到一个数据库以后,操作系统决定将那些资源——例如,中断(IRQ)——分配哪个设备。然后系统会通知枚举器它们各自的设备都被分配了那些资源。枚举器将资源分配的信息存储到外围设备的微型可编程寄存器中类似于某些芯片中的暂存区。

4:最终,操作系统为每个设备都搜寻到合适的设备驱动程序。设备驱动程序实际上就是WINDOWS的一小部分附加代码,它告诉操作系统如何与硬件进行通信。如果操作系统没有发现它所需要的设备驱动程序,系统就会提示用户进行安装。于是系统加载所有必须的设备驱动程序并且告知驱动程序其他设备使用着那些资源。设备驱动程序初始化它们各自的设备,这时完成了系统启动。

三:数据怎样在总线上旅行

1:处理器或其它组件发出的信号沿着若干条平行排列的电路行走。这种线路的条数是由所有的总线体系结构类型决定的。它们当中最简单的)——原IBM PC机上用的是8位总线——用62条连线与各种适配器卡连接。发送到某一适配器卡上的任何信号同时都会送向所有的适配器卡。

2:8条线路通向适配器卡电源线。不同线路的电压是不同的。

3:8到32条线路用于传输所有的数据,不管数据是送往内存芯片、还是送往显示适配器或是磁盘控制器。

4:20条线路载有想要的数据的特定地址信息。每个扩展卡都使用一个特定且唯一的地址——来自于内存中开头1MB空间中的可用部分,那是一个能被操作系统寻址的范围。

5:余下的那些线路用来传递常用的特定指令的控制信号,比如对内存和每个输入/输出设备的读写命令。

6:总线上的每个适配器卡时刻不断地在控制线上寻找适当的信号。例如,当写命令线上出现一个信号时,所有的I/O设备都会识别出这个命令,而内存的电路却不会。

7:写命令警告I/O适配器转移注意力到地址线上。如果那些线上指定的地址并不是某个适配器所使用的地址时,哪个适配器就将数据线的信号忽略。

8:如果地址线上的信号和适配器地址相吻合的话,适配器就接收数据线上发送来的数据,并且用这些数据来完成写操作。

你可能感兴趣的:(操作系统怎样控制硬件)