操作系统c进程调度算法实验报告

上传人:仙*** 文档编号:35268384 上传时间:2021-10-26 格式:DOC 页数:9 大小:159KB
收藏 版权申诉 举报 下载
操作系统c进程调度算法实验报告_第1页
第1页 / 共9页
操作系统c进程调度算法实验报告_第2页
第2页 / 共9页
操作系统c进程调度算法实验报告_第3页
第3页 / 共9页
资源描述:

《操作系统c进程调度算法实验报告》由会员分享,可在线阅读,更多相关《操作系统c进程调度算法实验报告(9页珍藏版)》请在装配图网上搜索。

1、华北科技学院计算机系综合性实验报告华北科技学院计算机系综合性实验实 验 报 告 课程名称 操作系统C 实验学期 2012 至 2013 学年 第 2 学期学生所在系部 计算机系 年级 2010 专业班级 网络B10 学生姓名 学号 任课教师 杜杏菁 实验成绩 计算机系制 操作系统C课程综合性实验报告 开课实验室: 基础六机房 2013 年 6月 3日实验题目 进程调度算法模拟一、实验目的通过对进程调度算法的模拟,进一步理解进程的基本概念,加深对进程运行状态和进程调度过程、调度算法的理解。二、设备与环境1. 硬件设备:PC机一台2. 软件环境:安装Windows操作系统或者Linux操作系统,并

2、安装相关的程序开发环境,如C C+Java 等编程语言环境。三、实验内容(1)用C语言(或其它语言,如Java)实现对N个进程采用某种进程调度算法(如动态优先权调度)的调度。(2)每个用来标识进程的进程控制块PCB可用结构来描述,包括以下字段: 进程标识数ID。 进程优先数PRIORITY,并规定优先数越大的进程,其优先权越高。 进程已占用CPU时间CPUTIME。 进程还需占用的CPU时间ALLTIME。当进程运行完毕时,ALLTIME变为0。 进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入阻塞状态。 进程被阻塞的时间BLOCKTIME,表示已

3、阻塞的进程再等待BLOCKTIME个时间片后,将转换成就绪状态。 进程状态STATE。 队列指针NEXT,用来将PCB排成队列。(3)优先数改变的原则: 进程在就绪队列中呆一个时间片,优先数增加1。 进程每运行一个时间片,优先数减3。(4)为了清楚地观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。四、实验结果及分析1.实验代码#include #includeusing namespace std; struct programchar name; /*进程名*/int atime; /*到达时间*/int st

4、ime; /*服务时间*/int ftime; /*完成时间*/int rtime; /*周转时间*/float qrtime; /*带权周转时间*/; void xianshi(struct program a,int n)int i,j; struct program t;/*将进程按时间排序*/ printf(根据到达时间重新排序:n);printf(*进程*到达时间*服务时间*n);for(j=0;jn-1;j+) for(i=0;iai+1.atime) t.atime=ai.atime;ai.atime=ai+1.atime;ai+1.atime=t.atime; t.name=a

5、i.name;ai.name=ai+1.name;ai+1.name=t.name; t.stime=ai.stime;ai.stime=ai+1.stime;ai+1.stime=t.stime; for(i=0;in;i+) printf( %c %d %d |n,ai.name, ai.atime,ai.stime);printf(-n); void fcfs(struct program a,int n) int i;int time=0;for(i=0;in;i+) time=time+ai.stime;ai.ftime=time; ai.rtime=ai.ftime-ai.atim

6、e; ai.qrtime=(float)ai.rtime/ai.stime;printf(nFCFS算法:n);printf(*进程*到达时间*完成时间*周转时间*带权周转时间*n);for(i=0;in;i+) printf( %c %d %.2d %.2d %.2f |n,ai.name,ai.atime, ai.ftime,ai.rtime,ai.qrtime);printf(-n);void main()int i,m;struct program pro4;/*创建进程 */ printf( *先来先服务算法* n);printf(请输入进程的数目:n);scanf(%d,&m);i

7、=m;for(i=0;iproi.nameproi.atimeproi.stime;xianshi(pro,m);fcfs(pro,m); getchar();2.实验结果 进程的初始化,先输入进程的数目。创建3个进程,并且分别给它们的进程ID、到达时间、服务时间赋值。首先根据到达时间重新将进程按由小到大的顺序排序,然后再使用FCFS算法,模拟进程快调度过程。3.实验结果分析本次进程调度算法采用的是先来先服务(FCFS)调度算法,这是一种最简单的调度算法,该算法既可以用于作业调度,也可以用于进程调度。 再作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将

8、它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。再进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。该进程一直运行到完成或发生某事件而后才放弃处理机。此次实验输入了n个进程为例子。它们的名称分别为a,b,c,达到时间分别为2,0,1需要服务的时间分别为3,2,5。然后根据它们的到达时间进行重新排列,插入就绪队列之中。之后,再通过FCFS算法为它们分配处理机,进行处理。将它们的完成时间记录到自身的成员变量ftime之中,然后通过公式:周转时间=完成时间-达到时间,计算出周转时间。再通过公式:带权周转时间=周转时间/服务时间

9、。计算出带权周转时间。可以看出,采用FCFS算法,先来的进程优先服务,它们的带权周转时间都要比之后的进程要短。五、实验心得 经过这次课程设计,把课本中的理论知识转化为实践,在一定程度上加深了对优先级数调度和循环调度算法的理解,同时提高了我的动手编程能力。虽然在编程的过程中,遇到了很多的困难。但是我掌握了很多东西。我掌握了先来先服务的进程调度算法,掌握了程控制块的定义,也掌握了对就绪队列,完成队列中节点的选择和插入。操作系统中的一个核心的问题就是进程调度问题。对于不同的作业条件,情况,特点,都有不同的需求和特性。所以采用合理的有针对性的进程调度算法至关重要。采用的正确的进程调度算法,不仅可以让多

10、个进程并发执行,而且还可以最大化的利用处理机的工作时间。这种高效率的调度策略使得计算机能够很良好的协调各个进程或作业之间的调度,从而使得计算机的运算速度有了极大地提高。此外,我也对其它的调度方法同样有了一个深刻的了解,而且在对C语言的使用上有了一个新的高度,希望在以后的试验中做的更好。在将来的学习中,我将继续努力加深理解操作系统的工作原理。计算机操作系统中运用到了很多知识,我想我们从这门课中学到的东西不仅仅只是书本上这么点东西,可以说操作系统是所有的其他计算机知识的基础,但是它也借鉴了很多其他方面的知识,比如通信方面的知识,其实计算机在解决cpu与接口的矛盾的时候很大程度上的模仿了通信学科。教 师 评 价评定项目ABCD评定项目ABCD算法正确界面美观,布局合理程序结构合理操作熟练语法、语义正确解析完整实验结果正确文字流畅报告规范题解正确其他:评价教师签名:年 月 日第 8 页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!