欢迎来到天天文库
浏览记录
ID:52952704
大小:191.82 KB
页数:10页
时间:2020-04-03
《操作系统_进程调度算法程序设计.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、华北科技学院计算机系综合性实验实验报告课程名称操作系统B实验学期2011至2012学年第2学期学生所在系部基础部年级09级专业班级计算B091班学生姓名张成林学号200909014101任课教师实验成绩计算机系制华北科技学院计算机系综合性实验报告《操作系统B》课程综合性实验报告开课实验室:基础六机房2012年6月7日实验题目进程调度算法程序设计一、实验目的通过对进程调度算法的模拟,进一步理解进程的基本概念,加深对进程运行状态和进程调度过程、调度算法的理解。二、设备与环境1.硬件设备:PC机一台2.软件环境:安装Window
2、s操作系统或者Linux操作系统,并安装相关的程序开发环境,如CC++Java等编程语言环境。三、实验内容(1)用C语言(或其它语言,如Java)实现对N个进程采用短进程优先的算法的调度。(2)编写SPF算法:.每个用来标识进程的进程控制块PCB可用结构来描述,包括以下字段:进程(PRO_ID,arrive_time,sum_time,flag)每个进程需要赋予进程ID、进程到达时间、进程需要运行的总时间的属性;(3)调试无误后运行;(4)输入需要排序的进程的相关参数;(5)查看执行结果,根据执行结果判断实验是否成功;
3、四、实验结果及分析1.实验代码#include"stdafx.h"#include"stdio.h"#definen5#definenum5#definemax65535typedefstructpro//结构体pro{intPRO_ID;//进程号第1页华北科技学院计算机系综合性实验报告intarrive_time;//进程到达时间intsum_time;//进程完成时间intflag;}Pro;//整数排序intpaixu(inttemp[]){inti,j,tem=0;for(i=1;i4、stX=1;for(j=0;jtemp[j+1])//按从小到大排序{tem=temp[j];temp[j]=temp[j+1];temp[j+1]=tem;lastX=0;}}if(lastX==1)break;}returntemp[0];}//进程排序Propaixu(Prop[])//定义结构体的排序函数{第2页华北科技学院计算机系综合性实验报告inti,j;Protemp={0};Pros[num];for(i=0;i5、i=1;is[j+1].sum_time){temp=s[j];s[j]=s[j+1];s[j+1]=temp;lastX=0;}}if(lastX==1)break;}returns[0];}voidSPF(intp){if(n>0){inti,j,k,l,tc=0;Proseq[n];第3页华北科技学院计算机系综合性实验报告Protemp_seq[n];printf("短进程优先调度算法SPF");6、printf("请依次输入5个进程的进程号、到达时间和执行时间");printf("成员变量用逗号隔开;进程间用回车隔开");for(i=0;i7、mp[i]}tc=paixu(temp);//tc是断点,将进程中服务时间最短的赋给tc//flag表示对应i的pro的队列情况//-1表示未进入过队列,0表示在队列中,1表示被清除了for(i=0;i8、;j
4、stX=1;for(j=0;jtemp[j+1])//按从小到大排序{tem=temp[j];temp[j]=temp[j+1];temp[j+1]=tem;lastX=0;}}if(lastX==1)break;}returntemp[0];}//进程排序Propaixu(Prop[])//定义结构体的排序函数{第2页华北科技学院计算机系综合性实验报告inti,j;Protemp={0};Pros[num];for(i=0;i5、i=1;is[j+1].sum_time){temp=s[j];s[j]=s[j+1];s[j+1]=temp;lastX=0;}}if(lastX==1)break;}returns[0];}voidSPF(intp){if(n>0){inti,j,k,l,tc=0;Proseq[n];第3页华北科技学院计算机系综合性实验报告Protemp_seq[n];printf("短进程优先调度算法SPF");6、printf("请依次输入5个进程的进程号、到达时间和执行时间");printf("成员变量用逗号隔开;进程间用回车隔开");for(i=0;i7、mp[i]}tc=paixu(temp);//tc是断点,将进程中服务时间最短的赋给tc//flag表示对应i的pro的队列情况//-1表示未进入过队列,0表示在队列中,1表示被清除了for(i=0;i8、;j
5、i=1;is[j+1].sum_time){temp=s[j];s[j]=s[j+1];s[j+1]=temp;lastX=0;}}if(lastX==1)break;}returns[0];}voidSPF(intp){if(n>0){inti,j,k,l,tc=0;Proseq[n];第3页华北科技学院计算机系综合性实验报告Protemp_seq[n];printf("短进程优先调度算法SPF");
6、printf("请依次输入5个进程的进程号、到达时间和执行时间");printf("成员变量用逗号隔开;进程间用回车隔开");for(i=0;i7、mp[i]}tc=paixu(temp);//tc是断点,将进程中服务时间最短的赋给tc//flag表示对应i的pro的队列情况//-1表示未进入过队列,0表示在队列中,1表示被清除了for(i=0;i8、;j
7、mp[i]}tc=paixu(temp);//tc是断点,将进程中服务时间最短的赋给tc//flag表示对应i的pro的队列情况//-1表示未进入过队列,0表示在队列中,1表示被清除了for(i=0;i8、;j
8、;j
此文档下载收益归作者所有