- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《计算机系统与系统软件》PPT电子课件教案-第四章 资源分配与调度参考
第四章 资源分配与调度 概述 资源分配机构 资源分配策略 死锁 资源 执行一个程序所需要的全部硬件设备、软件设备和数据。 资源的分类(1) 物理资源 程序资源 资源的分类(2) 单一访问入口资源 多访问入口资源 资源的分类(3) 虚拟资源——资源有限而形成,目的是使每个用户都达到似乎每个进程都拥有它申请的全部资源的效果。 如果一个用户要求的存储空间很大,则只须将它的部分安排在主存中,其余部分留在外存,并由OS自动实现这两类存储器之间的信息交换,从而为用户提供了虚拟存储器。 类似的还有虚拟打印机 资源管理的目标(1) 正确使用资源 对各种不同的资源设置相应的数据结构,用于描述它们的特性。 资源管理的目标(2) 保证资源的利用率 多用户、多进程共享系统资源有利于提高资源的利用率,但须解决相应的资源分配问题。 静态分配:作业所需的资源是在调度到该作业时根据用户给出的信息进行分配,并在作业运行完毕时释放所分配到的全部资源。 动态分配:进程所需资源是在进程运行中根据运行情况动态的分配、使用和释放。 资源管理的目标(3) 方便用户的使用 对用户来说达到似乎拥有它所申请的全部资源的效果。 资源管理的任务 ①解决资源分配问题; ②解决对资源的存取、使用问题; ③ 提供对资源存取的控制和实行安全保护措施。 资源管理功能 ①资源数据结构 ②确定资源的分配原则和调度原则 ③执行资源分配 ④存取控制和安全保护 资源分配机构 机构是进行资源分配所必需的基本部件: 数据结构(资源信息块、资源描述器) 互斥技术(锁原语、PV原语) 等待资源的队列 资源描述器 描述各类资源的最小分配单位的数据结构。 RD(Resource Descriptor)。 内容:资源名、资源类型、最小分配单位的大小、最小分配单位的地址、分配标志、勾链字、存取权限、密级、最后一次存取时间、记帐信息、资源其他特性。 一个资源分配单位对应一个资源描述器,各资源描述器通过某种方式组织(表、队列)。 资源信息块 RIB(Recource Information Block),说明资源、请求者、实施分配所需的必要信息 中央处理机资源信息块 中央处理机资源信息块 系统中的进程在其生命周期内居留在各种队列中,这些队列记录了进程的状态,进程状态的改变实质上是进程在这些队列的移动。 基本队列: ①ALL-PROCESS-QUEUE:进程总链,记录了系统中所以进程。进程被创建时进入该队列,进程被撤消时从该队列删除。 ②READY-QUEUE:就绪队列,记录了活动的并准备运行的每个进程。 ③ WAIT-Q-QUEUE:等待队列,记录了因为某种原因(X)而等待的进程队列。 资源分配策略 先请求先服务 FIFO(First In First Out),也称简单排队策略。即排队队列按照提出请求的先后次序排序。 优点:实现简单 缺点:不对请求的特征、执行时间长短等考虑,因而后到的短作业响应时间长。 优先调度 是一种比较灵活的调度策略,可以优先照顾需要尽快处理的作业或进程。 该策略对每个进程或作业要指定一个优先级,优先级别反映了进程要求处理的紧迫程度。 死锁 两个或两个以上进程彼此之间出现互相等待的情况,即每个进程都抓住一些为其他进程所等待的资源不放,其结果是谁也得不到所申请的全部资源,这样所有的进程都无法继续进行。 死锁例(1) 两小孩玩玩具,甲玩皮球,乙玩手枪,他们都想要对方的玩具,却又都不肯让出自己手中的玩具,于是僵局出现了 。 死锁例(2) 死锁例2结论 将P操作颠倒,会发生死锁 将V操作颠倒,不会发生死锁 死锁产生的根本原因 系统资源不足 进程推进顺序非法 产生死锁的四个必要条件(1) 互斥条件:涉及的资源是非共享的,即进程对它所需要的资源进行排他性控制。 否定该条件很难。 产生死锁的四个必要条件(2) 不剥夺条件: 进程所获得的资源在未使用完毕前,不能被其他进程强行夺走,即只能由获得该资源的进程自己来释放 否定该条件:容易实现,即使用抢占的进程调度方式。 产生死锁的四个必要条件(3) 部分分配 进程每次申请它所需要的一部分资源。 否定该条件:容易实现,即规定进程在获得它所需的全部资源前,不能投入一行。 即使用静态分配方式。 产生死锁的四个必要条件(4) 环路条件 存在一种进程的循环链,链中的每个进程已经获得
文档评论(0)