广工操作系统的实验报告材料_第1页
广工操作系统的实验报告材料_第2页
广工操作系统的实验报告材料_第3页
广工操作系统的实验报告材料_第4页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、实验报告课程名称操作系统实验学生学院计算机学院专业班级计算机科学与技术学号学生姓名指导教师孙为军2015 年 12月 30日实验一进程调度一、实验目的编写并调试一个模拟的进程调度程序, 以加深对进程的概念及进程调度算法的理解二、实验内容1. 采用“短进程优先”调度算法对五个进程进行调度。每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、到达时间、需要运行时间、已用 CPU时间、进程状态等等。2. 每个进程的状态可以是就绪 W( Wait )、运行 R(Run)、或完成 F(Finish )三种状态之一。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的

2、 PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。三、实现思路先考虑实现进程调度所需要的数据结构,然后根据所需要的算法进行设计。四、主要的数据结构进程控制块 PCB:struct pcb char name10;char state;int ntime;int rtime;struct pcb* link;*ready=NULL,*p;五、算法流程图开始初始化 PCB, 输入进程信息各进程按FCFS 原则排队等待调度所有队列都为空就绪队列首进程投入运行时间片到, 运行进程已占用 CPU 时间 +1运行进程已占用CPU 时间已达到所需的运行时间插入新的进程把运行进程插入到下一个队列的

3、队尾进程完成,撤消该进程六、运行与测试输入进程信息 :输入完毕 , 显示当前运行以及就绪的进程:优先运行短进程七、改进的方向界面比较难看,可以中文化信息。实验二作业调度一、实验目的用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。二、实验内容1写并调试一个单道处理系统的作业等待模拟程序。2作业等待算法:分别采用先来先服务(FCFS)、响应比高者优先(HRN)的调度算法。3由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU时限等因素。4每个作业由一个作业控制块 JCB表

4、示, JCB可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。作业的状态可以是等待 W(Wait) 、运行 R(Run)和完成 F(Finish) 三种状态之一。每个作业的最初状态总是等待 W。5对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间。三、实现思路首先根据题目的要求,先设想出作业调度所需的数据结构,包括题目中的作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针以及在作业运行完成后需要现实的信息包括开始运行时刻、完成时刻、周转时间、带权周转时间。在完成数据结构的构

5、造后,在对每一个模块进行编写。在作业调度中,与实验一的进程调度有所不同的是需要增加一个总体的变量, 运行的时间。在本实验中需要实现两种不同的算法,所以这也需要特别去考虑。四、主要的数据结构作业控制块 jcbstruct jcbchar name10;int tjtime;int kstime;int ntime;int nresource;float super;int ftime;float zztime;float dqtime;char state;struct jcb *link;*ready=NULL,*p,*q;五、算法流程图六、运行与测试运行程序后首先选择一个算法:首先先选择先来

6、先服务算法, 输入作业数据后, 显示各个作业, 并显示开始运行时刻、完成时刻、周转时间、带权周转时间 :运行了三次后,可以看出目前的算法是先来先服务算法:所有作业运行结束后,显示平均周转时间以及平均带权周转时间:现在选择响应比高者优先算法,并输入一组新数据后显示:运行一次后,由于C 的相应比高于 B,所以先运行:完成运行后显示相应的数据:七、改进的方向界面可以改进成图形界面, 可以实现将运行完的作业保留下来并且在其运行状态改为 F 的功能,还可以实现在所有作业运行完毕后将所有作业的相关数据集合成一张简单的表的功能。实验三动态分区分配方式的模拟1、实验目的了解动态分区分配方式中的数据结构和分配算

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

8、50KB? 作业 8 申请 60KB请分别采用首次适应算法和最佳适应算法进行内存的分配和回收, 要求每次分配和回收后显示出空闲内存分区链的情况。三、实现思路使用双向链表来表示存储空间,整题的总体思路在于操作该链表,只是在分配空间需要考虑不同的算法实现。四、主要的数据结构空闲区说明表结构typedef struct FreeAint NUM;long size;long address;int state;ElemType;双向链表存储结构typedef struct NLNodeElemType data;struct NLNode *prior;struct NLNode *next;NLN

9、ode,*NLinkList;五、算法流程图六、运行与测试运行程序,显示选择两种不同算法的界面:选择首次适应算法,直接显示当前的分配情况以及有两个分配回收内存的功能:根据题目要求输入相应的请求序列:选择最佳适应算法,再次输入题目要求的作业请求序列:七、改进的方向界面可以改进成图形界面,增加对主存剩余地址的输出,增加更多种的内存动态分配的算法以及对内存操作的功能。实验四多级反馈调度队列调度算法一、实验内容用高级语言实现多级调度,调度算法自由选择。本实验选择两道处理系统,相对应的算法包括: 作业调度使用先来先服务算法, 进程调度使用短进程优先算法。二、实现思路根据前面的实验一以及实验二,结合经验设计。三、主要的数据结构进程控制块 pcbstruct pcb char state;作业控制块 jcbstruct jcbchar name10;int tjtime;int ntime;char state;struct pcb *l;struct jcb *link;*ready=NULL,*p,

温馨提示

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

评论

0/150

提交评论