文档详情

实验一进程控制和调度.pdf

发布:2024-12-29约1.1万字共11页下载文档
文本预览下载声明

实验报告

课程名称操作系统班级实验日期

姓名学号实验成绩

实验名称进程控制和调度

实验

目的

用高级语言编写和调试进程调度的模拟程序,以加深对进程调度算法的理解。

要求

MicrosoftVisualStudio

1、自定义进程相关的数据结构;

2、利用MFC类库中的栈(queue),链表(list),向量(vector)等模板模拟进程控制块队

列、进程控制块优先级队列、统计信息链表及其指令集合;

3、利用MSDN和MFCAPI编程实现常见的进程控制和调度策略(先来先服务算法

(FCFS调度法)、短作业(进程)优先调度算法(SJ调度算法)、最高优先权优

先调度算法(优先调度算法)、时间片轮转算法(RR调度算法));

4、测试以上进程调度策略的周转时间、带权周转时间、平均周转时间和平均带权周

转时间,并定性评价它们的性能。

FCFS调度算法

SJ调度算法

Main()

算优先调度算法

法RR调度算法

描创建和显示进程状态算法:PCB*CreatPCB(intn)

FCFS调度算法

述功能:根据进程到达的顺序进行调度,先到达的进程先执行。在就绪队列中排的

越靠前越先执行

及算法:voidFCFS(PCB*head,PCB*over)

SJ调度算法

实功能:从就绪队列中选出剩余执行时间最短的就绪进程进行执行。执行结束后继

续从就绪队列中选出剩余执行时间最短的。直到所有进程都被执行完。

验算法:voidSJF(PCB*head,PCB*over)//sjf算法

优先调度算法(Prio):

步功能:从就绪队列中选出优先级别最高的进程进行执行。重复进行。直到所有的

所有的进程执行完毕。

骤算法:voidPrio(PCB*head,PCB*over)

RR调度算法:

功能:根据时间片的大小,对每个进程依次执行。时间片用完之后进程进入阻塞

的状态,重新得到时间片后接着执行。直到完成。

算法:voidRR(PCB*head,PCB*over,intt,intk)//时间片轮转法

先来先服务算法(FCFS调度法):

短作业(进程)优先调度算法(SJ调度算法):

最高优先权优先调度算法(优先调度算法):

时间片轮转算法(RR调度算法):

优点:程序中的数组采用了动态开辟的方法,有效地减少了对于空间的占用。提

总高了空间的利用率。输出的界面比较的

显示全部
相似文档