当前位置: 技术问答>linux和unix
老师布置的一个操作系统中进程调度的实验...
来源: 互联网 发布时间:2017-04-27
本文导语: 这个是要求......... 1、设计有 n 个进程的程序,进程个数用随机数方法产生。其中每个进程控制块 PCB 参照 Linux task_struct 的数据结构内容,至少包含: 进程名(ID),进程优先数(Priority),进程状态标志(State...
这个是要求.........
1、设计有 n 个进程的程序,进程个数用随机数方法产生。其中每个进程控制块 PCB 参照 Linux task_struct 的数据结构内容,至少包含: 进程名(ID),进程优先数(Priority),进程状态标志(State),进程进入 CPU 的时间(In),程序需要运行的时间(Alltime)、队列指针。
2、用随机数的方法动态产生进程的优先级和运行时间,当前机内时间为其进入时间。
3、分别采用以下算法实现模拟调度。要求运行结果能够显示各进程状态的变化情况,调度序列及每个进程获得 CPU 的调度时间,计算周转时间以及 CPU 利用率,并将调度结果保存为文本文件。
4、调度算法
(1)设计基于静态优先级的立即抢占式调度算法
(2)设计将静态优先级调度改为动态优先级调度,优先级变化规则自己定义。
(2)设计时间片轮转调度算法,进程占用 CPU 的时间片由每个进程的优先数来确定。(约定:每个优先数对应 10 分钟,完成一次调度优先数减 1)
说明:我不是来求代码,当然这也不现实!主要是以前没有做过这样的课外实验,第一次搞有点生疏。我就是希望有好心人能告诉我一下这个整体的框架和思路,那些基本的调度算法,我想我还是能够写出来的。至于开发语言不管。
1、设计有 n 个进程的程序,进程个数用随机数方法产生。其中每个进程控制块 PCB 参照 Linux task_struct 的数据结构内容,至少包含: 进程名(ID),进程优先数(Priority),进程状态标志(State),进程进入 CPU 的时间(In),程序需要运行的时间(Alltime)、队列指针。
2、用随机数的方法动态产生进程的优先级和运行时间,当前机内时间为其进入时间。
3、分别采用以下算法实现模拟调度。要求运行结果能够显示各进程状态的变化情况,调度序列及每个进程获得 CPU 的调度时间,计算周转时间以及 CPU 利用率,并将调度结果保存为文本文件。
4、调度算法
(1)设计基于静态优先级的立即抢占式调度算法
(2)设计将静态优先级调度改为动态优先级调度,优先级变化规则自己定义。
(2)设计时间片轮转调度算法,进程占用 CPU 的时间片由每个进程的优先数来确定。(约定:每个优先数对应 10 分钟,完成一次调度优先数减 1)
说明:我不是来求代码,当然这也不现实!主要是以前没有做过这样的课外实验,第一次搞有点生疏。我就是希望有好心人能告诉我一下这个整体的框架和思路,那些基本的调度算法,我想我还是能够写出来的。至于开发语言不管。
|
大致的意思是:
首先按1初始化n个进程的参数;
按照2设定各个进程的运行的优先级别和需要的运行时间长度;
产生一个随机数m,始终保持让m(m
首先按1初始化n个进程的参数;
按照2设定各个进程的运行的优先级别和需要的运行时间长度;
产生一个随机数m,始终保持让m(m