操作系统实验报告3篇

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计说明书

设计题目:操作系统课程设计

班级:信息管理与信息系统2011级

学号:

姓名:

山东科技大学

2013年12 月25 日

课程设计任务书

学院信息科学与工程专业信息学管理与信息系统班级2011-1

姓名

一、课程设计题目:操作系统课程设计

二、课程设计主要参考资料

(1)Abraham Silberschatz & Peter Baer Galvin & Greg Gagne. Operating System Concepts(第七版影印版). 高等教育出版社. 2007.3.

(2)计算机操作系统(第三版)西安电子科技大学出版社

(3)

三、课程设计应解决的主要问题:

(1)CPU调度算法的模拟实现

(2)死锁相关算法的实现

(3)磁盘调度算法的实现

四、课程设计相关附件(如:图纸、软件等):

(1)程序源代码

(2)

五、任务发出日期:2013-10-1 课程设计完成日期:2014-1-1

指导教师签字:

指导教师对课程设计的评语成绩:

指导教师签字:

年月日

设计1 CPU调度算法的模拟实现

一、设计目的

1、根据系统的资源分配策略所规定的资源分配算法

2、利用编程语言,模拟实现先来先服务(FCFS)、最短作业优先(非抢占SJF)、非抢占优先调度算法、时间片轮转调度算法(RR)

3、针对模拟进程,利用CPU调度算法进行调度

4、进行算法评价,计算平均周转时间和平均等待时间

二、设计要求

1、调度所需的进程参数由输入产生(手工输入或者随机数产生)

2、输出调度结果

3、输出算法评价指标

三、设计说明

1、定义public类:

class program{

public:

char name;//进程名

int atime;//进程到达的时间

int stime;//进程服务的时间

int btime;//进程开始执行的时间

int ftime;//进程完成的时间

int rtime;//进程的周转时间

float qrtime;//进程的带权周转时间

};

2、冒泡排序:

class program t;

for( i=1;i

for(int j=0;j

if(p[j].atime>p[j+1].atime){

t=p[j];

p[j]=p[j+1];

p[j+1]=t;

}

3、流程图:

(1)①先来先服务调度流程图:

②主要程序

p[0].btime=p[0].atime;

p[0].ftime=p[0].atime+p[0].stime;

p[0].rtime=p[0].ftime-p[0].atime;

p[0].qrtime=(float)p[0].rtime/p[0].stime;

for(i=1;i

if(p[i].atime>p[i-1].ftime){

p[i].btime=p[i].atime;

}

else{

p[i].btime=p[i-1].ftime;

}

p[i].ftime=p[i].btime+p[i].stime;

p[i].rtime=p[i].ftime-p[i].atime;

p[i].qrtime=(float)p[i].rtime/p[i].stime;

}

①短作业优先进程(非抢占优先权)调度流程图:

②(SJF)主要代码

int k=0,x=0;

for(i=k+1;i

for(j=k+1;j

if(p[j].atime

x++;

}

else

break;

}

int min=k+1;

if(x>1){

for(j=k+2;j<=x+k;j++){

if(p[j].stime

min=j;

}

}

t=p[min];

p[min]=p[k+1];

p[k+1]=t;

p[k+1].ftime=p[k].stime+p[k+1].stime;

}

k++;

x=0;

}

③优先权调度算法(非抢占):

int k=0,x=0;

for(i=k+1;i

for(j=k+1;j

if(p[j].atime

x++;

}

else

break;

}

int min=k+1;

if(x>1){

for(j=k+2;j<=x+k;j++){

if(p[j].youxianquan

min=j;

}

}

t=p[min];

p[min]=p[k+1];

p[k+1]=t;

p[k+1].ftime=p[k].stime+p[k+1].stime;

相关文档
最新文档