操作系统实验_第1页
操作系统实验_第2页
操作系统实验_第3页
操作系统实验_第4页
操作系统实验_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、 操作系统实验报告 学 院 计算机学院 专业班级 网络工程(3)班 学 号 3116005001 姓 名 关启聪 指导老师 彭重嘉 2018年12月实验一 进程调度一、目的要求:用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。二、基本功能:本实验实现了四种进程调度算法:采用轮转(RR)、先来先服务(FCFS)、最短进程优先、静态优先级。每种功能都可以打印每个作业到达时间,完成时间,周转时间,带权周转时间,以及这组作业的平均周转时间和带权平均周转时间。三、实现思路短作业优先调度算法,是指对短作业或短进程优先调度的算法。他们可以分别用于作业调度和进程调度,短作业优先的

2、调度算法是从后备队列中选择一个或若干个估计运行时间最短的作业,将他们调入内存运行。而短进程优先调度算法则是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给他,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时再度重新调度。本程序采用了非抢占式短作业优先调度。而非抢占式这种方式,一旦把处理机分配给某进程后,便让该进程一直执行,直至该进程完成或发生某事件而被阻塞时,才再把处理机分配给其它进程,决不允许某进程抢占已经分配出去的处理机。四主要的数据结构struct pcb /* 定义进程控制块PCB */char name10; /进程名char state; /状态int su

3、per; /优先数int ntime; /运行需要的时间int rtime; /已经运行的时间struct pcb* link; *ready=NULL,*p;五算法流程图六.运行情况:1.初始界面测试短进程优先算法实验二 作业调度一、目的要求:用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。二、基本功能:作业调度算法分别采用先来先服务、短作业优先、静态优先权、高响应比优先每种功能都可以打印每个作业到达时间,完成时间,周转时间,带权周转时间,以及这组作业的平均周转时间和带权平均周转时间。3、 实现思路1.实验原理:先来先服务算法:是按照作业进入输入井的先后次序来挑

4、选作业,先进入输入井的作业优先被挑选,当系统中现有的尚未分配的资源不能满足先进入输入井的作业时,那么顺序挑选后面的作业。高响应比优先调度算法:根据作业要求服务时间和等待时间算出优先权,每次挑选优先权最高的作业先进入主存执行。2.设计方案:由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的CPU时限等因素。4、 主要的数据结构struct worktime float Tb; /作业运行时刻 float Tc; /作业完成时刻 float Ti; /周转时间 float Wi; /带权周转时间;struc

5、t jcb /*定义作业控制块JCB */ char name10; /作业名 float subtime; /作业提交时间 float runtime; /作业所需的运行时间 char resource; /所需资源 float Rp; /后备作业响应比 char state; /作业状态 struct worktime wt; struct jcb* link; /链指针*jcb_ready=NULL,*j;5、 算法流程图六、运行情况:1.初始界面2.测试2.1 先来先服务2.2高响应比优先实验三 动态分区分配方式的模拟一、实验目的 了解动态分区分配方式中的数据结构和分配算法,并进一步加

6、深对动态分区存储管理方式及其实现过程的理解二、实验内容1. 用C语言分别实现采用首次适应算法和最佳适应算法的动态分区分配过程和回收过程。其中,空闲分区通过空闲分区链(表)来管理;在进行内存分配时,系统优先使用空闲区低端的空间。2. 假设初始状态下,可用的内存空间为640KB,并有下列的请求序列:作业1申请130KB作业2申请60KB作业3申请100KB作业2释放60KB作业4申请200KB作业3释放100KB作业1释放130KB作业5申请140KB作业6申请60KB作业7申请50KB作业8申请60KB 请分别采用首次适应算法和最佳适应算法进行内存的分配和回收,要求每次分配和回收后显示出空闲内存

7、分区链的情况。3、 实现思路采用可变分区存储管理,选用首次适应算法实现主存分配和回收。FIFO(首次适应算法):从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法目的在于减少查找时间。为适应这种算法,空闲分区表(空闲区链)中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高地址空间保留大的空闲区。BF(最佳适应算法):所谓“最佳”是指,每次为作业分配内存时,总是把能满足要求,又是最小的空闲分区分配给作业,避免“大材小用”。为了加速寻找,该算法要求将所有的空闲分区按其容量以从小到大的顺序形成一空闲分区链。这样,第一

8、次找到的能满足要求的空闲区必然是最佳的。孤立地看,最佳适应算法似乎是最佳的,然后在宏观上却不一定。因为每次分配后所切割下来的剩余部分总是最小的,这样,在存储器中会留下许多难以利用的碎片。4、 主要的数据结构typedef struct freearea/定义一个空闲区说明表结构int ID; /分区号long size; /分区大小long address; /分区地址int state; /状态ElemType;/- 线性表的双向链表存储结构 -typedef struct DuLNode /double linked listElemType data;struct DuLNode *prior; /前趋指针struct DuLNode *next; /后继指针DuLNode,*DuLinkList;五、算法流程图六运行情况

温馨提示

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

评论

0/150

提交评论