设备管理算法实验报告-计算机操作系统教程(第三版).docVIP

设备管理算法实验报告-计算机操作系统教程(第三版).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设备管理算法实验报告-计算机操作系统教程(第三版)

设备管理算法实验报告 一、实验目的 由于外设资源的有限,需解决进程间的外设共享问题,以提高外设资源的利用率。设备分配是对进程使用外设过程的管理。 这里有两种作法: 在进程间切换使用外设,如键盘和鼠标; 2)通过一个虚拟设备把外设与应用进程隔开,只由虚拟设备来使用设备。 二、实验内容 设备分配程序的主要功能是,当某进程向系统提出I/O请求后,设备分配程序按照一定的策略和设备分配算法,把所要求的设备分配给它。 三、实验原理 1. 设备分配原则   设备分配的原则是根据设备特性、用户要求和系统配制情况决定的。 设备分配的总原则  (1)要充分发挥设备的使用效率,尽可能的让设备忙,但又要避免不合理的分配方法造成进程死锁;  (2)还要做到把用户程序和具体物理设备隔离开来。 静态分配  (1)在用户作业开始执行之前,由系统一次分配该作业所要求的全部设备、控制器和通道;  (2)一但分配之后就一直为该作业所占用,直到该作业被撤消。 动态分配   动态分配是在进程执行过程中根据进程的请求,由系统按照一定的策略进行分配,用完立即释放。 2、设备分配机制 设备分配要考虑的因素   为使系统有条不紊地工作,系统必须具有合理的设备分配机制。通常,它与下述四个因素有关:   (1)I/O设备的固有属性。该设备仅适合于某进程独占还是可供多个进程共享;   (2)系统所采用的分配策略。采用先请求先分配方式,还是按优先数最高者优先的方式;   (3)设备分配中的安全性,不合理的设备分配有可能导致死锁的发生;   (4)与设备的无关性。用户程序与实际分配的物理设备无关。 设备分配技术  (1)独享分配    由于某些设备要求人工干预,有些设备要求较长的预操作时间。对它们采用独享分配方式。  (2)共享分配    磁盘、磁鼓之类的外存储器,即具有很大的存储容量,其定位操作的时间又短,可为若干作业所共享。  (3)虚拟分配    采用SPOOLing技术。把原为独享的设备改造成为可共享的设备。 I/O设备的分配算法   I/O设备的分配可采用如下一些算法:  (1)先请求先服务。当有多个进程对同一个设备提出I/O请求时,该算法要求把所有发出I/O请求的进程,按其发出请求的先后次序排成一个等待该设备的队列。  (2)优先权最高者优先。优先权高的进程优先获得处理机,若对它的I/O请求,也赋予高的优先权,如果系统本身也希望使用某I/O设备而提出I/O请求,它应比通常用户的I/O请求具有更高的优先权。对于优先权相同的I/O请求,则按先请求先分配的原则排队。 四、相关数据结构 1设备分配用数据结构 系统对外设的使用涉及以下数据结构: 设备控制表(DCT, Device Control Table):每个设备一张,描述设备特性和状态。反映设备的特性、设备和控制器的连接情况。DCT的内容主要包括: 设备标识:用来区别不同的设备。 设备类型:反映设备的特性;如:块设备或字符设备。 设备地址或设备号:统一内存编址或单独编址。 设备状态:工作或空闲状态。 等待队列指针:等待使用该设备的进程队列。 I/O控制器指针:指向向该设备相连I/O控制器。 系统设备表(SDT, System Device Table):系统内一张,反映系统中设备资源的状态,记录所有设备的状态及其设备控制表的入口。SDT表项的主要组成: DCT指针:指向相应设备的DCT; 设备使用进程标识:正在使用该设备的进程标识; DCT信息:为引用方便而保存的DCT信息,如:设备标识、设备类型等; 控制器控制表(COCT, COntroller Control Table):每个设备控制器一张,描述I/O控制器的配置和状态。如DMA控制器所占用的中断号、DMA数据通道的分配。 通道控制表(CHCT, CHannel Control Table):每个通道一张,描述通道工作状态。 五、流程图 六、实验代码 #include iostream #include string #include vector using namespace std; typedef struct node { string ID; //进程名 string equipment; //申请的设备名 struct node *next; }PCB; typedef struct { string channelID; //通道标识符 bool state; //通道状态 PCB *use; //正在使用该通道的进程 PCB *blockque

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档