计算机操作系统进程调度实验报.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机操作系统进程调度实验报.pdf》由会员分享,可在线阅读,更多相关《计算机操作系统进程调度实验报.pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系统实验题:设计一若干并发进程的进程调度程序一、实验目的无论是批处理系统、分时系统还是实时系统,用户进程数一般都大于处理机数,这将导致用户进程互相争夺处理机。这就要求进程调度程序按一定的策略,动态地把处理及分配给处于就绪队列中的某一进程,以使之执行。进程调度是处理机管理的核心内容。本实验要求采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法编写和调试一个简单的进程调度程序。通过本实验可以加深理解有关进程控制块、进程队列的概念。并体会了优先数和先来先服务调度算法的具体实施办法。二、实验要求用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理
2、解三、实验内容进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法(将用户作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理)。每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU 时间、进程状态等等。进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪W(Wait)、运行 R(Run)、或完成 F(Finish)三种状态之一。就绪进程获得
3、CPU 后都只能运行一个时间片。用已占用CPU时间加 1 来表示。如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU 时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待 CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。四、实验算法流程调度算法的流程图如下:第 2 页 共 10 页2 五、实验程序清单#include stdio.h#include#include#define
4、getpch(type)(type*)malloc(sizeof(type)#define NULL 0 struct pcb /*定义进程控制块 PCB*/char name10;char state;第 3 页 共 10 页3 int super;int ntime;int rtime;struct pcb*link;*ready=NULL,*p;typedef struct pcb PCB;char sort()/*建立对进程进行优先级排列函数*/PCB*first,*second;int insert=0;if(ready=NULL)|(p-super)(ready-super)/*优
5、先级最大者,插入队首*/p-link=ready;ready=p;else/*进程比较优先级,插入适当的位置中*/first=ready;second=first-link;while(second!=NULL)if(p-super)(second-super)/*若插入进程比当前进程优先数大,*/*插入到当前进程前面*/p-link=second;first-link=p;second=NULL;insert=1;else/*插入进程优先数最低,则插入到队尾*/first=first-link;second=second-link;if(insert=0)first-link=p;char
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 进程 调度 实验
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内