设 备 分 配信息技术.pptx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
操作系统 设 备 分 配 设备分配 1.1 设备分配中的数据结构  1.设备控制表(DCT) 系统为每一个设备都配置了一张设备控制表,用于记录本设备的情况,如图所示。  设备控制表  设备控制表中,除了有用于指示设备类型的字段type和设备标识字段deviceid外,还应含有下列字段: (1) 设备状态。当设备自身正处于使用状态时,应将设备的忙/闲标志置“1”。若与该设备相连接的控制器或通道正忙,也不能启动该设备,此时则应将设备的等待标志置“1”。 (2) 指向控制器表的指针。该指针指向该设备所连接的控制器的控制表。在设备到主机之间具有多条通路的情况下,一个设备将与多个控制器相连接。此时,在DCT中还应设置多个控制器表指针。   (3) 重复执行次数或时间。由于外部设备在传送数据时,较易发生数据传送错误,因而在许多系统中,如果发生传送错误,并不立即认为传送失败,而是令它重新传送,并由系统规定设备在工作中发生错误时应重复执行的次数。在重复执行时,若能恢复正常传送,则仍认为传送成功。仅当屡次失败,致使重复执行次数达到规定值而传送仍不成功时,才认为传送失败。 (4)设备队列队首指针。凡因请求本设备而未得到满足的进程,其PCB都应按照一定的策略排成一个队列,称该队列为设备请求队列或简称设备队列。其队首指针指向队首PCB。在有的系统中还设置了队尾指针。  2.控制器控制表、通道控制表和系统设备表 (1) 控制器控制表(COCT)。系统为每一个控制器都设置了一张用于记录本控制器情况的控制器控制表,如图a所示。 (2) 通道控制表(CHCT)。每个通道都配有一张通道控制表,如图b所示。  (3) 系统设备表(SDT)。这是系统范围的数据结构,其中记录了系统中全部设备的情况。每个设备占一个表目,其中包括有设备类型、设备标识符、设备控制表及设备驱动程序的入口等项,如图c所示。  COCT、CHCT和SDT 123因素设备的固有属性设备分配算法设备分配时的安全性1.2 设备分配时应考虑的因素 为了使系统有条不紊地工作,系统在分配设备时,应考虑这样几个因素:  1.设备的固有属性 在分配设备时,首先应考虑与设备分配有关的设备属性。设备的固有属性可分成三种: 第一种是独占性,是指这种设备在一段时间内只允许一个进程独占,此即第二章所说的“临界资源”; 第二种是共享性,指这种设备允许多个进程同时共享; 第三种是可虚拟设备,指设备本身虽是独占设备,但经过某种技术处理,可以把它改造成虚拟设备。对上述的独占、 共享、可虚拟三种设备应采取不同的分配策略。  (1) 独占设备。对于独占设备,应采用独享分配策略,即将一个设备分配给某进程后,便由该进程独占,直至该进程完成或释放该设备,然后,系统才能再将该设备分配给其他进程使用。这种分配策略的缺点是,设备得不到充分利用,而且还可能引起死锁。 (2) 共享设备。对于共享设备,可同时分配给多个进程使用,此时须注意对这些进程访问该设备的先后次序进行合理的调度。 (3) 可虚拟设备。由于可虚拟设备是指一台物理设备在采用虚拟技术后,可变成多台逻辑上的所谓虚拟设备,因而说,一台可虚拟设备是可共享的设备,可以将它同时分配给多个进程使用,并对这些访问该(物理)设备的先后次序进行控制。 123因素先来先服务算法,即先申请的先被满足。优先级算法,即优先级高的I/O请求先被满足。按时间片轮转分配。2.设备分配算法对设备进行分配的算法,一般多采用以下几种:  3.设备分配中的安全性 安全性控制过称如下: (1)系统需要根据用户提出的逻辑设备查看PCB的LUT,获得该类设备的物理标志和访问方式。 (2)判断此次访问是否与规定的方式一致。1.3 独占设备的分配程序 1.基本的设备分配程序 1) 分配设备 首先根据I/O请求中的物理设备名,查找系统设备表(SDT),从中找出该设备的DCT,再根据DCT中的设备状态字段,可知该设备是否正忙。若忙,便将请求I/O进程的PCB挂在设备队列上;否则,便按照一定的算法来计算本次设备分配的安全性。如果不会导致系统进入不安全状态,便将设备分配给请求进程;否则,仍将其PCB插入设备等待队列。  2) 分配控制器 在系统把设备分配给请求I/O的进程后,再到其DCT中找出与该设备连接的控制器的COCT,从COCT的状态字段中可知该控制器是否忙碌。若忙,便将请求I/O进程的PCB挂在该控制器的等待队列上;否则,便将该控制器分配给进程。 3) 分配通道 在该COCT中又可找到与该控制器连接的通道的CHCT,再根据CHCT内的状态信息,可知该通道是否忙碌。若忙,便将请求I/O的进程挂在该通道的等待队列上;否则,将该通道分配给进程。只有在设备、 控制器和通道三者都分配成功时,这次的设备分配才算成功。然后,便可启动该I/

文档评论(0)

151****7975 + 关注
实名认证
内容提供者

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

认证主体王**

1亿VIP精品文档

相关文档

相关课程推荐