操作系统-第四章调度
操作系统--精髓与设计原理(第八版)第四章复习题答案
操作系统--精髓与设计原理(第⼋版)第四章复习题答案操作系统--精髓与设计原理(第⼋版)第四章复习题答案4.1 表3.5列出了在⼀个没有线程的操作系统中进程控制块的基本元素。
对于多线程系统,这些元素中哪些可能属于线程控制块,哪些可能属于进程控制块?这对于不同的系统来说通常是不同的,但⼀般来说,进程是资源的所有者,⽽每个线程都有它⾃⼰的执⾏状态。
关于表3.5中的每⼀项的⼀些结论如下:进程控制信息:调度和状态信息主要处于线程级;数据结构在两级都可出现;进程间通信和线程间通信都可以得到⽀持;特权在两级都可以存在;存储管理通常在进程级;资源信息通常也在进程级;进程标识:进程必须被标识,⽽进程中的每⼀个线程也必须有⾃⼰的ID。
处理器状态信息:这些信息通常只与进程有关。
4.2 请列出线程间的模式切换⽐进程间的模式切换开销更低的原因。
包含的状态信息更少。
4.3 在进程概念中体现出的两个独⽴且⽆关的特点是什么?资源所有权: 进程包括存放进程映像的虚拟地址空间;回顾第3章的内容可知,进程映像是程序、数据、栈和进程控制块中定义的属性集。
进程总具有对资源的控制权或所有权,这些资源包括内存、I/O通道、I/O设备和⽂件等。
操作系统提供预防进程间发⽣不必要资源冲突的保护功能。
调度/执⾏:进程执⾏时采⽤⼀个或多程序(见图1.5)的执⾏路径(轨迹),不同进程的执⾏过程会交替进⾏。
因此,进程具有执⾏态(运⾏、就绪等)和分配给其的优先级,是可被操作系统调度和分派的实体。
4.4 给出在单⽤户多处理系统中使⽤线程的四个例⼦。
前台和后台操作异步处理加速执⾏模块化程序结构。
4.5 哪些资源通常被⼀个进程中的所有线程共享?进程中的所有线程共享该进程的状态和资源,例如地址空间,⽂件资源,执⾏特权等。
4.6 列出⽤户级线程由于内核级线程的三个优点。
由于所有线程管理数据结构都在⼀个进程的⽤户地址空间中,线程切换不需要内核级模式的特权,因此,进程不需要为了线程管理⽽切换到内核模式,这节省了在两种模式间进⾏切换(从⽤户模式到内核模式;从内核模式返回⽤户模式)的开销。
操作系统第4章习题带答案
第四章一、问答题1、同步机制应遵循的准则是什么?2、死锁产生的4个必要条件是什么?它们是彼此独立的吗?3、简述死锁的定义和死锁产生的原因。
4、简述死锁定理和解除死锁的方法。
5、什么是安全状态?怎么判断系统是否处于安全状态?6、同步机制应遵循的准则是什么?7、死锁产生的4个必要条件是什么?它们是彼此独立的吗?二、计算题(共20分)1、当前系统中出现下述资源分配情况:利用银行家算法,试问如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配给它?答:Request(1,2,2,2)<=(2,3,5,6)申请合法Request(1,2,2,2)<=Available,开始试探性分配,Available=(0,4,0,0) 测试系统是否安全:work= Available,finish=1没有进程的need满足<=work系统处于不安全状态,系统拒绝此次资源分配。
2、当前某系统有同类资源7个,进程P,Q所需资源总数分别为5,4。
它们向系统申请资源的次序和数量如表所示。
回答:问:采用死锁避免的方法进行资源分配,请你写出系统完成第3次分配后各进程占有资源量,在以后各次的申请中,哪次的申请要求可先得到满足?答:第1次申请,Q申请资源2,系统安全,分配第2次申请,P申请资源1,系统安全,分配第3次申请,Q申请资源1,系统安全,分配资源剩余3个,P占有1个资源,Q占有3个资源,第4次分配不安全,拒绝,第5分配系统安全,满足。
3、一个计算机系统有6个磁带驱动器和4个进程。
每个进程最多需要n个磁带驱动器。
问当n为什么值时,系统不会发生死锁?并说明理由答:n=2理由同第4题(进程资源最大需求-1)×进程数量+1≤系统资源数量4、若系统有某类资源m×n+1个,允许进程执行过程中动态申请该类资源,但在该系统上运行的每一个进程对该资源的占有量任何时刻都不会超过m+1个。
操作系统原理第四章 处理机调度习题
第四章处理机调度4.3 习题4.3.1 选择最合适的答案1.某系统采用了银行家算法,则下列叙述正确的是()。
A.系统处于不安全状态时一定会发生死锁B.系统处于不安全状态时可能会发生死锁C.系统处于安全状态时可能会发生死锁D.系统处于安全状态时一定会发生死锁2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是()。
A.Max[i,j]=Allocation[i,j]+Need[i,j]B.Need[i,j]= Allocation[i,j]+ Max[i,j]C.Max[i,j]= Available[i,j]+Need[i,j]D.Need[i,j]= Available[i,j]+ Max[i,j]3.下列进程调度算法中,()可能会出现进程长期得不到调度的情况。
A.非抢占式静态优先权法B.抢占式静态优先权法C.时间片轮转调度算法D.非抢占式动态优先权法4.在下列选项中,属于预防死锁的方法是()。
A.剥夺资源法B.资源分配图简化法C.资源随意分配D.银行家算法5.在下列选项中,属于检测死锁的方法是()。
A.银行家算法B.消进程法C.资源静态分配法D.资源分配图简化法6.在下列选项中,属于解除死锁的方法是()。
A.剥夺资源法 B.资源分配图简化法C.银行家算法 D.资源静态分配法7.为了照顾紧迫型作业,应采用()。
A.先来服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.优先权调度算法8.在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和()相同。
A.先来先服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.长作业优先调度算法9.作业从后备作业到被调度程序选中的时间称为()。
A.周转时间B.响应时间C.等待调度时间D.运行时间10.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。
第四章 操作系统处理机调试(张尧学)
等待事件
4.1.2 作业与进程
作业是用户向计算机提交任务的任务实体 进程是计算机为了完成用户任务实体而设置
的执行实体,是系统分配资源的基本单位
第四章 处第理9机页调度
4.2 作业调度
作业调度主要是完成作业从后备状态到执行状态的转 变,以及从执行状态到完成状态的转变
第四章 处第理1机0页调度
第四章 处第理1机9页调度
4.3.2 进程调度的时机
(1) 正在执行的进程执行完毕。 (2) 执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态。 (3) 执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用
了V原语操作激活了等待资源的进程队列。 (4) 执行中进程提出I/O请求后被阻塞。 (5) 在分时系统中时间片已经用完。 (6) 在执行完系统调用
第四章 处第理1机2页调度
图4.3 作业调度中状态的转换过程 第四章 处第理1机3页调度
4.2.2 作业调度目标与性能衡量
作业调度的功能最主要的是从后备作业队列中选取一批作 业进入执行状态。
调度目标主要是以下4点: (1) 对所有作业应该是公平合理的; (2) 应使设备有高的利用率; (3) 每天执行尽可能多的作业; (4) 有较快的响应时间。
主要功能是按照一定的策略选择一个处于就绪状态的进程, 使其获得处理机执行。根据不同的系统设计目的,有各种各样 的选择策略,例如系统开销较少的静态优先数调度法,适合于 分时系统的轮转法和多级反馈轮转法等。这些选择策略决定了 调度算法的性能 (3) 进行进程上下文切换
一个进程的上下文(context)包括进程的状态、有关变量 和数据结构的值、硬件寄存器的值和PCB以及有关程序等
高级调度"。从用户工作流程的角度,一次提交的若干个流程, 其中每个程序按照进程调度。时间上通常是分钟、小时或天 (2) 交换调度:中级调度,从存储器资源的角度。将进程的部分 或全部换出到外存上,将当前所需部分换入到内存。指令和数据 必须在内存里才能被CPU直接访问。 (3)进程或线程调度:低级调度(微观调度),又称为"微观调度 "、"低级调度"。从CPU资源的角度,执行的单位。时间上通常 是毫秒。因为执行频繁,要求在实现时达到高效率
第四章--调度PPT课件
3、常用作业调度算法
先来先服务(First-Come First-Served:FCFS)
最早提交的作业最先调入内存
短作业优先(Shortest Job First :SJF) 运行时间最短的作业优先调入内存
最短剩余时间优先( Shortest Remaining Time Next:SRTN) 剩余运行时间最短的作业优先调度运行
23
系统中n个作业的平均周转时间为:
T
n
Ti
i1
1 n
带权周转时间W
W = T/R
T 为周转时间,R为实际运行时间。
平均带权周转时间:
Win1Wi1nin1TRii 1n
4.就绪等待时间:作业在就绪队列中的等待时间 5.响应时间:从提交第1个请求到产生第1个响应
所用的时间
4.5 调度算法
行某些进程
⑥ 开销 :系统开销不应太大
22
4.4.2 调度性能评价准则
1.CPU利用率:CPU价格昂贵 2.吞吐量:单位时间内CPU完成作业的数量 3.周转时间 从作业提交到作业完成的时间间隔就是周转时间。
Ti = tci - tsi tsi 表示作业i 的提交时间 tci 表示作业i 的完成时间。
15
4.3 进程调度
进程调度也叫低级调度 进程调度程序也叫低级调度程序,它完
成进程从就绪状态到运行状态的转换。 将一台物理CPU虚拟成多台CPU
16
4.3.1 进程调度的功能
(1)保存现场
进程放弃CPU时,进程调度程序需将现场信 息保存到PCB中
(2)挑选进程 (3)恢复现场
为选中的进程恢复现场信息,把CPU控制权 交给该进程。
10
提交状态
操作系统第4章答案(上)
赵盈盈2011210593 第四章作业上1. 解释名词:程序的顺序执行;程序的并发执行。
答:程序的顺序执行:一个具有独立功能的程序独占cpu直到得到最终结果的进程。
程序的并发执行:两个或两个以上程序在计算机系统中同时处于一开始执行且尚未结束的状态。
2. 什么是进程?进程与程序的主要区别是什么?答:进程:进程是具有独立功能的程序关于某个数据集合的一次运行活动,进程是系统进行资源分配和调度的独立单元。
进程和程序的区别:●程序是静态的,进程是动态的●进程有程序和数据两部分组成●进程具有生命周期,有诞生和消亡,是短暂的;而程序是相对长久的●进程能更真实的描述并发,而程序不行。
●一个进程可以对应多个程序。
一个程序可以对应多个进程●进程可以创建其他进程,程序不能3. 图1所示,设一誊抄程序,将f中记录序列正确誊抄到g中,这一程序由get、copy、put三个程序段组成,它们分别负责获得记录、复制记录、输出记录。
请指出这三个程序段对f中的m个记录进行处理时各种操作的先后次序,并画出誊抄此记录序列的先后次序图(假设f中有1,2,…,m个记录,s,t为设置在主存中的软件缓冲区,每次只能装一个记录)。
图1 改进后的誊抄过程答:4. 进程有哪几种基本状态?试画出进程状态变迁图,并标明发生变迁的可能原因。
答:进程基本状态:运行、就绪、等待就绪到运行:调度程序选择一个新的进程运行 运行到就绪:运行进程用完了时间片或运行进程被中断,因为一个高优先级的进程处于就绪状态运行到等待:OS 尚未完成服务或对一资源的访问尚不能进行或初始化I/O 且必须等待结果 或等待某一进程提供输入(IPC )等待到就绪:当所有的事件发生时5. 什么是进程控制块?它有什么作用?答:PCB :为了便于系统控制和描述进程的活动过程,在操作系统核心中为进程定义的一个专门的数据结构。
作用:系统用PCB 来控制和管理进程的调用,PCB 也是系统感知进程存在的唯一标志GCGPCP G… CP6. n 个并发进程共用一个公共变量Q ,写出用信号灯的p 、v 操作实现n 个进程互斥时的程序描述,并说明信号灯值的取值范围。
操作系统-第4章题
1.(c )算法综合考虑作业的等待时间和计算时间。
A.先来先服务B.计算时间短的作业优先C.响应比高者优先D.优先级1.( )FIFO调度算法是最公平的调度算法。
3.(6分)假设有四个作业,它们的提交时间和需要的计算时间如表2所示。
这些作业在一台处理机上按单道方式运行,如采用响应比高者优先调度算法,请给出这些作业的执行顺序?答:(2分)第一次调度时间是7:00,此时只有J1为后备作业,因而被调度。
它执行完的时间是9:00。
(2分)第二次调度时间是9:00,此时J2、J3和J4都为后备作业。
J2、J3和J4作业的相关参数如表5所示。
J3的响应比最高,J3被调度。
它执行完的时间是9:20。
(1分)第三次调度时间是9:20,此时J2和J4为后备作业。
J2和J4作业的相关参数如表6所示。
J2的响应比最高,J2被调度。
它执行完的时间是10:20。
(1分)第四次调度时间是10:20,此时只有J4为后备作业,J4被调度。
它执行完的时间是11:00。
综上这些作业的执行顺序为J1、J3、J2、J4。
表5 J2、J3和J4作业的相关参数2.在分级反馈轮转调度中,分配给各就绪队列的时间片是相等的。
(错)3.说明Linux系统中引起进程调度的原因。
答:Linux系统中进程调度的原因有如下几种:①CPU执行的进程发生状态转换,如进程终止、进程睡眠等。
进程在执行过程中调用sleep()、exit()或wait()等函数将引起其状态转变,这些函数的执行会调用调度程序进行进程调度。
②就绪队列中增加了新进程。
③正在执行的进程所分配的时间片用完。
④执行系统调用的进程返回到用户态。
⑤系统内核结束中断处理返回到用户态。
2.(7分)假设有四个作业,它们的提交时间和需要的计算时间如表3所示。
这些作业在一台处理机上按单道方式运行,若采用下列作业调度算法:(1)先来先服务(2)短作业优先;请分别给出这些作业的执行顺序、每个作业的周转时间及平均周转时间和加权平均周转时间。
计算机操作系统教程(张尧学 史美林 张高)(第三版)第四章
精品课程系列-计算机学院版权所有
重庆大学计算机学院 《操作系统》教程
4.2
作业调度
制 制 作 作 者 者 : : 郭 郭 平 平 、 、 王 王 在 在 模 模 、 、 何 何 静 静 媛 媛
作业调度是按照某种规则,从后备作业 队列中挑选作业进入内存,参与处理机的竞 争的过程。
精品课程系列-计算机学院版权所有
从后备队列中选 出一个作业 审核资源要求 否 放弃作业 资源要求 能满足吗? 是 分配资源 建立进程 进程调度 (a) 后备状态到执行状态的转变
回收分配给作业的全部资源 计算作业的执行费用 撤消作业的所有进程,以及JCB 调度下一个作业
(b) 执行状态到完成状态的转变
精品课程系列-计算机学院版权所有
外存
就绪
等待
提交状态
收容状态
就绪 等待
交换调度 执行状态 完成状态 执行
作业注册
作业调度
进程调度
内存
线程调度
作业的状态及转换
返回
精品课程系列-计算机学院版权所有
重庆大学计算机学院 《操作系统》教程
4.1.2 调度的层次
制 制 作 作 者 者 : : 郭 郭 平 平 、 、 王 王 在 在 模 模 、 、 何 何 静 静 媛 媛
又称为作业调度,用于决定把外存上处于后备队列中的作业调入 内存,并为它们创建进程、分配必要的资源,然后,将新创建的进程 排在就绪队列中,准备执行。在作业调度中,必须解决两个问题: 1) 接纳多少个作业:多道程序的度数的确定应该系统的规模和运行 速度,做适当的折中。 2) 接纳哪些作业:应该将作业从外存中调入内存,将取决于所采用 的调度算法。关于各种不同的调度算法将随后讨论。
精品课程系列-计算机学院版权所有
操作系统原理-第四章 处理机调度(有答案)
第四章处理机调度4.3 习题4.3.1 选择最合适的答案1.某系统采用了银行家算法,则下列叙述正确的是()。
A.系统处于不安全状态时一定会发生死锁B.系统处于不安全状态时可能会发生死锁C.系统处于安全状态时可能会发生死锁D.系统处于安全状态时一定会发生死锁2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是()。
A.Max[i,j]=Allocation[i,j]+Need[i,j]B.Need[i,j]= Allocation[i,j]+ Max[i,j]C.Max[i,j]= Available[i,j]+Need[i,j]D.Need[i,j]= Available[i,j]+ Max[i,j]3.下列进程调度算法中,()可能会出现进程长期得不到调度的情况。
A.非抢占式静态优先权法B.抢占式静态优先权法C.时间片轮转调度算法D.非抢占式动态优先权法4.在下列选项中,属于预防死锁的方法是()。
A.剥夺资源法B.资源分配图简化法C.资源随意分配D.银行家算法5.在下列选项中,属于检测死锁的方法是()。
A.银行家算法B.消进程法C.资源静态分配法D.资源分配图简化法6.在下列选项中,属于解除死锁的方法是()。
A.剥夺资源法 B.资源分配图简化法C.银行家算法 D.资源静态分配法7.为了照顾紧迫型作业,应采用()。
A.先来服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.优先权调度算法8.在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和()相同。
A.先来先服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.长作业优先调度算法9.作业从后备作业到被调度程序选中的时间称为()。
A.周转时间B.响应时间C.等待调度时间D.运行时间10.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。
计算机操作系统—调度算法
计算机操作系统—调度算法# 有些计算会有问题谅解经典进程的同步问题1、吃⽔果桌上有⼀只盘⼦,每次只能放⼊⼀只⽔果,爸爸专向盘⼦中放苹果(apple),妈妈专向盘⼦中放桔⼦(orange),⼀个⼉⼦专等吃盘⼦中的桔⼦,⼀个⼥⼉专等吃盘⼦中的苹果。
只要盘⼦中空则爸爸或妈妈可向盘⼦中放⼀只⽔果,仅当盘中有⾃⼰需要的⽔果时,⼉⼦或⼥⼉可从中取出。
把爸爸、妈妈、⼉⼦、⼥⼉看做四个进程,⽤wait、signal操作进⾏管理,使这4个进程能正确地并发执⾏。
如图所⽰。
.png)1、定义信号量的含义与赋值定义⼀个是否允许向盘⼦中存放⽔果的信号量S,其初值为“1” ;定义两个信号量SP和SO分别表⽰盘⼦中是否有苹果或桔⼦的消息,初值均为“0” ,⼀个互斥信号量\[SP=表⽰盘⼦中有苹果;SO=表⽰盘⼦⾥⾯有桔⼦ \]2、写伪代码begin:S,SP,SO:semaphere; //设置信号量S:=1; SP:=0; SO:=0; //进⾏初始赋值Process 爸爸{BeginL1:准备⼀个苹果;wait(S); //申请空盘⼦的互斥信号量将苹果放⼊盘⼦中signal(SP); //盘⼦中有苹果,返回SPGoto L1; //调⽤L1⼥⼉取⾛盘⼦中的苹果end;}Process 妈妈{BeginL2:准备⼀个桔⼦;wait(S); //申请空盘⼦的互斥信号量将桔⼦放⼊盘⼦中signal(SO); //盘⼦中有桔⼦,返回SOGoto L2; //调⽤L2⼉⼦取⾛盘⼦中的桔⼦end;}Process ⼉⼦{beginL3:.wait(SO); //等待盘⼦中有桔⼦从盘⼦中拿⾛桔⼦signal(S); //拿⾛桔⼦后,盘⼦为空;由SO向S转变end;}Process ⼥⼉{beginL4:.wait(SP); //等待盘⼦中有苹果从盘⼦中拿⾛苹果signal(S); //拿⾛苹果后,盘⼦为空;由SP向S转变end;}end;2、共享打印机现有四个进程R1,R2,W1,W2,它们共享可以存放⼀个数的缓冲区。
操作系统名词解释
第一章引论1操作系统:操作系统是管理和控制计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
2管态:当执行操作系统程序时,处理机所处的状态3目态:当执行普通用户程序时,处理机所处的状态。
4多道程序设计:在这种设计技术下,内存中能同时存放多道程序,在管理程序的控制下交替的执行。
这些作业共享CPU和系统中的其他资源。
5并发:是指两个或多个活动在同一给定的时间间隔中进行。
它是宏观上的概念。
6并行:是指两个或多个活动在同一时刻同时执行的情况。
7吞吐量:在一段给定的时间内,计算机所能完成的总工作量。
8分时:就是对时间的共享。
在分时系统中,分时主要是指若干并发程序对CPU时间的共享。
9实时:表示“及时”或“既时”。
10系统调用:是用户在程序中能以“函数调用”形式调用的、由操作系统提供的子功能的集合。
每一个子功能称作一条系统调用命令。
它是操作系统对外的接口,是用户级程序取得操作系统服务的唯一途径。
11特权指令:指指令系统中这样一些指令,如启动设备指令、设置时钟指令、中断屏蔽指令和清内存指令,这些指令只能由操作系统使用。
12命令解释程序:其主要功能是接收用户输入的命令,然后予以解释并且执行。
13脱机I/O:是指输入/输出工作不受主机直接控制,而由卫星机专门负责完成I/O,主机专门完成快速计算任务,从而二者可以并行操作。
14联机I/O:是指作业的输入、调入内存及结果输出都在c pu直接控制下进行。
15资源共享:是指计算机系统中的资源被多个进程所功用。
例如,多个进程同时占用内存,从而对内存共享;它们并发执行时对cpu进行共享;各个进程在执行过程中提出对文件的读写请求,从而对磁盘进行共享等等。
进程调度
4.2 调度算法
4.2.2 调度算法
(4) 时间片轮转调度算法 ①算法 在早期的时间片轮转算法中,系统将所有的就绪进程按先 来先服务的原则,排成一个队列,每次调度时把CPU分配给 队首进程,并令其执行一个时间片,当时间片用完时,调度 程序终止当前进程的执行,并将它送到就绪队列的队尾。
4.2 调度算法
4.2 调度算法
4.2.2 调度算法
(3) 优先权调度算法 ①算法 当使用优先权调度算法进行作业调度时,系统将 从后备队列中选择若干个优先权最高的作业调入内存。 当使用优先权调度算法进行进程调度时,系统将CPU 分配给就绪队列中优先权最高的进程。
4.2 调度算法
4.2.2 调度算法
(3) 优先权调度算法 ②算法的类型 非抢占式(nonpreemptive)优先权算法。 进程一但得到处理机,则该进程便一直进行下去 直到完成或由于某事件放弃处理机。
T8=80ms L(a)=100-t8-10=100-80-10=10 L(b)=100-t8-25=100-80-(25-15)=10
4.6 多处理机调度
4.6.1 多处理机系统(MPS)的类型
(1)紧密耦合的多处理器系统和松弛耦合的多处理器系统 (2)对称多处理器系统和非对称多处理器系统
4.6 多处理机调度
最低松弛度优先
T5=45ms L(a)=60-t5-10=60-45-10=5 L(b)=100-t5-25=100-45-25=30 L(a)<L(b) 调度A进程执行10ms
T6=55ms L(a)=80-t6-10=80-55-10=15 L(b)=100-t6-25=100-55-25=20
4.2.1 选择调度方式和算法的若干准则
面向用户的准则 (1) 周转时间短 (2) 响应时间快 (3) 截止时间的保证
操作系统第4章答案(上)
赵盈盈 93 第四章作业上1. 解释名词:程序的顺序执行;程序的并发执行。
答:程序的顺序执行:一个具有独立功能的程序独占cpu直到得到最终结果的进程。
程序的并发执行:两个或两个以上程序在计算机系统中同时处于一开始执行且尚未结束的状态。
2. 什么是进程进程与程序的主要区别是什么答:进程:进程是具有独立功能的程序关于某个数据集合的一次运行活动,进程是系统进行资源分配和调度的独立单元。
进程和程序的区别:●程序是静态的,进程是动态的●进程有程序和数据两部分组成●进程具有生命周期,有诞生和消亡,是短暂的;而程序是相对长久的●进程能更真实的描述并发,而程序不行。
●一个进程可以对应多个程序。
一个程序可以对应多个进程●进程可以创建其他进程,程序不能3. 图1所示,设一誊抄程序,将f中记录序列正确誊抄到g中,这一程序由get、copy、put三个程序段组成,它们分别负责获得记录、复制记录、输出记录。
请指出这三个程序段对f中的m个记录进行处理时各种操作的先后次序,并画出誊抄此记录序列的先后次序图(假设f中有1,2,…,m个记录,s,t为设置在主存中的软件缓冲区,每次只能装一个记录)。
图1 改进后的誊抄过程答:4. 进程有哪几种基本状态试画出进程状态变迁图,并标明发生变迁的可能原因。
答:进程基本状态:运行、就绪、等待状态转换图:就绪到运行:调度程序选择一个新的进程运行 运行到就绪:运行进程用完了时间片或运行进程被中断,因为一个高优先级的进程处于就绪状态运行到等待:OS 尚未完成服务或对一资源的访问尚不能进行或初始化I/O 且必须等待结果 或等待某一进程提供输入(IPC )等待到就绪:当所有的事件发生时GCGPCP G… CP5. 什么是进程控制块它有什么作用答:PCB:为了便于系统控制和描述进程的活动过程,在操作系统核心中为进程定义的一个专门的数据结构。
作用:系统用PCB来控制和管理进程的调用,PCB也是系统感知进程存在的唯一标志6. n个并发进程共用一个公共变量Q,写出用信号灯的p、v操作实现n个进程互斥时的程序描述,并说明信号灯值的取值范围。
操作系统原理-第四章处理机调度知识点及习题
第四章处理机调度与死锁4.1 知识点汇总1、处理机调度级别⑴调度:选出待分派的作业或进程⑵处理机调度:分配处理机⑶三级调度:高级调度(作业调度)、中级调度(内存对换)、低级调度(进程调度)2、作业状态⑴作业状态分为四种:提交、后备、执行和完成。
⑵作业状态变迁图:图4-1 作业状态及变迁3、作业调度和调度的功能⑴. 作业调度的任务后备状态→执行状态执行状态→完成状态⑵作业调度的功能①记录系统中各个作业的情况②按照某种调度算法从后备作业队列中挑选作业③为选中的作业分配内存和外设等资源④为选中的作业建立相应的进程⑤作业结束后进行善后处理工作4、进程调度和调度的功能1). 进程调度:后备状态→执行状态2). 进程调度时机:任务完成后、等待资源时、运行到时了、发现重调标志3). 进程调度的功能:保存现场、挑选进程、恢复现场5、两级调度模型 作业调度和进程调度的区别6、评价调度算法的指标调度性能评价准则:CPU利用率、吞吐量、周转时间、就绪等待时间和响应时间(1)吞吐量:单位时间内CPU完成作业的数量(2)周转时间:1) 周转时间=完成时刻-提交时刻2) 平均周转时间=周转时间/n3) 带权周转时间=周转时间/实际运行时间4) 平均带权周转时间=带权周转时间/n7、作业与进程调度算法(1)先来先服务(FCFS)调度算法的实现思想:按作业(进程)到来的先后次序进行调度,即先来的先得到运行。
用于作业调度:从作业对列(按时间先后为序)中选择队头的一个或几个作业运行。
用于进程调度:从就绪队列中选择一个最先进入该队列的进程投入运行。
例如设有三个作业,编号为1,2,3。
各作业分别对应一个进程。
各作业依次到达,相差一个时间单位。
①图示出采用FCFS方式调度时这三个作业的执行顺序②算出各作业的周转时间和带权周转时间(2)时间片轮转(RR)调度算法的实现思想:系统把所有就绪进程按先进先出的原则排成一个队列。
新来的进程加到就绪队列末尾。
c4
操作系统讲义
作业调度(2)
3.
作业调度的性能衡量
1)
周转时间:
作业i的周转时间Ti为:Ti=Tei-Tsi 所有作业的平均周转时间为T=1/n
2)
Ti
i 1
n
带权周转时间:
带权周转时间是作业周转时间与作业执行时间之比: Wi=Ti/Tri 平均带权周转时间为: n W=1/n Wi
7
操作系统讲义
进程调度的时机
1.
2. 3. 4. 5.
6.
7.
正在执行的进程执行能够完毕。 执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠 状态。 执行中进程调用了P原语操作,从而因资源不足被阻塞; 或调用了V原语操作激活了等待资源的进程队列。 执行中进程提出I/O请求后被阻塞。 在分时系统中,执行进程的时间片已经用完。 在执行完系统调用,由系统程序返回用户进程时,可认 为系统进程执行完毕,从而可调度选择一新的用户进程 执行。 就绪队列中的某进程的优先级变得高于当前执行进程的 优先级,从而也将引发进程调度。
13
操作系统讲义
FCFS的特点
比较有利于长作业,而不利于短作业。 有利于CPU繁忙的作业,而不利于I/O 繁忙的作业。
14
操作系统讲义
短作业优先 (SJF, Shortest Job First)
算法思想:对预计执行时间短的作业(进程)优先分派处理 机。通常后来的短作业不抢先正在执行的作业。
23
操作系统讲义
多级反馈轮转算法 (Round Robin with Multiple Feedback)
多级反馈队列算法是时间片轮转算法和优先级算 法的综合和发展,
操作系统第四章课后题答案
第四章1.为什么说多级反馈队列调度算法能较好地满足各类用户的需要(来自百度):答案一:多级反馈队列调度算法能较好地满足各种类型用户的需要。
对终端型作业用户而言,由于他们所提交的大多属于交互型作业,作业通常比较短小,系统只要能使这些作业在第1级队列所规定的时间片内完成,便可使终端型作业用户感到满意;对于短批处理作业用户而言,他们的作业开始时像终端型作业一样,如果仅在第1级队列中执行一个时间片即可完成,便可以获得与终端型作业一样的响应时间,对于稍长的作业,通常也只需要在第2级队列和第3级队列中各执行一个时间片即可完成,其周转时间仍然较短;对于长批处理作业用户而言,它们的长作业将依次在第1,2,…,直到第n级队列中运行,然后再按时间片轮转方式运行,用户不必担心其作业长期得不到处理。
答案二:(惠州学院操作系统课后题)与答案一基本相似,可看做精简版。
答:(1)终端型作业用户提交的作业大多属于较小的交互型作业,系统只要使这些作业在第一队列规定的时间片内完成,终端作业用户就会感到满足。
(2)短批处理作业用户,开始时像终端型作业一样,如果在第一队列中执行一个时间片段即可完成,便可获得与终端作业一样的响应时间。
对于稍长作业,通常只需在第二和第三队列各执行一时间片即可完成,其周转时间仍然较短。
(3)长批处理作业,它将依次在第1 ,2 ,…,n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。
所以,多级反馈队列调度算法能满足多用户需求。
2.分别对以上两个进程集合,计算使用先来先服务(FCFS)、时间片轮转法(时间片q=1)、短进程优先(SPN)、最短剩余时间优先(SRT,时间片q=1)、响应比高者优先(HRRN)及多级反馈队列(MFQ,第1个队列的时间片为1,第i(i<1)个队列的时间片q=2(i-1))算法进行CPU调度,请给出各进程的完成时间、周转时间、带权周转时间,及所有进程的平均周转时间和平均带权周转时间。
operation_system_第四章
挂起阻塞队列
中级调度
事件 出现
阻塞队列
等待事件
15
4.2 设计调度算法的若干准则 一、面向用户的准则 1.周转时间短:是批处理系统中衡量性能的一 周转时间短: 周转时间短 个重要指标。主要有两个具体指标: 个重要指标。主要有两个具体指标: (1)作业周转时间:是指一个作业从提交开始到 作业周转时间: 作业周转时间 完成为止的这段时间间隔。 完成为止的这段时间间隔。它等于下列四个部分之 作业从外存后备队列上等待进入内存的时间; 和: ①作业从外存后备队列上等待进入内存的时间; 在就绪队列上等待获得处理机的时间; ②在就绪队列上等待获得处理机的时间; 上的执行时间; ③在CPU上的执行时间; 上的执行时间 等待I/O操作完成的时间 操作完成的时间。 ④等待 操作完成的时间。 (2)进程周转时间:是指一个进程从第一次进入 进程周转时间: 进程周转时间 就绪队列开始到进程运行完毕所经历的时间。 就绪队列开始到进程运行完毕所经历的时间。它等 于作业周转时间中的后三部分之和。 于作业周转时间中的后三部分之和。 16
6
1.非抢占方式: 非抢占方式: 非抢占方式 这种调度方式的优点是 简单、系统开销小, 这种调度方式的优点是:简单、系统开销小, 优点 貌似公正。 貌似公正。 这种调度方式的缺点是 这种调度方式的缺点是:可能导致系统性能的 缺点 恶化。表现为: 恶化。表现为: (1)一个紧急任务到达时,不能立即投入运行, 一个紧急任务到达时,不能立即投入运行, 一个紧急任务到达时 以致延误时机; 以致延误时机; (2)若干个后到的短作业,须等待长作业运行完 若干个后到的短作业, 若干个后到的短作业 毕才能运行,致使短作业的周转时间增长。 毕才能运行,致使短作业的周转时间增长。这对短 作业用户来说是不公平的。 作业用户来说是不公平的。
os4-计算机操作系统原理分析(第三版)-丁善镜-清华大学出版社
进程调度方式实现进程之间的轮流交替的一个方面。
4.进程调度算法 ➢ 先来先服务算法(FCFS) ➢ 时间片轮转算法(RR)
RR算法需要设计一个定时器,定时器的值为0时将产生一个中断。系统 用分配给进程的时间片设置定时器的初值,之后进程开始执行。进程运 行过程有三种可能情况:
同时到达。已知它们都是纯计算性的简单任务,运行时需要占用处理器时间分别 是10、3、2和5。把到达时间(提交时间)设为0。
TA=10,TB=13,TC=15,TA=20,TB=3,TC=5,
TD=20;
TD=10;
T=( TA+ TB+ TC+ TD)/4 T=( TA+ TB+ TC+TD)/4
• 一个作业的响应比R是
作业等待时间 作业大小
其中,作业等待时间 = 系统当前时间 - 作业提交时刻
• HRN思想 • HRN特点
• 综合了先来先服务算法(FCFS)和短作业优先算法(SJF) • 响应比R与作业的大小成反比,体现SJF算法 • 响应比R与作业的等待时间成正比,体现FCFS算法
4.作业调度算法例子
例4-3:假定某分时系统有3个同时依次到达的进程A、B和C,它们的任务如下:
进程A: 2ms CPU 10ms I/O 2ms CPU
进程B: 9ms CPU 5ms I/O 2ms CPU
进程C: 8ms CPU
在采用简单RR算法,时间片为3ms时,请画出RR算法的调度图。
➢ 响应时间
简单RR算法,假设就绪队列中的进程数为n,时间片为T,那么,响 应时间R,则
9:00
0.8
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长程调度
就绪队列 长程调度 处理机 后备队列 短程调度 就绪/挂起队列
交互用户
进程调度算法---先来先服务(FCFS)
• 该方法按照到达的先后顺序排队, 每次调 度队首的进程 • FCFS算法属于非剥夺调度方式, 实现简单 , 看似公平 • 但,对于那些后进入队列而运行时间较短 的进程,或I/O型的进程而言,可能需要长 时间等待
响应比高者优先
• 同短进程优先和剩余时间最短者优先调度 算法一样,很难准确估计进程的预期执行 时间 • 每次调度之前都需要计算响应比,增加了 系统开销
反馈调度方法
• 前面介绍的几种调度方法都存在各自不同的问题 ,尤其是短进程优先,剩余时间最短者优先 以及 响应比高者优先调度算法,都需要估计进程的预 期执行时间,如果估计不准确,将影响调度结果 和系统性能 • 如果根据进程执行历史,而非未来,进行调度, 将解决这个问题 • 就是一种根据进程执行历史调整调度方法的调度 方法,它结合了优先级和时间片轮转调度思想.
基于优先级的调度算法
• 基于时间片轮转调度算法循环式的为每个 被调度的进程分配一个时间片,对每个进程 都是公平的 • 然而,实际应用中,进程的性质可能是不同 的,例如,一个与用户进程小户的前台进程急 迫的需要对用户的输入作出响应,而一个后 台打印机进程的迫切性也许就不那么重要 • 因此可以为每个进程定义一个优先级,优先 级越高的进程将优先获得处理机的调度
调度目标
• 满足用户的要求:
– 响应时间,周转时间,截止直接
• 满足系统的需求:
– 系统吞吐量,处理机利用率,各类资源的平衡 使用,公平性及优先级
面向用户的原则:响应时间
• 是指,从用户通过键盘提交一个请求开始 ,直到系统首次产生响应时间为止的时间 • 调度算法则应考虑尽可能使绝大多数请求 能在响应时间内完成 • 常用于评价分时系统的性能
时间片的设置
• 进程切换将会增加系统的额外开销 • 时间片改变的太短,进程切换会非常频繁,从 而降低处理机的效率,时间片太长,将会无法 满足交互式用户对响应时间的要求 • 因此时间片大小的确定应综合考虑系统的 最大用户数,响应时间,系统效率等多种因素
时间片轮转调度算法
• 采用基于 时间片轮转调度算法,上例的4个 进程,并分别按照两种时间片大小轮转调度 (1个单位时间和4个单位时间)分析该算法 性能 • 首先按照先后顺序组织就绪队列 P1P2P3P4,从对首开始调度,先调度P1,执 行一个时间片,强行中断调度P2,P1回到队 尾….
• 常用于分时系统及事务处理系统,合理的时间 片 大小将会带来满意的响应时间 • 通常合理的时间片指,能让80%左右的进程在 一个时间片内完成 • 对于短的,计算型进程比较有利 • 不适合于批处理系统的进程调度 • 不利于I/O的进程 • 改进的方法之一,可以将I/O阻塞事件完成的进 程单独组织一个就绪队列,该队列进程的时间 片可以设置的小一些,且优先调度
响应比高者优先
• 将进程的等待时间和进程的预期执行时间 纳入优先级计算,进程预期执行时间越长,优 先级越低,而随着进程的等待时间增长,优先 级上升,随进程的优先级与等待时间成反比, 与进程执行时间成反比,令W 表示等待时间 ,S表示预期执行时间, 则响应比:
响应比高者优先
• 调度方法:若当前执行进程完毕,或需要阻塞 等待某事情而释放处理机,调度程序选择就 绪队列中响应比最大的进程执行 • 若等待时间相同, 短进程因为S 较小,R较大 而优先调度,若进程的预期执行时间相同,则 等待时间长的进程优先调度,相当于FCFS • 随着等待时间的增加,长进程的响应比不断 增大,在某个时刻, 必然被调用
进程调度算法---先来先服务(FCFS)
• 对短进程不公平 • 由于长进程可能排在队列前面,必将增加队列后 边进程的等待时间,从而将增加平均周转时间 • 不利于I/O型进程, 未有效利用系统资源 • 一般的,FCFS与其他调度算法混合使用,例如, 系统可以按照不同的优先级组成多个就绪队列, 每个队列内部按照FCFS算法调度 • FCFS算法同时适合于长程,中程和短程调度三种 调度类型。
• 与短进程优先调度算法一样, 该算法很难准 确估计进程的剩余执行时间 • 由于长进程在未执行时,或刚开始执行的一段 时间内,其剩余执行时间都不会太短,所以该 算法对长进程不公平 • 但是, 它不象FCFS算法偏袒长进程,也不象 轮转算法会产生很多中断而增加系统负担 • 由于短进程提前完成,故采用剩余时间最短者 优先的调度算法获得的平均周转时间比采用短 进程优先算法短
操作系统
教师:孙晓娜 邮箱:nataliesun@
第四章
调度
§4.1 进程调度
• 什么是调度? • 调度就是指在一个队列中, 按照某种方法 (算法),选择一个合适的个体的过程 • 调度的关键是需要某种方法或算法,好的 调度算法有利于选择到合适的个体 • 如何判断,设计一个好的调度算法呢?
进程或某个具 有较高优先权的被阻塞进程插入就绪队列 时,或者基于时间片调度的系统中,时间 片用完而中断当前进程的执行,调度新的 进程执行 • 这种方式会产生较多的中断,主要用于实 时性要求较高的实时系统及性能要求较高 的批处理系统和分时系统
调度的类型
时间片轮转调度算法
• 为了简单,图中忽略了进程切换的系统开销 ,而实际操作系统中, 这类额外开销是客 观存在的 • 可见,采用基于时间片 轮转调度算法,进程 的周转时间和平均周转时间并不比采用 FCFS和短进程优先调度小 • 加上进程切换所需的系统开销时间,该算法 的平均周转时间还会增加
时间片轮转调度算法
主机
终端1服务进程
终端2服务进程
。。。
终端n服务进程
基于时间片轮转调度 终端1 终端2 。。。 终端n
时间片轮转调度算法
• 在分时联机系统中,各个进程循环的获得时间 片而执行, 从系统中来看他们上交替的进行 的, 但是就每个终端用户而言, 都感觉到自 己独立的占有了一台主机, 不受其他用户的影 响,这是通过进程并发执行实现 • 如果用户数太多, 主机处理的进程将会急剧 增加, 进程排队等待的时间也会很长,进程 的响应时间也可能增长,用户将明显感觉到主 机的速度变慢而不满意 • 另外时间片大小也回影响进程的响应时间
动态优先级
• 典型的动态优先级变化方式:
– 优先级随着进程允许的剩余时间的减少而上升,使 将要执行结束的进程尽快完成 – 或随着进程排队等待时间的增长而上升,使等待时 , 间越长的进程优先级得到调度,不至于长时间饥饿 具体实现方法,可以在每个时钟中断时,或需要进行切 换时,重新计算就绪队列中个进程的优先级,并优先 调度高优先级的进程 采用动态优先级的两种调度算法:剩余时间最短者优 先和响应时间比高优先
短进程优先
• 当需要调度进程(或作业)时,通过计算 判断就绪进程队列中哪一个进程的预期执 行时间最短,或后备队列中哪一个或几个 作业的预期执行时间最短,就调度谁
时间片轮转调度算法
• 例如:在一个分时联机系统中, 同时有几个人通过各自的终端共享一 台主机(服务器),终端完成输入/输出操作,主机负责处理从终端发来的 请求,为之建立进程, 协调各进程的运行,调度各个进程等,并尽量满足 每个终端用户对响应时间的要求
• 输入的请求传送到处理机的时间 +处理机对请求信息进行处理的时间 +将响应结果发送到输出终端的时 间 响应时间
面向用户的原则:周转时间
• 是指从作业提交给系统开始,到作业完成 为止的这段时间间隔 • 常用于评价批处理系统的性能
作业中外存排队等待调度的时间 +进程中就绪队列中等待调度的时间 +进程被处理机执行的时间 +等待I/O操作的完成的时间 周转时间
剩余时间最短者优先(调度算法)
• 为了使将要结束的进程进早结束,释放系统 资源,让别的进程执行,可以在每个时钟中断 时,根据就绪队列中个进程的剩余执行时间 动态调整其优先级,剩余时间最短的进程优 先级最高 • 显然,该算法是剥夺型的优先调度算法,调度 程序总是选择剩余执行时间最短的进程调 度执行
剩余时间最短者优先
影响周转时间的调度
• 作业从外存调度到内存(作业调度) • 进入内存还需要就绪队列中排队,等待进 程调度(进程调度) • 甚至,可能会挂起进程, 在外存等待被激 活
面向用户的原则:截止时间
• 指实时系统中, 某任务必须开始执行的最 迟时间,或必须完成的最迟时间 • 常用于评价实时系统的性能
进程调度方式
反馈调度法
• 该方法有利于交互式短进程或短批处理作 业, 因为他们一般只需要一个或很少的几 个时间片即可完成 • 但可能使长进程的周转时间急剧增加 • 如果不断地有新进程到来,还可能出现长 进程长期饥饿现象 • 为此,可以各队列设置不同的时间片,优 先级越低时间片越长
进程调度算法小结
• 如何选择进程调度算法,与系统设计的目 标有关 • 交互式多任务系统,主要考虑联机用户对 响应时间的要求,一般采用基于时间片轮 转调度算法,同时,根据进程的性质改置 不同的优先级 • 批处理系统往往以作业的平均周转时间来 衡量调度性能,常采用基于优先级的短进 程(或作业)优先调度算法。
• 根据执行进程的处理机是进程自己释放还 是强行剥夺,可以将进程调度方式分为:
非剥度方式 剥度方式
进程调度方式:非剥夺方式
• 执行进程只存在执行完毕,或因申请I/O阻 塞自己是, 才中断其执行,释放处理机, 调度新的进程执行 • 这种方式不利于“即时性”要求较高的分 时和实时系统, 主要用于批处理系统