操作系统C-进程调度算法实验报告_第1页
操作系统C-进程调度算法实验报告_第2页
操作系统C-进程调度算法实验报告_第3页
操作系统C-进程调度算法实验报告_第4页
操作系统C-进程调度算法实验报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华北科技学院算机系合性实验实验报告课程名称实验学期

操作系统至

学年2学期学生所在系部

计算机系年级学生姓名任课教师实验成绩

专业班级学号杜杏菁

网络B10计算机系制

华北科技学院计算机系综合性实验报告《操作系》课程综合性实验告开实室基础机

2013年

6

3实验题目

进调算模一、实验目的通过对进程调度算法的模拟步解进程的基本概念对进程运行状态和进程调度过程、调度算法的理解。二、设备与环境硬设备机台软环境:安装操作系统或者操系,并安相关的程序开发环境,如等程语言环境。三、实验内容(1用语(或其它语言,如)实现对个程采用某种进程调度算法(如动态优先权调度)的调度。(2每个用来标识进程的进程控制块PCB可用结构来描述,包括以下字段:

进程标识数ID。进程优先数PRIORITY,并规优先数越大的进程,其优先权越高。进程已占用时CPUTIME进程还需占用的时。当进程运行完毕时ALLTIME变。进程的阻塞时间,表示当进程再运行STARTBLOCK个间片后,进程将入阻塞状态。进程被阻塞的时间BLOCKTIME表示已阻塞的进程再等待BLOCKTIME个间片后,将转换成就绪状态。进程状态STATE。队列指针NEXT,来将排队列。(3优先数改变的原则:

进程在就绪队列中呆一个时间片,优先数增加。进程每运行一个时间片,优先数减3。(4为了清楚地观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。第页

华北科技学院计算机系综合性实验报告四、实验结果及分析1.验代码#include<iostream>namespacestructprogram{name;/*进程名*int/*到达时间*int/*服务时间*/intftime;/*完成时间*intrtime;/*周转时间*float/*带权转时*};voidxianshi(structa[],intn){inti,j;structprogramt;/*进程按时间排*printf("据到达时间重新排序:\n");printf("*****程*************到时间***************务间*****\n");for(j=0;j<n-1;j++)for(i=0;i<n-1-j;i++)if(a[i].atime>a[i+1].atime){t.stime=a[i].stime;a[i].stime=a[i+1].stime;a[i+1].stime=t.stime;}第页

华北科技学院计算机系综合性实验报告for(i=0;i<n;i++)|\n",a[i].name,printf("----------------------------------------------------\n");}voidfcfs(structprograma[],intn){inti;inttime=0;for(i=0;i<n;i++){time=time+a[i].stime;a[i].ftime=time;a[i].rtime=a[i].ftime-a[i].atime;a[i].qrtime=(float)a[i].rtime/a[i].stime;}算:\n");printf("*****进程****到达时间****完成时间******周转时间*******带权周转时间*****\n");for(i=0;i<n;i++){%.2d%.2d%.2fa[i].ftime,a[i].rtime,a[i].qrtime);}printf("-----------------------------------------------------------------------\n");}void{inti,m;第页

华北科技学院计算机系综合性实验报告structprogram/*建进程*/******来服务算法******\n");printf("输入进程的数目:\n");i=m;for(i=0;i<m;i++){printf("输入进程%的程名,到达时间,服务时间cin>>pro[i].name>>pro[i].atime>>pro[i].stime;}getchar();}2.验结果进程的初始先输入进程的数目。创建个进程,并且分别给它们的进程ID到达时间、服务时间赋值。第页

华北科技学院计算机系综合性实验报告首先根据到达时间重新将进程按由小到大的顺序排序后使用算模进程快度过程。第页

华北科技学院计算机系综合性实验报告3.验结果分析本次进程调度算法采用的是先来先服(调算法是一种最简单的调度算法算法既可以用于作业调度,也可以用于进程调度。再业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业它们调入内存为它们分配资源创建进程,然后放入就绪队列。再进程调度中采法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程为之配处理机使之投入运行该进程一直运行到完成或发生某事件而后才放弃处理机。此次实验输入了n个程为例子。它们的名称分别为,达到时间分别为2,0,1需要服务的时间分别为。然后根据它们的到达时间进行重新排列,插入就绪队列之中。之后,再通过算法为它们分配处机,进行处理。将它们的完成时间记录到自身的成员变量ftime之,然后通过公式:周转时间=完成时间达到时间,计算出周时间。再通过公式:带权周转时=周转时间服务时间。计算出带权周转时间。可以看出,采用FCFS算,先来的进程优先服务,它们的带权周转时间都要比之后的进程要短。第页

华北科技学院计算机系综合性实验报告五、实心得加深了对优先级数调度和循环调度算法的理解同时。掌握了先来先服务的进程调度算法,掌握了程控制块的定义,也掌握了对就绪队列成列节点的选择和插入作系统中的一个核心的问题就是进程调度问题。对于不同的作业条件,情况,特点,都有不同的需求和特性。所以采用合理的有针对的进程调度算法至关重要采用正确的进程调度算法不仅可以让多个进程并发执行而且还可以最大化的利用处理机的工作时间高效率的调度策略使得计算机能够很良好的协调各个进程或作业之间的调度,从而使得计算机的运算速度有了极大地提高。此外,我也对其它的调度方法同样有了一个深刻的了解,而且在对C语的使用上有了一个新的高度希望在以后的试验做的更好在将来的学习中我将继续努力加深理解操作系统的工作原理算操作系统中用到了很多知识想我们从这门课中学到的东西不仅仅只

温馨提示

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

评论

0/150

提交评论