操作系统A实验指导书12页word文档

上传人:人*** 文档编号:489656630 上传时间:2023-01-03 格式:DOCX 页数:11 大小:37.21KB
返回 下载 相关 举报
操作系统A实验指导书12页word文档_第1页
第1页 / 共11页
操作系统A实验指导书12页word文档_第2页
第2页 / 共11页
操作系统A实验指导书12页word文档_第3页
第3页 / 共11页
操作系统A实验指导书12页word文档_第4页
第4页 / 共11页
操作系统A实验指导书12页word文档_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《操作系统A实验指导书12页word文档》由会员分享,可在线阅读,更多相关《操作系统A实验指导书12页word文档(11页珍藏版)》请在金锄头文库上搜索。

1、操作系统A实验指导书实验一进程调度实验实验名称:进程调度实验实验类型:验证性实验学时:4适用对象:信息与计算科学专业一、实验目的通过通过实验使学生更好地掌握操作系统的基本概念、基本原理、及基本功能。特别是进程的概 念、进程控制块的概念以及进程的三种基本状态等概念。培养学生程序设计的方法和技巧,提高学生 编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解,拓宽学生的知识领域, 锻炼学生的实践技能。二、实验要求本实验模拟单处理器系统的进程调度,加深对进程的概念及进程调度算法的理解。用某种语言编 写和调试一个进程调度的算法程序,有一些简单的界面,能够运行,仿真操作系统中进程调度的原理

2、 和过程。进程调度要求使用高响应比优先的动态优先级调度算法。三、实验原理动态优先权是指,在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而 改变的,以便获得更好的调度性能。例如,我们可以规定,在就绪队列中的进程,随其等待时间的增 长,其优先权以速率a提高。若所有的进程都具有相同的优先权初值,则显然是最先进入就绪队列的 进程,将因其动态优先权变得最高而优先获得处理机,此即FCFS算法。若所有的就绪进程具有各不 相同的优先权初值,那么,对于优先权初值低的进程,在等待了足够的时间后,其优先权便可能升为 最高,从而可以获得处理机。当采用抢占式优先权调度算法时,如果再规定当前进程的优先

3、权以速率 b下降,则可防止一个长作业长期地垄断处理机。高响应比优先调度算法是一种动态优先权调度算法,其优先权的变化规律可描述为:由于等待时间与服务时间之和,就是系统对该作业的响应时间,故该优先权又相当于响应比RP。 据此,又可表示为高响应比优先(HRRN)调度算法计算举例:进程到达时间要求服务时间A04B13C25D32E44T=0:只有作业A已到达,调度作业A运行。T=4:作业A完成,作业B、C、D、E已到达,计算作业B、C、D、E响应比RP分别为:1+3/3、 1+2/5、1+1/2、1+0/4,作业B响应比最大调度运行。T=7:作业B完成,作业C、D、E已到达,计算作业C、D、E响应比R

4、P分别为:1+5/5、1+4/2、 1+3/4,作业D响应比最大调度运行。T=9:作业D完成,作业C、E已到达,计算作业C、E响应比RP分别为:1+7/5、1+5/4,作业 C响应比最大调度运行。T=14:作业C完成,只有作业E未完成,调度作业E运行。四、实验所需仪器、设备、材料PC机五、实验预习要求、实验条件、方法及步骤1)熟练掌握进程相关的基本概念。2)熟练掌握进程调度的有关算法。3)熟练掌握进程调度算法所需的数据结构和算法流程;4)熟练掌握某一门编程语言,如C、C+或者Dephi等。六、思考题实验二作业调度实验实验名称:作业调度实验实验类型:验证性实验学 时:4适用对象:信息与计算科学专

5、业一、 实验目的(黑体,小4号字)模拟作业调度算法,学习作业在操作系统中的调度过程,加深对作业管理的理解。特别是作业调 度的概念、作业调度与进程调度的区别。培养学生程序设计的方法和技巧,提高学生编制清晰、合理、 可读性好的系统程序的能力,加深对操作系统课程的理解,拓宽学生的知识领域,锻炼学生的实践技 能。二、实验要求(黑体,小4号字)本实验模拟单处理器系统的作业调度,加深对作业调度算法的理解。用某种语言编写和调试一个作业调度的算法程序,有一些简单的界面,能够运行,仿真操作系统中作业调度的原理和过程。1、在后备作业队列中输入5道作业各自需要的时间及存储空间。数据输入格式如下:作 业编号作 业名称

6、提交 时间运行 时间存 储空间开始 时间完成 时间等待 时间1JA02: 4020302JB02: 5030153JC02: 5510904JD03: 0024105JE03: 056602、按先来先服务(FCFS)的原则进行调度,输出作业调度的顺序及各自的等待时间。3、按最短作业优先(SJF)的原则进行调度,输出作业调度的顺序及各自的等待时间。4、按最小作业(存储空间)优先的原则进行调度,输出作业调度顺序及各自的等待时间。5、建立3个子函数对应3种算法,在主函数中调用它们并按格式输出相关信息;6 .按调度顺序输出作业,输出格式为:作业编号、作业名、提交时间、运行时间、存储空间、等待时间三、实

