操作系统-处理器管理.pptVIP

  1. 1、本文档共179页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
低级调度的对象 ------ 在内核不支持线程的环境中,是进程,在内核支持线程的环境中,是线程 现代的操作系统,一般都是以线程为最小的调度单位 低级调度的主要功能: 调度和分派 调度:决定把哪个线程换进或换出处理器 分派:如何进行换进和换出 前者称为“调度策略”,后者称为“调度机制” 低级调度的基本类型: 抢占式(preemptive):内核可以随时根据某个原则来剥夺当前进程的运行权利 非抢占式(nonpreemptive):除非进程自己主动让出处理器,否则别的进程没有机会执行 很多操作系统混合了两种调度类型:内核线程是非抢占式的,用户线程是抢占式的 注:内核非抢占式,是指不能被其他线程所抢占,但可以响应中断,此时还处在原来的进程上下文中,只在处理中断的时候,短暂处于中断上下文 主要的一些调度算法介绍: 每一种调度算法,都可以解决一部分问题,但也会带来一部分问题,操作系统在选择具体算法的时候,可以根据自身的需求,选择相应的算法 在一个作业从开始准备,到最后执行完毕,可能需要经过多次调度,可以为每一级调度都采用不一样的调度算法,或在同一级调度中,结合几种调度算法 先来先服务算法(First Come First Served,FCFS) 按照作业进入系统的顺序来逐个执行 这是一种非抢占式算法 优点:简单,公平,易于实现 缺点:效率不高,且效率高低与各作业进入系统的先后次序有关 它既适用于作业调度,也适合于进程调度 最短作业优先算法(Shortest Job First,SJF) 以进入系统的作业所要求的CPU运行时间的长短为标准,总是选取预计计算时间最短的作业投入运行 优点:一定程度上避免了FCFS算法低效的问题 缺点:很难准确估计作业的运行时间 容易引起饥饿现象 该算法同样能应用于低级调度和高级调度 最短剩余时间优先算法(Shortest Remaining Time First,SRTF) 对上面一种算法的改进,即当有新进程进来时,如果新进程需要的运行时间比当前进程的剩余时间要短,则剥夺当前进程的运行,让新进程来运行 优点:确保新进来的短作业可以很快得到执行 缺点:依然会导致饥饿问题 响应时间比最高者优先(Highest Response Ratio First, HRRF) 优先级调度算法 每个进程都规定一定的优先级,总是选择就绪队列中优先级最高的线程投入运行 静态优先级:在线程的生命周期中不再改变 动态优先级:随着等待时间的增加,提高优先级 优点:算法比较容易实现,可以区分重要的线程,重要性高的(比如实时线程)可以优先响应 缺点:静态优先级,会导致饥饿问题,且每个线程的优先级的确定,不是很容易 轮转调度算法(Round-Robin,RR),也称时间片调度 把CPU时间分成时间片,分别分给每个线程,然后轮流执行 优点:公平 缺点:线程很多时,每个线程的时间片就太短,切换花费的时间太多 线程状态 与进程不同,线程只有运行、就绪和等待态 线程没有挂起态,线程的挂起和激活,是随着宿主进程挂起和激活, 线程的实现 用户级线程 内核级线程 混合式线程 用户级线程: 指提供可以进行线程管理的工具,负责线程的创建、管理、调度,与内核无关 优点: 无需陷入内核 比较容易地修改线程调度算法 即使内核不支持多线程,也能实现多线程 缺点: 一个线程阻塞,会引起所有其他线程阻塞 只能在当前进程的CPU上进行调度 内核级线程 内核具体创建、管理线程的功能,同时提供系统调用供用户程序使用 优点: 阻塞一个线程,不会影响整个进程的阻塞,其他线程可以继续运行 可以把线程分配到多个处理器上进行 缺点: 线程管理需要陷入内核,开销大 内核需要专门进行修改,才能具备此功能 Linux的进程和线程 处理器调度 主存、处理器与作业、进程之间,永远是供不应求的关系 处理器调度:按照何种原则挑选作业进入主存运行,如何把处理器进行分配 作业(job):用户交给操作系统的一个独立任务,每个作业必须经过若干相对独立且相互关联的顺序加工步骤才能得到结果 作业由用户组织,作业步骤由用户指定,操作系统根据用户的指定,创建进程来完成相应的处理任务,并返回处理的结果 作业与进程的关系: 作业是任务实体,进程是执行实体 操作系统通过创建进程,来完成作业要求 作业管理: 作业组织、作业调度、运行控制 作业管理与调度的步骤:批处理和交互型 批处理作业的组织和管理 批处理作业的输入 批处理作业的建立 批处理作业的调度 批处理作业的输入 脱机方式 作业=程序+数据+作业说明书 程序和数据用于解决问题 作业说明书告诉操作系统如何组织程序和数据来工作 批处理作业的建立 建立作业控制块,组成作业表

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档