- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京大学计算机专业操作系统第7讲-处理机调度
第四章 处理机调度 4.1 分级调度 4.2 作业调度 4.3 进程调度 4.4 调度算法 为什么要管理处理机 处理机是计算机系统中一个十分重要的资源。 早期计算机系统中,处理机为一个作业独占。 多道批处理系统中,需要提高处理机的效率和增加作业吞吐量。 应尽可能使作业搭配合理,充分利用各种资源 交互式系统中用户以交互方式工作,好象整个计算机都为一个用户工作,这时希望系统的响应时间快。 由此可以看出,不同的操作系统类型和用户要求,处理机的管理策略应该有所不同。 衡量调度策略的指标 周转时间——一个作业从提交给计算机系统到该作业的结果返回给用户所需要的时间。 吞吐量——在给定的时间内,一个计算机系统所完成的总工作量。 响应时间——从用户向计算机发出指令到计算机将结果返回给用户需要的时间。 设备利用率——主要指输入输出设备的使用情况。 4.1 分级调度 操作系统中一个程序运行相关的概念:作业、进程、线程。它们是程序在计算机中不同运行阶段的不同体现,为此应该有不同的调度程序。 程序的各种状态及相应的调度方式 作业的状态 提交状态:一个作业在其处于从输入设备进入外存的过程称为提交状态,这时的作业不能被调度。 后备状态:当一个作业的全部都已经进入了输入井,未运行之前叫做后备状态,也称为收容状态。 运行状态:作业调度程序从后备作业中选择一个作业到内存运行,并为它创建进程和分配资源。这些被选中的作业处于执行状态。 执行状态的作业并不一定占用处理机,哪个进程占用处理机由进程调度程序决定。这个状态中包括:就绪状态、执行状态和等待状态。 完成状态:当作业运行完毕后,它所占用的资源并未全部释放时。 调度的层次 哪些作业的哪些进程可以参与竞争CPU? 必需资源都已得到满足的进程才可以竞争 内存、外设、有关数据结构 这些进程处于内存就绪状态 作业调度须调用存储管理、外设管理程序,按一定策略选择后备作业并分配资源、创立根进程。 处于执行状态的作业一般包含多个进程 单机系统中,每一时刻只有一个进程占有处理机 有些操作系统中,把一部分内存就绪或内存等待的进程、作业换出到外存 外存中,除了后备状态的作业,还有就绪状态或等待状态的作业 处理机调度分四个级别 作业调度(高级):按一定的原则从作业输入井中选择作业,为其创建进程、分配资源,当作业运行完毕后回收作业占用的资源。也叫高级调度。 交换调度(中级):按某种策略将处于外存交换区的就绪进程调入内存、把内存中就绪状态或等待状态的进程调出内存。 进程调度(低级):按某种策略选择一个就绪进程占用处理机,在确定了占用处理机的进程后,必须进行进程上下文切换,以便为运行进程准备好环境。 线程调度(微级):负责各个线程的调度。 思考:分时系统和实时系统中有作业调度吗? 作业和进程的区别 作业 作业是用户需要计算机完成某项任务而要求它所做工作的集合 它由程序、数据和作业说明书组成 由顺序相连的作业步构成:编译、链接、执行 作业的完成经过提交、收容、执行和完成四个阶段 作业执行时,至少有一个进程 作业的概念主要用在批处理系统中 进程和线程之间的关系 进程和线程的区别 进程是资源分配的基本单位,所有与该进程有关的资源都被记录在PCB中。 除CPU之外,线程与资源分配无关;它属于一个进程,并与进程内的其他线程一起共享进程的资源。 进程有完整的虚拟地址空间。 线程没有自己的地址空间,同一个进程内的线程共享同一地址空间 进程切换时涉及到进程上下文的保存和恢复,是一个比较庞大的场面。 线程切换时,由于共享进程的资源和地址空间,减少了系统的开销。 进程的调度由操作系统内核完成,线程的调度既可以由系统内核完成也可以由用户程序进行 4.2 作业调度 作业调度程序的功能 作业调度程序的目标 作业调度算法的性能指标 作业调度程序的功能 记录已经进入系统的各个作业的情况。作业调度程序为了选择一个作业运行,并且在作业运行中对其进行管理,必须知道各个作业进入系统时的一些信息,并跟踪作业在运行中的状态变化情况。这些信息记录在作业控制块JCB,它建立和撤消都是由作业调度程序完成的。 选择作业。从输入井中选择符合“条件”的作业送到内存的作业缓冲区中,使这些作业的状态由“后备”状态变为“运行”状态。调度多少个作业由系统的缓冲区大小和一些系统参数确定。 为被选中的作业做执行前的准备。建立进程,分配作业运行需要的资源,如内存和外部设备。作业调度程序只能保证该作业具有使用处理机的资格,而不能分配处理机资源。 作业运行结束后的善后处理和资源回收。统计作业的运行时间,作业执行状态等信息的输出。撤消该作业的所有进程和该作业的JCB。 作业调度程序的处理流程 作业调度算法的目标 对所有
文档评论(0)