- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
广工操作系统2015实验报告精要
实 验 报 告
课程名称 操作系统实验
学生学院 计算机学院
专业班级计算机科学与技术
学 号
学生姓名
指导教师 孙为军
2015 年 12 月30日
实验一 进程调度
一、实验目的
编写并调试一个模拟的进程调度程序,以加深对进程的概念及进程调度算法的理解.
二、实验内容
1. 采用“短进程优先”调度算法对五个进程进行调度。每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、到达时间、需要运行时间、已用CPU时间、进程状态等等。
2. 每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。
三、实现思路
先考虑实现进程调度所需要的数据结构,然后根据所需要的算法进行设计。
四、主要的数据结构
进程控制块PCB:
struct pcb {
char name[10];
char state;
int ntime;
int rtime;
struct pcb* link;
}*ready=NULL,*p;
五、算法流程图
六、运行与测试
输入进程信息:
输入完毕,显示当前运行以及就绪的进程:
优先运行短进程
七、改进的方向
界面比较难看,可以中文化信息。实验二 作业调度
一、 实验目的
用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。
二、 实验内容
1. 写并调试一个单道处理系统的作业等待模拟程序。
2. 作业等待算法:分别采用先来先服务(FCFS)、响应比高者优先(HRN)的调度算法。
3. 由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU时限等因素。
4. 每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作业的最初状态总是等待W。
5. 对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间。
三、实现思路
首先根据题目的要求,先设想出作业调度所需的数据结构,包括题目中的作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针以及在作业运行完成后需要现实的信息包括开始运行时刻、完成时刻、周转时间、带权周转时间。
在完成数据结构的构造后,在对每一个模块进行编写。在作业调度中,与实验一的进程调度有所不同的是需要增加一个总体的变量,运行的时间。在本实验中需要实现两种不同的算法,所以这也需要特别去考虑。
四、主要的数据结构
作业控制块jcb
struct jcb
{
char name[10];
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;
五、算法流程图
六、运行与测试
运行程序后首先选择一个算法:
首先先选择先来先服务算法,输入作业数据后,显示各个作业,并显示开始运行时刻、完成时刻、周转时间、带权周转时间:
运行了三次后,可以看出目前的算法是先来先服务算法:
所有作业运行结束后,显示平均周转时间以及平均带权周转时间:
现在选择响应比高者优先算法,并输入一组新数据后显示:
运行一次后,由于C的相应比高于B,所以先运行:
完成运行后显示相应的数据:
七、改进的方向
界面可以改进成图形界面,可以实现将运行完的作业保留下来并且在其运行状态改为F的功能,还可以实现在所有作业运行完毕后将所有作业的相关数据集合成一张简单的表的功能。
实验三 动态分区分配方式的模拟
1、实验目的
了解动态分区分配方式中的数据结构和分配算法,并进一步加深对动态分区存储管理方式及其实现过程的理解
2、实验内容
1. 用C语言
文档评论(0)