资源描述:
《操作系统实指导2-3.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《操作系统》实验指导(二)作业调度算法模拟 (验证性3学时)1、实验目的:1)掌握作业调度的主要功能及算法。2)通过模拟作业调度算法的设计加深对作业管理基本原理的理解。3)熟悉Linux环境下应用程序的编程方法。2、实验内容:(1)编写程序p.c,其功能是从键盘输入两个实数,输出这两个实数的平方和,生成可执行文件为pow。记录编译的命令和结果。参考程序:#include"math.h"main(){floatx,y;scanf("%f,%f",&x,&y);printf("%6.3f",x*x+y*y);}(2)作业调度算法(FCFS)编程模拟:编制一段程序,对所输入的若干作业,
2、按FCFS算法模拟调度,观察、记录并分析调度的输出结果情况。(3)作业调度算法(SJF)编程模拟:编程实现由短作业优先算法对模拟作业的调度,并观察分析运行结果。job.c#include#include#defineSIZE4structJob_type{intno;//作业号inttb;//作业开始时间(分)inttr;//运行时间(分)}x;Job_typejob[]={1,0,70,2,20,20,3,40,40,4,30,5};//此数据适合FCFS//Job_typejob[]={1,0,70,2,0,20,3,0,40,4,0,5
3、};//此数据适合SJFvoidload(){inti;//printf("EntertheJobs'datas:");//for(i=0;i4、+1;jjob[j].tb){x=job[i];job[i]=job[j];job[j]=x;}printf("FCFS调度结果:");printf("开始时间作业号到达时间运行时间完成时间等待时间周转时间");for(i=0;i5、ob[i].tr,t,tw,tt);}}voidsjf()//短作业调度函数{inti,j,t=0,tw=0;for(i=0;ijob[j].tr){x=job[i];job[i]=job[j];job[j]=x;}printf("短作业优先调度结果:");printf("开始时间作业号到达时间运行时间总时间等待时间");for(i=0;i6、间printf("t%dt%dt%dt%dt%d",job[i].no,job[i].tb,job[i].tr,t,tw);}}voidmain(){freopen(".\dist\dist10.in","r",stdin);freopen(".\dist\dist10.out","w",stdout);load();fcfs();sjf();}3、实验结果分析:(对上述实验各题所使用的原始数据、调试数据与状态(包括出错)及最终结果进行记录并分析。)4、总结:你对本次实验有什么体会或看法。《操作系统》实验指导(三)Linux文件操作与内存管理算法模拟 (综合
7、性4学时)1、实验目的:1)熟悉LINUX文件系统;2)通过编写文件操作的程序,进一步掌握操作系统的文件管理机制。3)模拟内存管理算法的实现方法;4)掌握简单的用户接口(字符菜单)的设计方法。2、实验内容:(1)浏览LINUX文件系统,进行下列操作并记录结果。1)运行pwd命令,确定你当前的工作目录。2)利用以下命令显示当前工作目录的内容:ls–l3)运行以下命令:ls–al4)使用mkdir命令建立一个子目录subdir。5)使用带-d选项的ls命令,只能看到当前目录的信息。6