操作系统实验报告 联系客服

发布时间 : 星期日 文章操作系统实验报告更新完毕开始阅读847404096137ee06eef9184f

操作系统实验报告

学生学院 计算机学院 专业班级 计算机科学与技术3班 学 号 3213005910 学生姓名 林虹 指导教师 丁国芳

2015 年 12 月 15 日

目录

1 实验一 进程调度 …………………………………………………………………… 1 2 实验二 银行家算法 ………………………………………………………………… 16 3 实验三 动态分区分配方式的模拟 ……………………………………………… 20 4 实验四

仿真各种磁盘调度算法 …………………………………………………..26

实验一 进程调度

1. 实验目的

编写并调试一个模拟的进程调度程序,分别采用“短进程优先”、“时

间片轮转”、“高响应比优先”调度算法对随机产生的五个进程进行调度,并比较算法的平均周转时间。以加深对进程的概念及进程调度算法的理解。

2. 实验要求

1. 每个进程由一个进程控制块( PCB)表示,进程控制块可以包含如下信息:进程

名、优先数(响应比)、到达时间、需要运行时间(进程的长度)、已运行时间、进程状态等等(可以根据需要自己设定)。

2. 由程序自动生成进程(包括需要的数据,要注意数据的合理范围),第一个进程到

达时间从0开始,其余进程到达时间随机产生。

3. 采用时间片轮转调度算法时,进程的运行时间以时间片为单位进行计算。 4. 每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种

状态之一。

5. 每进行一次调度,程序都要输出一次运行结果:正在运行的进程、就绪队列中的进

程、完成的进程以及各个进程的 PCB,以便进行检查。 6. 最后计算各调度算法的平均周转时间,并进行比较、分析。

3. 实验内容 a.算法原理 (1)短进程优先调度算法 “短进程优先”调度算法的基本思想是把CPU分配给就绪队列中需要时间最短的进 程。

(2)时间片轮转算法

将系统中所有的就绪进程按照FCFS原则,排成一个队列。每次调度时将CPU 分派给队首进程,让其执行一个时间片。时间片的长度从几个ms到几百ms。在一个时 间片结束时,发生时钟中断。调度程序据此暂停当前进程的执行,将其送到就绪队列的 末尾,并通过上下文切换执行当前的队首进程。进程可以未使用完一个时间片,就出让 CPU。

(3)高响应比优先算法

HRRN调度策略同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入执行。

每个作业完成后要打印该作业的开始运行时刻、完成时刻、周转时间和带权周转时间,这一组作业完成后要计算并打印这组作业的平均周转时间、带权平均周转时间。

b.程序流程图

c.重要数据结构

d.各程序说明及关系 1. void input() 输入进程函数