7、验原理(黑体,小4号字)作业调度算法和进程调度算法。其中作业调度算法主要有先来先服务法FCFS、短作业优先法SJF、 最高响应比优先法HRN、定时轮转法和优先数法。在进程调度算法中主要介绍了先来先服务法FCFS、 轮转法RR、多级反馈轮转法和优先数法。需要指出的是:(1)在作业调度和进程调度中同时出现的算法,如FCFS、RR、优先数法, 其使用原理是基本相同的;(2)作业调度算法和进程调度算法应严格与存储管理中的“请求淘汰换页 算法”相区别,注意不要混淆。实验提示1、根据作业输入数据,定义JCB结构;struct JCB(char JobNum2;char JobName8;2、定义数据结构装

8、载后备作业JCB JobArrayMaxNumber;3、三种调度算法的设计4、C+语言描述顺序建立文件:jcb.h;其中存放:最大作业数;定义数据结构JCB;三个作业调度函数;建立主函数,其中包含:#include#include”jcb.h”void mian()JCB jobArrayMaxNumber;数据输入;调用三种算法并输出调度结果;四、实验所需仪器、设备、材料PC机五、实验预习要求、实验条件、方法及步骤1)熟练掌握作业相关的基本概念。2)熟练掌握作业调度的有关算法。3)熟练掌握作业调度算法所需的数据结构和算法流程;4)熟练掌握某一门编程语言,如C、C+或者Dephi等。六、思考

9、题实验三银行家算法实验实验名称:银行家算法实验实验类型:验证性实验学 时:4适用对象:信息与计算科学专业一、 实验目的(黑体,小4号字)熟悉银行家算法,理解系统产生死锁的原因及避免死锁的方法加深记意。二、 实验要求(黑体,小4号字)用高级语言编写和调试一个描述银行家算法的程序。设计五个进程P0,P1,P2, P3, P4共享三类资源A,B,C的系统,A,B,C的资源数 量分别为10,5, 7。进程可动态地申请资源和释放资源,系统按各进程的申请动态地分配资源。 要求程序具有显示和打印各进程的某一时刻的资源分配表和安全序列;显示和打印各进程依次要 求申请的资源号以及为某进程分配资源后的有关资源数据

10、。三、实验原理(黑体,小4号字)利用银行家算法避免死锁1、银行家算法中的数据结构(1)可利用资源向量Available(2)最大需求规阵Max(3)分配矩阵Allocation(4)需求矩阵Need2、银行家算法(1)如果RequestiV或=Need,则转向步骤2;否则,认为出错,因为它所需要的资源数已超过它 所宣布的最大值。(2)如果RequestV或=Available,则转向步骤(3);否则,表示系统中尚无足够的资源,P1必须 等待。(3)系统试探把要求的资源分配给进程Pi,并修改下面数据结构中的数值:Available:=Available-Requesti;Allocation:=

11、Allocationi+Request;Needi:=Needi-request;(4)系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。3、安全性算法系统所执行的安全性算法可描述如下:(1)设置两个向量 工作向量Work。它表示系统可提供进程继续运行所需要的各类资源数目,它含有m个元素, 执行安全算法开始时,Work:=Allocation; Finisho它表示系统是否有足够的资源分配给进程,使之运行完成,开始时先做Finishi:=false; 当有足够资源分配给进程时,令Finishi:=true。(2)从进程集合中找到一个能满足下述条件的进程: Finishi:=fals

12、e Need/=Work如找到,执行步骤(3);否则,执行步骤(4)。(3)当进程P获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故应执行:Work: =Work+Allocation;Finishi: =true;Go to step 2;(4)如果所有进程的Finishi=true,则表示系统处于安全状态;否则,系统处于不安全状态。4、银行家算法之例假设有五个进程P0,P1,P2,P3,P4和三种类型的资源A,B,C,每一种资源的数量分别为10、5、7,在T0时刻的资源分配情况如图1所示。MaxAUccatirmANeedB CAvailableABCACABc75301071

13、33 3 22 3 0)Pj32220012230(020)巳0230g60p*2221C1143s0431图1(1)T0时刻的安全性利用安全性算法对T0时刻的资源分配情况进行分析,可得下表所示的T0时刻的安全性分析,从 中得知,T0时刻存在着一个安全序列P1,P3, P4, P2, P0,故系统是安全的,如图2所示。 * J资源借WorkNeedAllocationWnrk -r AllocationFinish进寸ABCABCABCABCPi3 3 2I 2 220 05 3true已5 3 2n 1 12 11743true74343 L0 0 27 4 .true已7456 0 03

14、0 2ID -17TruePuLQ 1 7743口 1010 5 7true图2(2) P1请求资源P1发出请求向量Request(1,0,2),系统按银行家 算法进行检查:(1) Request1(1,0,2)WNeed(1,2,2)(2) Request1(1,0,2)WAvailable(3,3,2)(3) 系统先假定可为P1分配资源,并修改Aailable, Allocation1和Need1向量,由此形成的资源 变化情况如图1中的圆括号所示。(4)我们再利用安全性检查此时系统是否安全。由所进行的安全性检查得知,可以找到一个安全序列P1, P3, P4, P2, P0。因此,系统是安 全的,可以立即将P1所申请的资源分配给它。(3) P

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号