实验题目
|
进程调度算法模拟
|
||||||||||
一、实验目的
通过对进程调度算法的模拟,进一步理解进程的基本概念,加深对进程运行状态和进程调度过程、调度算法的理解。
二、设备与环境
1. 硬件设备:PC机一台
2. 软件环境:安装Windows操作系统或者Linux操作系统,并安装相关的程序开发环境,如C \C++\Java 等编程语言环境。
三、实验内容
1)用C语言(或其它语言,如Java)实现对N个进程采用某种进程调度算法(如先来先服务)的调度。
2)分析程序运行的结果,谈一下自己的认识。
四、实验结果及分析
1.实验步骤
选择一种进程调度算法(先来先服务),然后进行编码。
2.实验代码
#include <iostream.h>
#define n 20
typedef struct
{
int id; //进程名
int atime; //进程到达时间
int runtime; //进程运行时间
}fcs;
void main()
{
int amount,i,j,diao,huan;
fcs f[n];
cout<<"input a
number:"<<endl;
cin>>amount;
for(i=0;i<amount;i++)
{
cout<<"请输入进程名,进程到达时间,进程运行时间:"<<endl;
cin>>f[i].id;
cin>>f[i].atime;
cin>>f[i].runtime;
}
for(i=0;i<amount;i++) //按进程到达时间的先后排序
{ //如果两个进程同时到达,按在屏幕先输入的先运行
for(j=0;j<amount-i-1;j++)
{
if(f[j].atime>f[j+1].atime)
{
diao=f[j].atime;
f[j].atime=f[j+1].atime;
f[j+1].atime=diao;
huan=f[j].id;
f[j].id=f[j+1].id;
f[j+1].id=huan;
}
}
}
for(i=0;i<amount;i++)
{
cout<<"进程:"<<f[i].id<<"从"<<f[i].atime<<"开始"<<","<<"在"
<<f[i].atime+f[i].runtime<<"之前结束。"<<endl;
f[i+1].atime=f[i].atime+f[i].runtime;
}
}
3.实验结果
(1)在进程到达时间不同的情况下的显示结果
(2)在进程中到达时间中有若干个到达时间一致时的显示结果,不妨设所有的到达时间都一致
4.实验结果分析
通过实验结果,知道先来先服务的进程调度算法是哪个进程调度的到达时间最早,哪个进程就先被调用;如果到达时间相同的话,以哪个进程先被写入为准来进行调度,先被写入的进程先被调度。
5.实验心得
首先,进程调度算法中先来先服务调度算法简单。所以算法代码不长。但通过此次试验,我认识到,解决问题不是以代码的长短为标准。其实用很少的代码区解决一个复杂的问题反而是最好的代码。
其次,我发现,编程前一定要掌握原理。我就是在知道先来先服务的调度算法的原理之后才知道如何去编码。
再次,编程一定要考虑周到。一开始,我只认为该程序不就是对到达时间进行排序嘛。后来,才发现,这样一来,进程名和进程运行时间就不能和进程到达时间保持一致了。
最后,我发现,我编码能力还有待提高。如进程名,我就不知道怎么用字母表示。
|
|||||||||||
教 师 评 价
|
评定项目
|
A
|
B
|
C
|
D
|
评定项目
|
A
|
B
|
C
|
D
|
|
算法正确
|
|
|
|
|
界面美观,布局合理
|
|
|
|
|
||
程序结构合理
|
|
|
|
|
操作熟练
|
|
|
|
|
||
语法、语义正确
|
|
|
|
|
解析完整
|
|
|
|
|
||
实验结果正确
|
|
|
|
|
文字流畅
|
|
|
|
|
||
报告规范
|
|
|
|
|
题解正确
|
|
|
|
|
||
其他:
评价教师签名:
年 月
日
|
|||||||||||
操作系统进程调度(FCFS)算法
原创
©著作权归作者所有:来自51CTO博客作者kechengsheji的原创作品,请联系作者获取转载授权,否则将追究法律责任
华北科技学院计算机系综合性实验
实 验 报 告
课程名称
操作系统C
实验学期
2008 至 2009 学年 第 2 学期
学生所在系部
计算机系
年级 2006 专业班级 网络xxxxxxxxx
学生姓名 xxxxxx 学号
2006070XXXXXXX
任课教师 杜杏菁
实验成绩
计算机系制
实验报告须知
1、 学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。
2、 学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等。
3、 教师应该填写的内容包括:实验成绩、教师评价等。
4、 教师根据本课程的《综合性实验指导单》中实验内容的要求,评定学生的综合性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。
5、 未尽事宜,请参考该课程的实验大纲和教学大纲。
《 操作系统C 》课程综合性实验报告
开课实验室: 基础实验室1 2009 年 5 月 20 日
上一篇:博客建立公告
下一篇:计算机网络原理实验报告(一)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
操作系统 动态优先权进程调度实验 记录分享
操作系统 动态优先权进程调度实验记录分享
时间片 2d 测试数据 操作系统 实验 -
磁盘调度算法FCFS、SSTF、SCAN、CSCAN详解
四种常见的磁盘调度算法的介绍与实现
磁盘 调度 算法 Java 实现 -
先来先服务调度(FCFS)算法及优缺点
毫无疑问,最简单的 CPU 调度算法是先来先服务(FCFS)调度箅法。釆用这种方案,先请
算法 平均等待时间 等待时间 执行时间