- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)