操作系统第六章 处理机调度精要.pptx

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统第六章 处理机调度精要

第六章 处理机调度 ;6.2作业调度 作业可以是一次计算,一个控制过程。 作业的状态: 后备状态:作业在辅存上,并建立JCB,等待调度; 执行状态:作业进入主存,到作业计算完成为止; 完成状态:从作业计算完成开始,到善后处理完毕并退出系统为止。 例如: 后备状态:在家拿到大学录取通知书 执行状态:到大学报道注册 完成状态:完成答辩后,归还资源到毕业离校 ;6.2作业调度 作业调度的功能主要是完成作业从后备→执行和执行→完成状态的转变。 其中主要的是按一定的调度算法,从后备作业队列中选出一个作业投入运行。;6.2.4调度算法性能的衡量 ;6.2.4调度算法性能的衡量 ;6.2.4调度算法性能的衡量 ;6.2.5作业调度算法 1.先来先服务调度算法(FCFS算法) 思想:作业按来到的先后次序进行调度 例如:下列作业序列采用FCFS算法(为方便计算采用十进制),分别计算平均周转时间和平均带权周转时间。 ;6.2.5作业调度算法 2.短作业优先调度算法(SJF算法) 思想:从后备作业中选择执行时间最短的作业作为下一次服务的对象。 例如:下列作业序列采用SJF算法(为方便计算采用十进制),分别计算平均周转时间和平均带权周转时间。 ;6.2.5作业调度算法 3、响应比高者优先调度算法(介于二者之间的一种折中算法) 响应比rp=响应时间/执行时间 ∵响应时间=等待时间+执行时间 ∴rp=1+等待时间/执行时间 或rp=等待时间/执行时间 当调度时,需计算后备作业的响应比,然后选择响应比最高者投入运行。;当作业1结束时: rp2=(10.00-8.50)/0.5=3 rp3=(10.00-9.00)/0.1=10 rp4=(10.00-9.50)/0.2=2.5 ∴作业3投入运行 ;作业;2、在一个多道程序设计系统中,有3个作业A,B,C,到达输入井的时间如下:;2.在一个多道程序设计系统中,有3个作业A,B,C,到达输入井的时间如下:;6.3进程调度 ;6.3进程调度 ;6.3.4进程优先数调度算法 ;6.3.4进程优先数调度算法 ;P155 UNIX系统中优先数的计算 优先数P_pri=min{127,P_cpu/16-P_nice+PUSER} 优先数P_pri越大,则优先级越小。 PUSER是固定偏置常数,定为100 P_nice的值默认为20,可以用命令nice设置 P_cpu的值可变,当时钟信号到来时,当前进程的P_cpu+1,直到255,而每过1S,内核中计算优先数的程序又将所有进程的P_cpu-10,当P_cpu10时,P_cpu置0。;6.3.5循环轮转调度 ;6.3.5循环轮转调度 ;6.3.5循环轮转调度 2、可变时间片轮转调度 例如:t=3s,n=6如图所示;6.3.6多级反馈队列调度;假设一个计算机系统具有如下特征: 处理一次中断,平均耗用1ms; 一次进程调度,平均需要2ms; 将CPU分配给选中的进程,又需要平均1ms; 再假设其定时器芯片每秒产生100次中断,请回答: 操作系统将百分之几的CPU数据用于时钟中断处理? 如果操作系统采用轮转法调度,10个时钟中断为1个时间片。那么,操作系统将百分之几的CPU时间用于进程调度(包括调度,分配CPU和引起调度时的时钟中断处理时间)? 解: 100×1ms/1s=10% 时间片的大小=10×(1S/100)=100ms //每10ms产生1个时钟中断信号 1个时间片要处理10个时钟中断,需要10×1ms=10ms 时间片到后再进行一次进程调度,需要2ms 再将CPU分配给选中的进程,又需要平均1ms ∴系统将CPU时间的(10+1+2)/100=13%用于进程调度。;4.2.5线程概念及特点(threads) ;4.2.5线程概念及特点(threads);4.2.5线程概念及特点(threads);二、线程的描述 系统为每个线程都配置一张线程控制块(TCB)。TCB包括:Tid ,Context,栈,用于调度的信息(优先级、状态)和有关I/O活动的信息。;二、线程的描述 当1个进程执行时,它只有一个线程,如果需要进程可以继续创建新的线程,也就是一个进程可以包含多个控制线程,每个线程运行进程中的一个程序段,这样,进程就有多个执行路径,增强了并行处理能力。 线程完全继承父进程占有的资源,当它活动时具有自己的运行现场。;三、线程与进程的比较 ;三、线程与进程的比较 ;三、线程与进程的比较 ;三、线程与进程的比较 ;四、线程的状态及变迁 创建:建立的新生线程处于新建状态,已完成初始化。 就绪:进入线程就绪队列,一旦分到CPU时间,就可立即运行。 运行:一个线程正占用CPU,执行它的程序。 等待:让出CPU,暂时终止自己的执行,进入等待状态。 终止:一个线程已经退

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档