- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 11、设备分配的原则 既要充分发挥设备的使用效率,尽可能的让设备忙碌(避免设备忙闲不均的现象),但还要避免由于不合理的分配方法造成进程死锁; 另外还要做到把用户程序和具体物理设备隔离开来,即用户程序面对的是逻辑设备,而分配程序将在系统把逻辑设备转换成物理设备之后,再根据要求的物理设备号进行分配如图8.13所示。 * * 设备驱动程序是驱动物理设备和DMA控制器或I/O控制器等直接进行I/O操作的子程序的集合。负责设置相应设备有关寄存器的值,启动设备进行I/O操作,指定操作的类型和数据流向等。 为了对驱动程序进行管理,系统中设置有设备开关表DST。设备开关表中给出相应设备的各种操作子程序的入口地址,例如打开、关闭、读、写和启动设备子程序的入口地址。一般设备开关表是二维结构,其中的行和列分别表示设备类型和驱动程序类型。设备开关表也是I/O进程的一个数据结构。I/O控制过程为进程分配设备和缓冲区之后,可以使用设备开关表调用所需的驱动程序进行I/O操作。 12、设备驱动程序 * * 二、磁盘组织与管理 1. 磁盘的结构2. 磁盘调度算法 先来先服务(FCFS)算法; 最短寻道时间优先(SSTF)算法 ; 扫描(SCAN)算法 ; 循环扫描算法 ; 电梯调度(elevator controller)算法 ; 3. 磁盘的管理(磁盘空间管理) * * 预习—解决死锁的方法可分为三种方法 (1)死锁的预防 预防是采用某种策略,限制并发进程对资源的请求,使系统在任何时刻都不满足死锁的必要条件。 (2)死锁的避免 死锁的避免是指系统在分配资源时,根据资源的使用情况提前作出预测,从而避免死锁的发生。 (3)死锁的检测与恢复 死锁的检测与恢复是指系统设置专门的机构,当发生死锁时,该机构能够检测到死锁发生的位置和原因,并能使进程从死锁状态中恢复出来。 * * 补充1:哲学家吃面问题 Var fork: array[0,…,4] of semaphore ; //信号量数组, 所有信号量都初始化为1,第i位哲学家的活动 描述为: Repeat p(array [i]); //先拿自己右手侧的筷子 p(array[(i+4)mod5]); //等待另一个哲学家的筷子 eat(); v(array[i]); //放下自己右手侧的筷子 v(array[(i+4)mod5]); //放下另一个哲学家的筷子 think(); until false ● ● ● 0 1 2 3 4 * * 上述算法可以保证不会有相邻两个哲学家同时吃面,但不能保证不会死锁——每位哲学家都拿起了右侧的筷子,都得不到左侧的筷子(死锁)。 解决死锁方法: 至多只允许4位哲学家同时拿右侧的筷子,最终能保证至少1位能够吃面,等他吃完放下筷子,别人再吃。 规定奇数哲学家先拿右侧筷子,偶数哲学家先拿左侧筷子,这样就保证所有人先竞争奇数筷子,得到后,再竞争偶数筷子,总有一位可以吃面。 * * 补充2:银行家算法 Dijkstra (迪杰斯特拉)的银行家算法是典型的避免死锁算法,该算法可以用于贷款发放。 ■死锁的避免与死锁预防的主要区别 死锁预防在资源分配时,严格破坏产生死锁的必要条件之一;而死锁的避免是不那么严格地限制必要条件的存在(因为死锁的必要条件成立,系统未必就一定发生死锁),其目的是为了提高资源的利用率,万一有可能出现死锁,就尽量地避免这种情况的最终发生。最著名的避免死锁算法就是Dijkstra (迪杰斯特拉)的银行家算法。 * * 银行家算法研究的问题 问题本身是研究一个银行家如何将其总额一定的资金,安全的借给若干的客户,使这些顾客能满足对资金的要求又能完成其交易,使银行家收回自己的全部资金而不至于破产。(这个问题与操作系统中的资源分配问题十分相似)。 例如:系统共有5台磁带机,已有两台分给了进程P,一台分给了进程Q,但这两个进程还都需要两台磁带机才能完成其全部任务。问:如何分配系统不会产生死锁? * * 银行家算法与安全性 银行家算法描述 一个银行家在若干个顾客间共享他的资金capital,每个顾客必须在一开始就提前说明他所需借款总额,假如该顾客的借款总额不超过银行家的资金总额,银行家就接受该顾客要求。 在顾客交易期间,他无论是向银行借款还是还款,都以一个单位(如一万元)的方式。(可分期借/还,但期限有限) 安全性 假如银行家能使他当前的全部顾客在有限期间内完
您可能关注的文档
最近下载
- (新课标)人教版小学劳动教育五年级上册第一章劳动项目2《煮面条》教学设计.doc
- 副县长在县委理论学习中心组学习会上的发言(党的作风建设的重要论述).doc VIP
- 注射水纯水纯蒸汽施工方案.pdf VIP
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案.docx VIP
- 电力新能源知识培训课件.pptx VIP
- 电气运行、检修、事故处理、安全操作规程(电气五大规程).docx
- 《矿山隐蔽致灾因素普查规范 大纲》.doc VIP
- 新概念英语第一册 Lesson 21-22课件.ppt VIP
- 2025贵州遵义南国大数据有限公司招聘100人笔试模拟试题及答案解析.docx VIP
- 网信体系下 网络舆情应对流程指南.docx VIP
文档评论(0)