操作系统设备管理资料.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 设备控制器的主要功能为: ⑴ 接收和识别CPU或通道发来的命令 CPU可以向控制器发送多种不同的命令,设备控制器应该能接收并识别这些命令。控制器中有相应的控制寄存器,用来存放接收的命令和参数,并对所接收的命令进行译码。例如磁盘控制器能接收读、写、查找、搜索等各种命令。一旦某个控制器接收到一条命令后,CPU就可以转向其它工作,而让该设备控制器自行完成具体的I/O操作。 ⑵ 实现数据交换 数据交换包括CPU与控制器之间、设备与控制器之间的数据传输。前者通过数据总线或通道,在控制器和主存之间的进行数据传输,由CPU并行地把数据写入控制器或从控制器中并行地读出数据;对于后者是设备将数据输入到控制器,或从控制器传送给设备。 ⑶ 发现和记录设备及自身的状态信息 控制器应该记下设备的状态供CPU使用。例如,控制器中的状态寄存器的每一位反映一台设备的状态,只有当设备就绪时,CPU才能启动控制器从设备读取数据或者向设备输出数据。 ⑷ 设备地址识别 就像内存中的每一个单元都有一个地址一样,系统中的每一台设备也都有一个地址,设备控制器必须能识别出每台设备的地址。设备控制器中每个寄存器也有一个唯一的地址。表5-1给出了PC机部分控制器的I/O地址。 ⑸ 数据缓冲 由于I/O设备的速度较低而CPU和内存的速度较高,故在控制器中可以设置一个缓冲,以缓和I/O设备和CPU、内存之间的速度矛盾。 ⑹ 差错控制 设备控制器还兼管对I/O设备传来的数据进行差错检测。若发现传送中出现了错误,便将差错检测码置位,并向CPU报告,于是CPU将本次传来的数据作废,并重新进行一次传送,这样可以保证数据传送的正确性。 * 设备的操作细节依赖于设备的类型和特定的设备工作方式,每类设备可能包括从慢速、便宜的到快速、贵重的很多种设备,为了能正确地操纵这些设备,必须在设备控制器上提供接口,使得操作系统可以控制设备控制器。 设备控制器将设备与计算机的数据和地址总线相连。控制器提供了一组部件,可以通过CPU指令操纵这些部件来控制设备工作。虽然各个控制器的细节不同,但是每个控制器都提供相同的基本接口。作为资源抽象的目标的一部分,操作系统隐藏了控制器之间的区别,使得所有类型的设备接口都一样。这样,即使不知道各个控制器的速度、容量和操作细节也可以使用设备。通过将设备控制器的操作抽象成操作系统中的一个高层定义,就达到了通用性,如图5-2所示。 操作系统设备驱动程序通过与设备控制器进行交互来管理设备。设备驱动程序通过为应用程序员提供一组通用的接口屏蔽了控制器管理的细节。设备控制器接口是硬件与硬件之间的接口,它的细节与特定设备相关,与操作系统无关。程序员使用高层定义实现的抽象I/O范型来为设备编写I/O代码,而无需知道这些设备的细节。 * 使用程序查询方式,正在CPU上运行的程序从I/O设备读入一批数据的一般过程如图5-8所示: ⑴ 应用进程请求读操作; ⑵ 设备驱动程序查询状态寄存器,确定设备是否空闲;如果设备忙,则驱动程序循环等待,直到设备变为空闲为止; ⑶ 设备驱动程序把输入命令存入控制器命令寄存器中,从而启动设备; ⑷ 设备驱动程序通过重复读取状态寄存器的值来等待设备完成操作; ⑸ 设备驱动程序拷贝控制器数据寄存器的数据到用户进程空间。 * 使用DMA时的工作过程如图5-10所示: ⑴ CPU把一个DMA命令块写入内存,该命令块包含传送数据的源地址、目标地址和传送的字节数;CPU把这个命令块写入DMA控制寄存器中。CPU向磁盘控制器发送一个命令,让它把数据从磁盘读到内部缓冲区中并进行校验。然后CPU就去处理其他任务。当有效数据存入磁盘控制器的缓冲区后,就开始直接存储器存取。 ⑵ DMA控制器启动数据传送。通过总线,向磁盘控制器发送一个读盘请求,让它把数据传送到指定的内存单元。 ⑶ 磁盘控制器执行从内部缓冲区到指定内存的数据传送工作,一次传送一个字。 ⑷ 当把数据写入内存后,磁盘控制器通过总线向DMA控制器发一个回答信号。 ⑸ DMA控制器把内存地址增1,并且减少字节计数。如果该计数值仍大于0,则重复执行上述第(2)至(4)步,直到计数值为0。此时,DMA控制器中断CPU,告诉CPU传送已经完成。 * DMA不仅设有中断机构,而且还增加了DMA传输控制机构。若出现DMA与CPU同时经总线访问主存,CPU总是把总线占有权让给DMA,DMA的这种占有称“周期窃用”,窃取的时间一般为一个存取周期,让设备和主存之间交换数据。在DMA周期窃取期间,不仅不需要CPU干预,在此同时CPU还能做其他运算操作。这样可减轻CPU的负担,每次传送数据时,不必进入中断系统,进一步提高了CPU的资源利用率。 由上可以看出,DMA方式具有以下四个特点: 数据在内存和设备之间直接传送,传送过程中不需要CPU

文档评论(0)

基本资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档