云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 动态优先权进程调度算法模拟实验报告资料

动态优先权进程调度算法模拟实验报告资料

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 23:30:23

郑州轻工业学院

实 验 报 告

实验名称 动态优先权进程调度算法模拟

课程名称 计算机操作系统

专业班级: 学生姓名: 学 号: 成 绩:

指导教师: 实验日期:

郑州轻工业学院 实 验 报 告

一﹑实验目的: 通过动态优先权算法的模拟加深对进程概念和进程调度过程的理解。 二﹑实验内容: (1)用C语言(或其它语言,如Java)实现对N个进程采用某种进程调度算法(如动态优先权调度)的调度。 (2)每个用来标识进程的进程控制块PCB可用结构来描述,包括以下字段: ? 进程标识数ID。 ? 进程优先数PRIORITY,并规定优先数越大的进程,其优先权越高。 ? 进程已占用CPU时间CPUTIME。 ? 进程还需占用的CPU时间ALLTIME。当进程运行完毕时,ALLTIME变为0。 ? 进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入阻塞状态。 ? 进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME个时间片后,将转换成就绪状态。 ? 进程状态STATE。 ? 队列指针NEXT,用来将PCB排成队列。 (3)优先数改变的原则: ? 进程在就绪队列中呆一个时间片,优先数增加1。 ? 进程每运行一个时间片,优先数减3。 (4)为了清楚地观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。 (5)分析程序运行的结果,谈一下自己的认识。 三、设计思路和方法 通过VC++程序模拟动态优先权程序调度算法,主要思路和方法就是,通过结构体模拟计算机的控制模组,构造一个PCB结构体即进程控制块结构体,用来记录当前进程的的相关状态信息,包括进程标识符、处理机状态、进程调度信息、进程控制信息。并通过C++语言模拟计算机的相关调度算法,对构建的PCB进程进行模拟调度和运行,从而实现用计算机对进程的调度过程进行过程仿真。 1

郑州轻工业学院 实 验 报 告

四、数据结构和算法 数据结构: 1. 包含PCB信息的结构体 2. 包含进程信息的顺序表结构 算法: 优先权=(等待时间+要求服务时间)/要求服务时间 Rp=(等待时间+要求服务时间)/要求服务时间=相应时间/要求服务时间 系统将所有就绪队列按优先级高低排成一个队列,每次调度时,将CPU分配给优先级最高的进程,并令其执行一个时间片,而后中断,寻找并运行下一个优先级最高的进程。而所有进程的优先权在随进程的推进或随其等待时间的增加而增加,而被调度之后的程序则降低一定的优先级,从而使所有进程都有运行的机会,从而保证系统能在给定的时间内响应所有用户的请求。 五﹑程序代码和输出 1 程序代码如下 #include \#include \//#define N 3 typedef struct{ int ID; int PRIORITY; int CPUTIME; int ALLTIME; int STARTBLOCK; int BLOCKTIME; int STATE;//0-运行 1-阻塞 2-就绪 3-结束 4-未到达 int REACH; int TIME; }PROCESS; void textcolor (int color) { SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), color ); } void main(){ int i,time,max,l,l1,time1,flag=0,total=0,N,server[10],sum=0; 2

郑州轻工业学院 实 验 报 告

PROCESS pro[10]; textcolor(13); cout<<\注意:本程序中状态代表如下\运行 1-阻塞 2-就绪 3-结束 4-未到达\ textcolor(15); cout<<\请输入进程数:\ cin>>N; cout<<\请设置时间片长度:\ cin>>time; cout<<\请输入各进程初始状态:\ cout<<\ PRIORITY REACH ALLTIME STARTBLOCK BLOCKTIME\ for(i=0;i>pro[i].ID>>pro[i].PRIORITY>>pro[i].REACH; cin>>pro[i].ALLTIME>>pro[i].STARTBLOCK>>pro[i].BLOCKTIME; server[i]=pro[i].ALLTIME; if(pro[i].REACH==0) pro[i].STATE=0; else pro[i].STATE=4; } do{ cout<

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

郑州轻工业学院 实 验 报 告 实验名称 动态优先权进程调度算法模拟 课程名称 计算机操作系统 专业班级: 学生姓名: 学 号: 成 绩: 指导教师: 实验日期: 郑州轻工业学院 实 验 报 告 一﹑实验目的: 通过动态优先权算法的模拟加深对进程概念和进程调度过程的理解。 二﹑实验内容: (1)用C语言(或其它语言,如Java)实现对N个进程采用某种进程调度算法(如动态优先权调度)的调度

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com