实验三 - 进程调度实验上机

更新时间:2023-11-05 00:35:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

预习要求:

1、事先编好程序;

2、准备好需要输入的中间数据; 3、估计可能出现的问题; 4、预计可能得到的运行结果。

实验三 进程调度实验

实验目的要求:用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。 实验内容:

1、设计一个有 N个进程共行的进程调度程序。

进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)或先来先服务算法。每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:

进程名、优先数(假设优先数的值越大优先级别越高)、到达时间、需要运行时间、已用CPU时间、进程状态等等。

进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。 进程的运行时间以时间片为单位进行计算。 每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。

就绪进程获得 CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。 如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。

每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。

重复以上过程,直到所有进程都完成为止。

2、设计进程,根据所设计的进程,分析其调度顺序,并列出甘特图

同学们自己写

3、实验总结:

同学们自己写

4.扩展题:

编写并调试一个模拟的进程调度程序,采用“轮转法”调度算法对五个进程进行调度。轮转法可以是简单轮转法、可变时间片轮转法,或多队列轮转法。

简单轮转法的基本思想是:所有就绪进程按 FCFS排成一个队列,总是把处理机分配给队首的进程,各进程占用CPU的时间片相同。如果运行进程用完它的时间片后还为完成,就把它送回到就绪队列的末尾,把处理机重新分配给队首的进程。直至所有的进程运行完毕。

,

测试数据,每位同学自己设计,自己输入以下数据仅供参考。

本文来源:https://www.bwwdw.com/article/mma2.html

Top