欢迎来到天天文库
浏览记录
ID:43582906
大小:1.11 MB
页数:38页
时间:2019-10-11
《广工操作系统实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、操作系统实验报告学生学院—计算机学院专业班级2010级计算机科学与技术学号学生姓名指导教师2013年1月05日目录实验一、进程调度4实验二、作业调度8实验三、动态分区分配方式的模拟16实验四、文件系统241实验一进程调度1、实验目的编写并调试一个模拟的进程调度程序,采用“短进程优先”调度算法对五个进程进行调度。以加深对进程的概念及进程调度算法的理解.2、实验原理在多道程序系统中,一个作业被提交后必须经过处理机调度后,方能获得处理机执行。对调度的处理乂都可采用不同的调度方式和调度算法。调度算法是指:根据系统的资源分配策略所规定的资源分配算法。
2、短进程优先调度算法是指对短进程优先调度的算法,它是从后备队列中选择一个或者若干个进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某爭件而被阻塞放弃处理机时再重新调度。短进程优先调度源程序如下:#include#definen5#definenum5#definemax65535typedefstructpro{intPROJD;//进程号intarrive_time;〃到达时间intsum_time;//运行总时间intflag;[Pro;〃整数排序intbubble(inttempf])inti,j,tem二
3、0;for(i=l;itemp
4、j+l]){tem=temp[j];temp[j]=temp[j+1];tenip
5、j+l]=teni;lastX=O;}1if(lastX==l)break;}returntemp[O];}〃进程排序Probubble(Prop[]){inti,j;Protemp={0};Pros[num];fbr(i=0;i6、=l;for(j=0;js[j+l].sum_time){temp=s7、j];s[j]二s[j+l];s[j+l]=temp;IastX=0;1}if(lastX==l)break;}returns[0];voidSPF(intp){if(n>0){inti,j,k,l,tc=O;Proseqfn];Protemp_seq[n];printf(H10计科4班张法光3110006015H);printf(un);printfC1实验一:短进程优先调度算法SPF“);prin8、tfC*1请依次输入5个进程的进程号、到达吋I'可和执行吋间”);printfC*成员变量用逗号隔开;进程间用回车隔开”);for(i=0;i9、对应i的pro的队列情况〃・1表示未进入过队列,0表示在队列中,1表示被清除了for(i=0;i10、j].arrive_time<=tc){seq[j].flag=O;1}for(j=0;j11、r(j=0;j12、j].PRO」D){k二j;}}tc=tc+bubble(temp_seq).sum_tinie;seq[kj.flag=l;printf(”%d”,l);}printf(nH);1}voidmain(){SPF(n);运行结果:结果分析与实验小结非抢占式的短进程优先调度相对简单,有个易错的地方就是最早来的不管所需服务时间长短均必须先服务,而且数量可能不止一个,此时可以再根据短进程优先法则调度。总的来说,短进程优先调度算法可以照顾到实际上在所有进程中占很大比例的短进程,使它能比长进程优先13、执行,但不利于长进程的执行。2实验二作业调度1、实验目的木实验要求学牛模拟作业调度的实现,用高级语言编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深
6、=l;for(j=0;js[j+l].sum_time){temp=s
7、j];s[j]二s[j+l];s[j+l]=temp;IastX=0;1}if(lastX==l)break;}returns[0];voidSPF(intp){if(n>0){inti,j,k,l,tc=O;Proseqfn];Protemp_seq[n];printf(H10计科4班张法光3110006015H);printf(un);printfC1实验一:短进程优先调度算法SPF“);prin
8、tfC*1请依次输入5个进程的进程号、到达吋I'可和执行吋间”);printfC*成员变量用逗号隔开;进程间用回车隔开”);for(i=0;i9、对应i的pro的队列情况〃・1表示未进入过队列,0表示在队列中,1表示被清除了for(i=0;i10、j].arrive_time<=tc){seq[j].flag=O;1}for(j=0;j11、r(j=0;j12、j].PRO」D){k二j;}}tc=tc+bubble(temp_seq).sum_tinie;seq[kj.flag=l;printf(”%d”,l);}printf(nH);1}voidmain(){SPF(n);运行结果:结果分析与实验小结非抢占式的短进程优先调度相对简单,有个易错的地方就是最早来的不管所需服务时间长短均必须先服务,而且数量可能不止一个,此时可以再根据短进程优先法则调度。总的来说,短进程优先调度算法可以照顾到实际上在所有进程中占很大比例的短进程,使它能比长进程优先13、执行,但不利于长进程的执行。2实验二作业调度1、实验目的木实验要求学牛模拟作业调度的实现,用高级语言编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深
9、对应i的pro的队列情况〃・1表示未进入过队列,0表示在队列中,1表示被清除了for(i=0;i10、j].arrive_time<=tc){seq[j].flag=O;1}for(j=0;j11、r(j=0;j12、j].PRO」D){k二j;}}tc=tc+bubble(temp_seq).sum_tinie;seq[kj.flag=l;printf(”%d”,l);}printf(nH);1}voidmain(){SPF(n);运行结果:结果分析与实验小结非抢占式的短进程优先调度相对简单,有个易错的地方就是最早来的不管所需服务时间长短均必须先服务,而且数量可能不止一个,此时可以再根据短进程优先法则调度。总的来说,短进程优先调度算法可以照顾到实际上在所有进程中占很大比例的短进程,使它能比长进程优先13、执行,但不利于长进程的执行。2实验二作业调度1、实验目的木实验要求学牛模拟作业调度的实现,用高级语言编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深
10、j].arrive_time<=tc){seq[j].flag=O;1}for(j=0;j11、r(j=0;j12、j].PRO」D){k二j;}}tc=tc+bubble(temp_seq).sum_tinie;seq[kj.flag=l;printf(”%d”,l);}printf(nH);1}voidmain(){SPF(n);运行结果:结果分析与实验小结非抢占式的短进程优先调度相对简单,有个易错的地方就是最早来的不管所需服务时间长短均必须先服务,而且数量可能不止一个,此时可以再根据短进程优先法则调度。总的来说,短进程优先调度算法可以照顾到实际上在所有进程中占很大比例的短进程,使它能比长进程优先13、执行,但不利于长进程的执行。2实验二作业调度1、实验目的木实验要求学牛模拟作业调度的实现,用高级语言编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深
11、r(j=0;j12、j].PRO」D){k二j;}}tc=tc+bubble(temp_seq).sum_tinie;seq[kj.flag=l;printf(”%d”,l);}printf(nH);1}voidmain(){SPF(n);运行结果:结果分析与实验小结非抢占式的短进程优先调度相对简单,有个易错的地方就是最早来的不管所需服务时间长短均必须先服务,而且数量可能不止一个,此时可以再根据短进程优先法则调度。总的来说,短进程优先调度算法可以照顾到实际上在所有进程中占很大比例的短进程,使它能比长进程优先13、执行,但不利于长进程的执行。2实验二作业调度1、实验目的木实验要求学牛模拟作业调度的实现,用高级语言编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深
12、j].PRO」D){k二j;}}tc=tc+bubble(temp_seq).sum_tinie;seq[kj.flag=l;printf(”%d”,l);}printf(nH);1}voidmain(){SPF(n);运行结果:结果分析与实验小结非抢占式的短进程优先调度相对简单,有个易错的地方就是最早来的不管所需服务时间长短均必须先服务,而且数量可能不止一个,此时可以再根据短进程优先法则调度。总的来说,短进程优先调度算法可以照顾到实际上在所有进程中占很大比例的短进程,使它能比长进程优先
13、执行,但不利于长进程的执行。2实验二作业调度1、实验目的木实验要求学牛模拟作业调度的实现,用高级语言编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深
此文档下载收益归作者所有