进程调度作业参考答案复习过程
进程调度算法模拟带答案版.pptx
int i=0,j; int number_schedul,temp_counter; /*正在被调度执行的进程编号和已经调度完成的进程个数*/ float run_time; /*借助该局部变量可以帮助找到执行时间 run_time 最短进程*/ run_time=tasks[i].run_time; j=1; /*从到达时间最早且相同的进程中查找第一个被调度的进程*/ while ((j<counter)&&(tasks[i].come_time==tasks[j].come_time))
调用 短作 业(进 程)调 度程
序
调用 响应 比高 者优 先调 度程 序
输出调度结果
2.数据输入算法
输入进程或作业个数 对每一个进程或作业
输入进程或作业名
输入进程或作业号 输入进程或作业到达时间 输入进程或作业运行时间 输入进程或作业优先级
3.数据输出算法
学海无 涯
对每个作业执行
输出进程(或作业)号、 进程(或作业)名、 到达时间、 开始运行时间、 运行结束时间、 优先级、 运行次序、 周转时间、 带权周转时间 计算并输出平均周转时间、带权周 转时间
{ max_priority=tasks[j].priority; i=j; } j++; } /*对第一个被调度的进程求相应的参数*/ number_schedul=i; tasks[number_schedul].run_begin_time=tasks[number_schedul].come_time; tasks[number_schedul].run_end_time=tasks[number_schedul].run_begin_time+tasks[number_schedul].r un_time; tasks[number_schedul].run_flag=1; temp_time=tasks[number_schedul].run_end_time; tasks[number_schedul].order=1; temp_counter=1;
第四章进程调度与死锁习题及答案
第四章一.选择题1.预防死锁不可以去掉以下__A__条件。
A.互斥 B.请求与保持 C.不可剥夺 D.环路2.资源分配图是否可以完全简化是判断死锁的_C__。
A.充分条件 B.必要条件 C.充分必要条件 D.什么也不是3.设有4个作业同时到达,每个作业的执行时间是2min,它们在一台处理机上按单道方式运行,则平均周转时间为_B__。
A.1min B.5min C.2.5min D.8min4.若系统中有8台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许_C__各进程参与竞争,而不会发生死锁。
A.5 B .6 C .7 D .85.响应比高者优先作业调度算法除了考虑进程在CPU上的运行时间,还考虑以下__D_因素。
A.输入时间B.完成时间C.周转时间D.等待时间6.产生系统死锁的原因可能是_B__。
A.一个进程进入死循环B.多个进程竞争资源出现了循环等待C.进程释放资源D.多个进程竞争共享型设备7.以下_B__方法可以解除死锁。
A.挂起进程B.剥夺资源C.提高进程优先级D.降低进程优先级8.采用有序分配资源的策略可以破坏产生死锁的__D_。
A.互斥条件B.请求与保持条件C.不可剥夺条件D.环路条件9.连个进程争夺同一个资源_B__。
A.一定死锁B.不一定死锁C.不死锁D.以上说法都不对10.以下解决死锁的方法中,属于预防策略的是_C__。
A.化简资源分配图B.银行家算法C.资源的有序分配D.死锁检测法11.下面__D_说法是对可剥夺系统的正确描述。
A.时间片轮转法是一种可剥夺式调度B.进程因等待某一事件而引起系统调度是一种可剥夺式调度C.实时系统采用可剥夺式调度D.优先级低的进程放弃CPU,让优先级高的进程运行12.以下关于调度的说法__A__正确。
A.进程通过调度得到CPUB.优先级是进程调度的主要依据,一旦确定就不能改变C.在单CPU的系统中,任何时刻都有一个进程处于运行状态D.进程申请CPU得不到时,其状态为阻塞13.既考虑进程的等待时间,又考虑进程的执行时间的调度算法是__A__。
操作系统进程调度练习及答案
1 假设一个系统中有5个进程,它们的到达时间和服务时间如下表所示,忽略I/O以及其他开销,若分别按先来先服务(FCFS)、非抢占式及抢占式的短进程优先(SPF)、高响应比优先、时间片轮转、多级反馈队列和立即抢占式多级反馈队列七种调度算法,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。
答:
2 在银行家算法中,若出现下列资源分配情况:
请问:
(1)此状态是否安全?
(2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?
答:(1)安全,因为存在安全序列{P0,P3,P4,P1,P2}(2)系统能分配资源,分析如下。
① Request(1,2,2,2) <= Need2(2,3,5,6);
② Request(1,2,2,2) <= Available2(1,3,5,4)改成
Available2(1,6,2,2);
③系统先假定可为P2分配资源,并修改Available2,Allocation2和Need2向量,
由此形成的资源变化情况如下图所示:
④再利用安全性算法检查此时系统是否安全。
如下图
由此进行的安全性检查得知,可以找到一个安全序列{P2,P0,P1,P3,P4}。
操作系统进程调度练习及答案
1 假设一个系统中有5个进程,它们的到达时间和服务时间如下表所示,忽略I/O以及其他开销,若分别按先来先服务(FCFS)、非抢占式及抢占式的短进程优先(SPF)、高响应比优先、时间片轮转、多级反馈队列和立即抢占式多级反馈队列七种调度算法,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。
答:
2 在银行家算法中,若出现下列资源分配情况:
请问:
(1)此状态是否安全?
(2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?
答:(1)安全,因为存在安全序列{P0,P3,P4,P1,P2} (2)系统能分配资源,分析如下。
① Request(1,2,2,2) <= Need2(2,3,5,6);
② Request(1,2,2,2) <= Available2(1,3,5,4)改成
Available2(1,6,2,2);
③系统先假定可为P2分配资源,并修改Available2,Allocation2和Need2向量,
由此形成的资源变化情况如下图所示:
④再利用安全性算法检查此时系统是否安全。
如下图
由此进行的安全性检查得知,可以找到一个安全序列{P2,P0,P1,P3,P4}。
操作系统进程调度复习题
操作系统进程调度复习题操作系统进程调度复习题操作系统是计算机系统中的核心组成部分,负责管理计算机的硬件和软件资源。
进程调度是操作系统的一个重要功能,它决定了各个进程在CPU上的执行顺序。
本文将通过一些复习题来回顾和巩固关于操作系统进程调度的知识。
1. 什么是进程调度?进程调度是操作系统根据一定的算法和策略,决定哪个进程优先获得CPU的使用权,以及在何时将CPU的使用权从一个进程转移到另一个进程。
2. 进程调度的目标是什么?进程调度的目标包括提高系统的吞吐量、缩短进程的响应时间、提高系统的公平性和资源利用率等。
3. 请简要介绍一下常见的进程调度算法。
常见的进程调度算法包括先来先服务(FCFS)、最短作业优先(SJF)、优先级调度、轮转调度和多级反馈队列调度等。
FCFS是按照进程到达的顺序进行调度,SJF是根据进程执行时间的长短进行调度,优先级调度是根据进程的优先级进行调度,轮转调度是按照时间片的大小进行调度,而多级反馈队列调度则是将进程按照优先级分成多个队列,并根据优先级和时间片大小进行调度。
4. 什么是上下文切换?上下文切换是指在进程调度过程中,保存当前进程的上下文信息,并加载下一个进程的上下文信息的过程。
上下文切换会导致一定的开销,因此需要尽量减少上下文切换的次数。
5. 进程调度算法的选择有哪些因素?进程调度算法的选择受到多个因素的影响,包括系统的性能要求、进程的特性、用户的需求、调度算法的复杂度和实现难度等。
6. 什么是抢占式调度和非抢占式调度?抢占式调度是指操作系统可以在一个进程执行过程中,强制将CPU的使用权从当前进程转移到其他进程。
而非抢占式调度则是指一个进程获得CPU的使用权后,直到主动释放CPU或发生阻塞等情况才会将CPU的使用权转移到其他进程。
7. 请简要介绍实时调度算法。
实时调度算法是针对实时系统设计的一种调度算法。
实时系统要求任务在规定的时间内完成,因此实时调度算法需要保证任务的截止时间得到满足。
作业2-进程调度-答案
作业二进程调度1、1)画出这些作业采用FCFS(先来先服务)、HRRF(高响应比优先调度算法)的执行时间图。
2)计算每个作业的周转时间和带权周转时间。
3)计算平均周转时间和平均带权周转时间。
2、进程调度采用SPF(短进程优先调度算法)和抢占式高优先级优先调度算法(优先数越2)列出所有进程开始运行时间和运行结束时间。
3)计算各进程执行时的周转时间。
3、有一个具有两道作业的批处理系统,作业调度采用高响应比优先调度算法,进程调度采用以优先数为基础的抢占式调度算法。
在下表所示的作业序列,作业优先数即为进程优先数,且优先数越小优先级越高。
1)画出执行时间图2)计算各作业进入内存时间和结束时间3)计算各作业的周转时间。
1 解:(1)0 2 12 18 210 2 12 15 21 RR(J2)=1+7/6=2.17RR(J3)=1+5/3=2.67(2)(3)FSFC2.解:SPF:1) A B D C 10:00 10:40 10:50 11:10 12:00 23)进程周转时间:A进程40 minB进程30 minC进程90 minD进程20 minHPF(抢占式):1)A B C D C A10:00 10:20 10:30 10:50 11:10 11:40 12:00 23)各进程周转时间:A进程120 minB进程10 minC进程70 minD进程20 min3.解进入内存时间结束时间周转时间A 10:00 12:00 120分钟B 10:20 10:50 30分钟C 10:50 11:40 70分钟D 11:40 12:20 90分钟。
调度算法考研题库及答案
调度算法考研题库及答案调度算法是操作系统中一个重要的概念,它决定了多任务环境下任务执行的顺序。
以下是一些调度算法的考研题目及其答案:1. 题目一:请简述什么是进程调度算法,并列举至少三种常见的进程调度算法。
答案:进程调度算法是操作系统用于决定哪个进程获得CPU资源的策略。
常见的进程调度算法包括:- 先来先服务(FCFS)调度算法:按照任务到达的顺序进行调度。
- 短作业优先(SJF)调度算法:优先调度预计执行时间较短的任务。
- 轮转(RR)调度算法:将CPU时间分配给所有任务,每个任务轮流执行固定的时间片。
2. 题目二:描述什么是死锁,并解释银行家算法是如何预防死锁的。
答案:死锁是指在多任务环境中,两个或多个进程在执行过程中因争夺资源而造成的一种僵局,此时这些进程无法继续执行。
银行家算法是一种预防死锁的算法,它通过分配资源前检查是否存在安全序列来决定是否分配资源,从而避免死锁的发生。
3. 题目三:解释什么是时间片轮转调度算法,并说明其优缺点。
答案:时间片轮转调度算法是一种CPU调度算法,它将CPU时间分割成固定长度的时间片,并轮流分配给就绪队列中的每个进程。
每个进程在获得CPU后只能执行一个时间片,时间片用完后,CPU将被分配给下一个进程。
优点包括简单易实现和响应时间可预测。
缺点是不适合I/O密集型任务,因为它们可能在时间片结束前不需要CPU。
4. 题目四:什么是优先级调度算法?请解释其工作原理。
答案:优先级调度算法是一种基于优先级的调度策略,每个进程都被赋予一个优先级值。
调度器总是选择最高优先级的进程来执行。
如果两个进程具有相同的优先级,它们将按照先来先服务的原则被调度。
这种算法适用于实时系统,可以确保高优先级的进程得到及时处理。
5. 题目五:描述什么是多级反馈队列调度算法,并简述其特点。
答案:多级反馈队列调度算法是一种动态的调度算法,它使用多个队列来管理进程,每个队列具有不同的优先级。
新创建的进程首先被放入低优先级的队列中。
操作系统作业题及答案
操作系统作业题及答案操作系统作业题及答案作业⼀:作业管理1、有三道程序A、B、C在⼀个系统中运⾏,该系统有输⼊、输出设备各1台。
三道程序A、B、C构成如下:A:输⼊32秒,计算8秒,输出5秒B:输⼊21秒,计算14秒,输出35秒C:输⼊12秒,计算32秒,输出15秒问:(1)三道程序顺序执⾏的总时间是多少?(2)充分发挥各设备的效能,并⾏执⾏上述三道程序,最短需多少时间(不计系统开销)?并给出相应的⽰意图。
2、假设⼀个单CPU系统,以单道⽅式处理⼀个作业流,作业流中有2道作业,共占⽤CPU 计算时间、输⼊卡⽚数和打印输出⾏数如下:作业号占⽤CPU计算时间输⼊卡⽚张数打印输出⾏数1 3分钟100张2000⾏2 2分钟200张600⾏其中,卡⽚输⼊机速度为1000张/分钟,打印机输出速度为1000⾏/分钟,试计算:(1)不采⽤spooling技术,计算这两道作业的总运⾏时间(从第1道作业输⼊开始到最后⼀个作业输出完毕)。
(2)如采⽤spooling技术,计算这2道作业的总运⾏时间(不计读/写盘时间),并给出相应的⽰意图。
作业⼆:进程管理1、请写出两程序S1和S2可并发执⾏的Bernstein 条件。
2、有以下5条语句,请画出这5条语句的前趋图。
S1:y=x+1 R(x) W(y)S2:c=f-w R(f,w) W(c)S3:d=r-y R(r,y) W(d)S4:x=a+b R(a,b) W(x)S5:r=c+y R(c,y) W(r)3、设在教材第62页3.6.4节中所描述的⽣产者消费者问题中,其缓冲部分为m 个长度相等的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度以及⽣产者和消费者可对缓冲区同时操作。
重新描述发送过程deposit(data)和接收过程remove(data)。
12nP P P i P n (12i)C k ...........有界缓冲区m4、设有k 个进程共享⼀临界区,对于下述情况,请说明信号量的初值、含义,并⽤P ,V操作写出有关互斥算法。
操作系统原理与应用(第2版)清大版第3章习题参考答案
1、高级调度也叫作业调度(或宏观调度),是将已进入系统并处于后备状态的作业按某种算法选择一个或一批,为其建立进程,让其进入主机。
中级调度负责进程在内存和辅存对换区之间的对换。
低级调度也叫进程调度(或微观调度),我们所说的CPU调度,主要就是指的这一级调度。
2、(1)不一定。
(2)可能。
(3)不一定。
3、CPU调度使得多个进程能有条不紊地共享一个CPU。
而且,由于调度的速度很快,使每个用户产生一个错觉,就好象他们每人都有一个专用CPU。
这就把“物理上的一个变成了逻辑上的多个”——为每个用户提供了一个虚拟处理机。
功能:保留原运行进程的现场信息;分配CPU;为新选中进程恢复现场。
4、(1)FCFS:P1---P2---P3---P4---P5SBF:P2---P4---P3----P5----P1非剥夺优先级:P4---P1---P3---P5---P2(2)FCFS:(10+11+13+14+19)/5=13.4SBF:(1+2+4+9+19)/5=7非剥夺优先级:(1+11+13+18+19)/5=12.45、剥夺方式是在现运行进程正在执行的CPU周期尚未结束之前,系统有权按某种原则剥夺它的CPU并把CPU分给另一进程。
剥夺CPU的原则有很多,视不同的调度算法而异。
其中最主要的是优先权原则和时间片原则。
在优先权原则下,只要在就绪队列中出现了比现运行进程优先权更高的进程,便立即剥夺现行进程的CPU并分给优先权最高的进程。
时间片原则是,当时间片到时后,便立即重新进行CPU调度。
非剥夺方式是,一旦CPU分给某进程的一个CPU周期,除非该周期到期并主动放弃,否则系统不得以任何方式剥夺现行进程的CPU。
6、引起进程调度的原因:a.进程自动放弃CPUi)进程运行结束ii)执行P、V操作等原语将自己封锁iii)进程提出I/O请求而等待完成b.CPU被抢占i)时间片用完ii)有更高优先级进程进入就绪状态7、不相同。
国开(内蒙古)02152-操作系统-形考作业2参考答案
国开(内蒙古)02152-操作系统-形考作业2参考答案说明:如果课程题目是随机的,请按CTRL+F在题库中逐一搜索每一道题的答案特殊说明请仔细:课程的题目每学期都可能更换,所以请仔细核对是不是您需要的题目再下载!!!!题目1:9.在操作系统中,作业处于()状态时,已处于进程的管理之下。
: 阻塞; 后备; 完成; 执行参考答案:执行题目2:10.作业一旦进入内存即为执行状态,与之相关的进程在作业进入内存时予以创建,该进程的初始状态为()。
: 就绪态; 运行态; 提交态; 阻塞态参考答案:就绪态题目3:15.现有3个作业同时到达,每个作业的计算时间都是1小时,它们在一台CPU 上按单道方式运行,则平均周转时间为()小时。
: 2; 1; 6; 3参考答案:2题目4:14.设某作业进入输入井的时间为S,开始运行的时间为R,得到计算结果的时间为E,则该作业的周转时间T为()。
: T=E-R; T=(S+R)+ E; T=E-S; T=E-(S+R)参考答案:T=E-S题目5:11.进程调度是根据一定的调度算法,从()队列中挑选出合适的进程。
: 就绪; 等待; 运行; 阻塞参考答案:就绪题目6:3.作业生存期共经历四个状态,它们是提交、后备、()和完成。
: 等待; 执行; 就绪参考答案:执行题目7:18. 在分页系统环境下,程序员编制的程序,其地址空间是连续的,分页是由()完成的。
: 编译地址; 程序员; 系统; 用户参考答案:系统题目8:12. 固定分区中各分区的大小是()。
: 相同或者不同,但预先固定; 相同的; 随进程个数而定; 根据进程要求确定参考答案:相同或者不同,但预先固定题目9:1. 通常,用户编写的程序中所使用的地址是()。
: 内存地址; 绝对地址; 逻辑地址; 物理地址参考答案:逻辑地址题目10:16. 最容易形成很多小碎片的可变分区算法是()。
: 以上都不是; 位示图法; 最佳适应算法; 最先适应算法参考答案:最佳适应算法题目11:22. 虚拟存储技术是()。
第6章进程调度(含答案)
第6章 进程调度练习题一、 单项选择题1、在分时操作系统中,进程调度经常采用(C )算法。
A 先来先服务 B 最高优先权 C 时间片轮转 D 随机2、 (B )优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变A 先来先服务B 静态C 动态D 短作业3、 以优先级为基础的进程调度算法可以保证在任何时候正在运行的进程总是非等待状态下诸进程中优先级最高的进程。
上述描述是( B )A 正确的B 错误的二、填空题1、 进程调度方式通常有(非抢占式)和(抢占式)。
2、 所谓进程调度就是从处于(就绪)状态的一些进程中按某种算法选择一个进程,使其占有CPU ,使其该进程处于(执行)状态。
3、 进程调度算法采用时间片轮转法,时间片过大,就会使轮转法转化为(FCFS )调度算法。
4、 进程调度负责(处理机)的分配工作。
5、 一种最常用的进程调度算法是把处理机分配给具有最高优先权的进程,而确定优先权的方法概括起来不外乎是基于(静态)特性和(动态)特性两种方法。
前者所得到的是(静态)优先权,后者所得到的是(动态)优先权。
6、 在(先来先服务)调度算法中,按照进程进入就绪队列的先后次序来分配处理机。
三、概念的区别与联系1、 作业调度与进程调度(1998西北大学考研试题)2、 静态优先数与动态优先数。
(1998西北大学考研试题) 四、解析题1、 假设有一台计算机,它有1M 内存,操作系统占有用200K ,每个用户进程也占用200K ,用户进程等待I/O 的时间为80%,若增加1M 内存,则CPU 的利用率将提高多少?解:1M 内存的情况:1)支持用户进程数:(1024K-200K )/200K=4.12 所以4个用户进程。
2)CPU 利用率: 先求CPU 空闲(4个用户均处于等待I/O 状态)概率P=(80%)4,然后再求CPU 利用率1-P1-P =1-(80%)4 = 1-0.84=59%增加1M 内存的情况:1)支持用户进程数:(2*1024K-200K )/200K=9.24 所以9个用户进程。
第6章进程调度(含答案)
第6章 进程调度练习题一、 单项选择题1、在分时操作系统中,进程调度经常采用(C )算法。
A 先来先服务 B 最高优先权 C 时间片轮转 D 随机2、 (B )优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变A 先来先服务B 静态C 动态D 短作业3、 以优先级为基础的进程调度算法可以保证在任何时候正在运行的进程总是非等待状态下诸进程中优先级最高的进程。
上述描述是( B )A 正确的B 错误的二、填空题1、 进程调度方式通常有(非抢占式)和(抢占式)。
2、 所谓进程调度就是从处于(就绪)状态的一些进程中按某种算法选择一个进程,使其占有CPU ,使其该进程处于(执行)状态。
3、 进程调度算法采用时间片轮转法,时间片过大,就会使轮转法转化为(FCFS )调度算法。
4、 进程调度负责(处理机)的分配工作。
5、 一种最常用的进程调度算法是把处理机分配给具有最高优先权的进程,而确定优先权的方法概括起来不外乎是基于(静态)特性和(动态)特性两种方法。
前者所得到的是(静态)优先权,后者所得到的是(动态)优先权。
6、 在(先来先服务)调度算法中,按照进程进入就绪队列的先后次序来分配处理机。
三、概念的区别与联系1、 作业调度与进程调度(1998西北大学考研试题)2、 静态优先数与动态优先数。
(1998西北大学考研试题) 四、解析题1、 假设有一台计算机,它有1M 内存,操作系统占有用200K ,每个用户进程也占用200K ,用户进程等待I/O 的时间为80%,若增加1M 内存,则CPU 的利用率将提高多少?解:1M 内存的情况:1)支持用户进程数:(1024K-200K )/200K=4.12 所以4个用户进程。
2)CPU 利用率: 先求CPU 空闲(4个用户均处于等待I/O 状态)概率P=(80%)4,然后再求CPU 利用率1-P1-P =1-(80%)4 = 1-0.84=59%增加1M 内存的情况:1)支持用户进程数:(2*1024K-200K )/200K=9.24 所以9个用户进程。
操作系统部分习题参考答案(孙钟秀版)
操作系统部分习题参考答案(孙钟秀版)操作系统部分习题参考答案第⼀章2. ⼀个计算机系统,有⼀台输⼊机和⼀台打印机,现有两道程序投⼊运⾏,且程序A先开始做,程序B后开始运⾏。
程序A的运⾏轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。
程序B的运⾏轨迹为:计算50ms、输⼊80ms、再计算100ms,结束。
试说明(1)两道程序运⾏时,CPU有⽆空闲等待?若有,在哪段时间内等待?为什么会等待?(2)程序A、B有⽆等待CPU的情况?若有,指出发⽣等待的时刻。
答:画出两道程序并发执⾏图如下:(1) 两道程序运⾏期间,CPU存在空闲等待,时间为100⾄150ms之间(见图中有⾊部分)。
(2) 程序A⽆等待现象,但程序B有等待。
程序B有等待时间段为180ms⾄200ms间(见图中有⾊部分)。
5. 在单CPU和两台I/O(I1,I2)设备的多道程序设计环境下,同时投⼊三个作业运⾏。
它们的执⾏轨迹如下:Job1:I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms)Job2:I1(20ms)、CPU(20ms)、I2(40ms)Job3:CPU(30ms)、I1(20ms)如果CPU、I1和I2都能并⾏⼯作,优先级从⾼到低为Job1、Job2和Job3,优先级⾼的作业可以抢占优先级低的作业的CPU。
试求:(1)每个作业从投⼊到完成分别所需的时间。
(2) 从作业的投⼊到完成CPU的利⽤率。
(3)I/O设备利⽤率。
答:画出三个作业并⾏⼯作图如下(图中着⾊部分为作业等待时间):(1) Job1从投⼊到运⾏完成需80ms,Job2从投⼊到运⾏完成需90ms,Job3从投⼊到运⾏完成需90ms。
(2) CPU空闲时间段为:60ms⾄70ms,80ms⾄90ms。
所以CPU利⽤率为(90-20)/80=77.78%。
(3) 设备I1空闲时间段为:20ms⾄40ms,故I1的利⽤率为(90-20)/90=77.78%。
进程调度算法模拟带答案版教学提纲
进程调度算法模拟带答案版实验二进程管理2.5 作业(进程)调度算法模拟1.实验目的与要求本实验的目的是通过作业或进程调度算法模拟设计,进一步加深对作业或进程调度算法的理解,通过计算平均周转时间和带权平均周转时间,进一步加深对算法的评价方法的理解。
2. 实验类型:验证型3. 实验学时:44. 实验原理和知识点(1)掌握作业或进程调度算法。
(2)平均周转时间和带权平均周转时间计算。
5. 实验环境(硬件环境、软件环境):(1)硬件环境:Intel Pentium III 以上CPU,128MB以上内存,2GB以上硬盘。
(2)软件环境:linux操作系统gcc编译器或windows操作系统vc++集成开发环境。
6. 实验内容设定一组作业或进程,给定相关参数,对这组进程或作业按调度算法实施调度,输出调度次序,并计算平均周转时间和带权平均周转时间。
使用的调度算法有:①先来先服务调度算法。
②优先级调度算法。
③短作业(或进程)优先调度算法。
④响应比高优先调度算法6.1 使用的主要数据结构:(1)定义一个结构体,结构体的主要成员有:序号、作业(进程)号或名称、提交时间、运行时间、优先数、进入输入井时间、开始运行时间、尚需运行时间、运行结束时间、周转时间、带权周转时间、运行次序等。
(2)利用定义的结构体,定义一个结构体数组,用来记录系统中的作业或进程。
6.2 算法描述:1.主控程序算法描述2.数据输入算法3.数据输出算法4.先来先服务调度算法描述5.优先级调度算法6.短作业(或进程)优先调度算法优先级调度算法 在数组中找第一个未运行的作业 Pmin ←该作业的优先数 (当前最小的)k ←该作业的在数组中的下标作业的优先数 与Pnim 比较有未运行的作业未找到找到Pmin ←该作业 的优先数 k ←该作业的 在数组中的下标大7.响应比高优先调度算法响应比高优先调度算法6.3 C语言程序实现#include<stdio.h>//using namespace std;#define MAX 10struct task_struct{char name[10]; /*进程名称*/int number; /*进程编号*/float come_time; /*到达时间*/float run_begin_time; /*开始运行时间*/ float run_time; /*运行时间*/float run_end_time; /*运行结束时间*/ int priority; /*优先级*/int order; /*运行次序*/int run_flag; /*调度标志*/}tasks[MAX];int counter; /*实际进程个数*/int fcfs(); /*先来先服务*/int ps(); /*优先级调度*/int sjf(); /*短作业优先*/int hrrn(); /*响应比高优先*/int pinput(); /*进程参数输入*/int poutput(); /*调度结果输出*/void main(){ int option;pinput();printf("请选择调度算法(0~4):\n");printf("1.先来先服务\n");printf("2.优先级调度\n");printf(" 3.短作业优先\n");printf(" 4.响应比高优先\n");printf(" 0.退出\n");scanf("%d",&option);switch (option){ case 0:printf("运行结束。
进程调度实验报告答案(3篇)
第1篇一、实验目的通过本次实验,加深对操作系统进程调度过程的理解,掌握三种基本调度算法(先来先服务(FCFS)、时间片轮转、动态优先级调度)的原理和实现方法,并能够通过编程模拟进程调度过程,分析不同调度算法的性能特点。
二、实验环境1. 操作系统:Linux/Windows2. 编程语言:C/C++3. 开发环境:Visual Studio、Code::Blocks等三、实验内容1. 实现三种基本调度算法:FCFS、时间片轮转、动态优先级调度。
2. 编写代码模拟进程调度过程,包括进程创建、进程调度、进程运行、进程结束等环节。
3. 每次调度后,打印当前运行的进程、就绪队列以及所有进程的PCB信息。
4. 编写实验报告,描述数据结构、算法流程,展示实验结果,并总结心得。
四、实验步骤1. 定义进程控制块(PCB)结构体,包含进程名、到达时间、服务时间、已用时间、优先数、进程状态等信息。
2. 实现进程调度函数,根据所选调度算法进行进程调度。
3. 编写主函数,初始化进程信息,选择调度算法,并模拟进程调度过程。
4. 每次调度后,打印当前运行的进程、就绪队列以及所有进程的PCB信息。
5. 编写实验报告,描述数据结构、算法流程,展示实验结果,并总结心得。
五、实验结果与分析1. FCFS调度算法实验结果:按照进程到达时间依次调度,每个进程结束后,调度下一个进程。
分析:FCFS调度算法简单,易于实现,但可能会导致进程的响应时间较长,特别是当有大量进程到达时,后到达的进程可能会长时间等待。
2. 时间片轮转调度算法实验结果:每个进程完成一个时间片后,放弃处理机,转到就绪队列队尾。
分析:时间片轮转调度算法能够保证每个进程都能得到一定的运行时间,但可能会出现进程饥饿现象,即某些进程长时间得不到运行。
3. 动态优先级调度算法实验结果:每个进程完成一个时间片后,优先级减1,插入到就绪队列相关位置。
分析:动态优先级调度算法能够根据进程的运行情况动态调整优先级,使得优先级高的进程能够得到更多的运行时间,从而提高系统的响应速度。
操作系统进程调度练习及答案
操作系统进程调度练习及答
案(总5页)
本页仅作为文档封面,使用时可以删除
This document is for reference only-rar21year.March
1 假设一个系统中有5个进程,它们的到达时间和服务时间如下表所示,忽略I/O以及其他开销,若分别按先来先服务(FCFS)、非抢占式及抢占式的短进程优先(SPF)、高响应比优先、时间片轮转、多级反馈队列和立即抢占式多级反馈队列七种调度算法,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。
答:
2 在银行家算法中,若出现下列资源分配情况:
请问:
(1)此状态是否安全
(2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它
答:(1)安全,因为存在安全序列{P0,P3,P4,P1,P2}
(2)系统能分配资源,分析如下。
① Request(1,2,2,2) <= Need2(2,3,5,6);
② Request(1,2,2,2) <= Available2(1,3,5,4)改成Available2(1,6,2,2);
③系统先假定可为P2分配资源,并修改Available2,Allocation2和Need2向量,
由此形成的资源变化情况如下图所示:
④再利用安全性算法检查此时系统是否安全。
如下图
由此进行的安全性检查得知,可以找到一个安全序列
{P2,P0,P1,P3,P4}。
练习三(进程调度和死锁)(答案)
练习三(进程调度和死锁)一.判断题1.死锁就是循环等待。
(错)2.最适合分时系统的进程调度算法是优先级调度算法。
(错)3.不存在只涉及一个进程的死锁。
(对)4.若系统中一资源只有一个,只要系统存在任何环路,系统状态就是不安全的。
(对)5.多级反馈调度算法属于抢占调度方式。
(对)6.死锁是多个进程为竞争系统资源,或彼此间通信而引起的一种临时性阻塞现象。
(错)7.当进程数大于资源数时,进程竞争资源一定会产生死锁。
(错)二.选择题1.下列算法中,_____只能采用非抢占调度方式。
A)高优先权优先法 B)时间片轮转法C)FCFS调度算法 D)短作业优先算法2.下面关于优先权大小的论述中,正确的论述是_____。
A)计算形作业的优先权,应高于I/O型作业的优先权。
B)用户进程的优先权,应高于系统进程的优先权。
C)资源要求多的作业,其优先权应高于资源要求少的作业。
D)在动态优先权时,随着进程执行时间的增加,其优先权降低。
3.最适合分时系统的进程调度算法是_____。
A)FCFS B)SSJF C)优先数法 D)轮转法4.采用“按序分配”策略,可以破坏死锁产生的条件是_____。
A)互斥 B)请求和保持 C)非剥夺 D)环路等待5.下述解决死锁的方法中,属于死锁预防策略的是_____。
A)银行家算法 B)资源有序分配法C)资源分配图化简法 C)撤销进程法6.在为多道程序锁提供的可共享的系统资源不足时,可能出现死锁。
但是,不适当的_____也可能产生死锁。
A)进程优先权 B)资源的线性分配C)进程推进顺序 D)分配队列优先权7.采用资源剥夺法可解除死锁,还可以采用_____方法解除死锁。
A)执行并行操作 B)撤销进程C)拒绝分配新资源 D)修改信号量8.发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏_____条件是不太实际的。
A)互斥 B)不可抢占 C)部分分配 D)循环等待9.在_____的情况下,系统出现死锁。
进程调度作业参考答案
1.下表给出作业1、2、3到达时间和运行时间。
采用短作业优先调度算法和先来先服务调度算法,试问平均周转时间各为多少是否还有更好的调度策略存在(时间单位:小时,以十进制进行计算。
解:存在更好的调度算法,如采用剥夺式短作业优先调度算法2.假设有四个作业,它们提交、运行时间如下表所示。
若采用响应比高者优先调度算法,试问平均周转时间和带权周转时间为多少 (时间单位:小时,以十进制进行计算。
)解:第一个作业完成时间为,此时其它作业的响应比计算如下:R2=+/=R3=+/=16R4=+10-9)/=根据响应比高者优先调度原则,应先运行作业3,作业3完成时间为,此时作业2和作业4的响应比计算如下:R2=+根据响应比高者优先调度原则,应先运行作业2,作业2完成时间为,最后运行作业4,作业4完成时间为。
4.在单CPU和两台输入/输出设备(I1,I2)的多道程序设计环境下,同时投入三个作业Job1、 Job2、 Job3运行。
这三个作业对CPU和输入/输出设备的使用顺序和时间如下所示:Job1: I2(30ms);CPU(10ms);I1(30ms);CPU(10ms);I2(20ms|)Job2: I1(20ms);CPU(20ms); I2(40ms|)Job3: CPU(30ms);I1(20ms);CPU(10ms);I1(10ms|)假定CPU 、 I1、I2都能并行工作, Job1优先级最高, Job2次之, Job3优先级最低,优先级高的作业可以抢占优先级低的作业的CPU但不抢占I1和I2。
试求:(1)三个作业投入到完成分别需要的时间。
(2)从投入到完成的CPU利用率。
(3)I/O设备利用率解:(1)(2)cpu利用率:(60+10+10)/110=%(3) i1设备利用率:(20+30+20+10)/110=%i2设备利用率:(30+40+20)/110=%。
进程与作业调度—答案电子版
作业与进程调度练习1.有一个两道的批处理操作系统,作业调度采用最短作业优先的调度算法,进程调度采用基于优先数的抢占式调度算法,有如下的作业序列(其中优先数值越小优先级越高): 作业 进入时间 估计运行时间 优先数 Job1 10:00 40分钟 5 Job2 10:20 30分钟 3 Job3 10:30 50分钟 4 Job4 10:50 20分钟 6答:基于优先数的抢占式调度算法JOB1JOB2JOB3JOB410:1010:2010:5011:1012:0012:20CPU 上工作时间示意图2.某系统采用不能移动已在内存中作业的可变分区方式管理内存,现有供用户使用的内存空间100K ,系统配有4台磁带机,有一批作业如下: 作业 进入系统时间 估计运行时间 内存需求 磁带机需求 Job1 10:00 25分钟 15K 2台 Job2 10:20 30分钟 60K 1台 Job3 10:30 10分钟 50K 3台 Job4 10:35 20分钟 10K 2台 Job5 10:40 15分钟 30K 2台 该系统采用多道程序设计技术,对磁带机采用静态分配策略,忽略设备工作时间和系统进行调度所花的时间,请分别写出采用“先来先服务调度算法”和“最短作业优先算法”选中作业执行的次序以及作业平均周转时间。
参考答案:先来先服务的调度算法中的资源变化:10:00Tape:2运行:1(2)就绪:0输入#:空10:20Tape:1运行:1(2)就绪:2(1)输入#:空10:25Tape:3运行:2(1)就绪:空输入#:空10:30Tape:3运行:2(1)就绪:空输入#:310:35Tape:1运行:2(1)就绪:4(2)输入#:310:40Tape:1运行:2(1)就绪:4(2)输入#:3,510:55Tape:0运行:4(2)就绪:5(2)输入#:311:15Tape:2运行:5(2)就绪:空输入#:311:30Tape:1运行:3(3)就绪:空输入#:空先来先服务调度算法的资源变化情况示意图说明:红色区域为被占用的CPU资源蓝色区域为空闲的CPU资源JOB1JOB2JOB3JOB410:0010:2510:5511:1511:3011:45CPU 上工作时间示意图JOB5。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.下表给出作业1、2、3到达时间和运行时间。
采用短作业优先调度算法和先来先服务调度算法,试问平均周转时间各为多少?是否还有更好的调度策略存在?(时间单位:小时,以十进制进行计算。
解:
2.假设有四个作业,它们提交、运行时间如下表所示。
若采用响应比高者优先调度算法,试问平均周转时间和带权周转时间为多少?(时间单位:小时,以十进制进行计算。
)
解:第一个作业完成时间为10.0,此时其它作业的响应比计算如下:
R2=(0.5+10-8.3)/0.5=4.4
R3=(0.1+10-8.5)/0.1=16
R4=(0.4+10-9)/0.4=3.5
根据响应比高者优先调度原则,应先运行作业3,作业3完成时间为10.1,此时作业2和
作业4的响应比计算如下: R2=(0.5+10.1-8.3)/0.5=4.6 R4=(0.4+10.1-9)/0.4=3.75
根据响应比高者优先调度原则,应先运行作业2,作业2完成时间为10.6,最后运行作业4,作业4完成时间为11.0。
作业号 到达时间 运行时间 完成时间 周转时间 带权周转时间 平均周转时间 平均带权
周转时间
1 8.0 2.0 10.0 2.0 1 1.975
6.65
2 8.
3 0.5 10.6 2.3 4.6 3 8.5 0.1 10.1 1.6 16
4 9.0
0.4
11.0
2.0
5
4.在单CPU 和两台输入/输出设备(I1,I2)的多道程序设计环境下,同时投入三个作业Job1、 Job2、 Job3运行。
这三个作业对CPU 和输入/输出设备的使用顺序和时间如下所示: Job1: I2(30ms);CPU(10ms);I1(30ms);CPU(10ms);I2(20ms|) Job2: I1(20ms);CPU(20ms); I2(40ms|)
Job3: CPU(30ms);I1(20ms);CPU(10ms);I1(10ms|)
假定CPU 、 I1、I2都能并行工作, Job1优先级最高, Job2次之, Job3优先级最低,优先级高的作业可以抢占优先级低的作业的CPU 但不抢占I1和I2。
试求: (1)三个作业投入到完成分别需要的时间。
(2)从投入到完成的CPU 利用率。
(3)I/O 设备利用率 解:(1)
(2)cpu利用率:(60+10+10)/110=72.7%
(3) i1设备利用率:(20+30+20+10)/110=72.7%
i2设备利用率:(30+40+20)/110=81.8%。