没有合适的资源?快使用搜索试试~ 我知道了~
首页操作系统课设 进程调度模拟程序的设计
操作系统课设 进程调度模拟程序的设计
5星 · 超过95%的资源 需积分: 10 35 下载量 8 浏览量
更新于2023-03-03
评论 5
收藏 238KB DOC 举报
1.设计一个采用优先数调度算法的模拟进程调度程序。 2.设计一个采用时间片轮转调度算法的模拟进程调度程序。 3.进程调度模拟程序的设计(包括至少2种
资源详情
资源评论
资源推荐
肇庆学院 计算机科学与技术 麦小筠
目 录
一、 实验题目...................................................................................................................................2
二、 实验要求...................................................................................................................................2
三、 实验目的...................................................................................................................................2
四、 实验内容...................................................................................................................................2
五、 实验选题...................................................................................................................................3
六、 实验设备...................................................................................................................................3
七、 实验前知识准备......................................................................................................................3
7.1 进程.......................................................................................................................................3
7.2 进程三种基本状态...............................................................................................................3
7.3 进程调度...............................................................................................................................4
7.4 时间片轮转算法...................................................................................................................4
7.5 优先数调度算法...................................................................................................................4
7.6 先来先服务调度算法...........................................................................................................5
7.7PCB........................................................................................................................................5
八、 程序主要部分详细分析..........................................................................................................5
8.1 算法的中心思想...................................................................................................................5
8.2 进程控制块的创建...............................................................................................................6
8.3 选择函数 choose()................................................................................................................6
8.4 增加函数 Add().....................................................................................................................8
8.5 排序函数 MaoPao()............................................................................................................10
8.6 打印函数 print()..................................................................................................................11
8.7 进程调度函数 Work().........................................................................................................12
8.8 主函数.................................................................................................................................14
九.实验感想..................................................................................................................................16
十.实验结果与分析.........................................................................................................................17
十一.程序清单.................................................................................................................................20
九、 参考文献.................................................................................................................................25
1
肇庆学院 计算机科学与技术 麦小筠
一、实验题目
进程调度模拟程序
二、实验要求
1.掌握进程管理中主要数据结构的设计。
2.熟悉进程调度算法、进程控制机构、同步机构、通讯机构的实施。
三、实验目的
1.加深对进程、进程控制块及进程队列等概念的理解。
2.了解优先数和时间片轮转调度算法的具体实施办法,加深对进程管
理各部分内容的理解。
四、实验内容
可按实际情况选择以下列出的 1 个题目:
1.设计一个采用优先数调度算法的模拟进程调度程序。
2.设计一个采用时间片轮转调度算法的模拟进程调度程序。
3.进程调度模拟程序的设计(包括至少 2 种调度算法)。
要求如下:
(1)设计进程控制块 PCB 表结构,分别适用于优先权调度算法和时间
片轮转调度算法。
PCB 结构包括以下信息:进程名、进程优先数(或轮转时间片),进程
所占用的 CPU 时间,进程的状态,当前队列指针等。根据调度算法的不同 ,
PCB 结构的内容可以作适当的增删。
(2)建立进程就绪队列。对两种不同算法编制入链子程序。
(3)设计的程序中能显示或打印进程控制块的动态变化过程。
2
结束
肇庆学院 计算机科学与技术 麦小筠
五、实验选题
根据实验要求,本人此次选题为“设计一个采用优先数调度算法的模拟
进程调度程序”
六、实验设备
运行环境:Windows XP
开发平台:Visual C++ 6.0
七、实验前知识准备
7.1 进程
进程是进程实体的运行过程,是可并发执行的程序在一个数据集合上的
运行过程。
程序段,数据段,进程控制块构成了一个进程实体。
7.2 进程三种基本状态
等待态:等待某个事件的完成;
就绪态:等待系统分配处理器以便运行;
运行态:占有处理器正在运行。
运行态→等待态 往往是由于等待外设,等待主存等资源分配或等待人工干
预而引起的。
等待态→就绪态 则是等待的条件已满足,只需分配到处理器后就能运行。
运行态→就绪态 不是由于自身原因,而是由外界原因使运行状态的进程让
出处理器,这时候就变成就绪态。例如时间片用完,或有更高优先级的进程来
抢占处理器等。
就绪态→运行态 系统按某种策略选中就绪队列中的一个进程占用处理器,
此时就变成了运行态
中断
3
新 进
程
肇庆学院 计算机科学与技术 麦小筠
接纳
完成
I/O 请求或等待谋事
I/O 完成或
事件发生
图 7-1 进程基本状态图
7.3 进程调度
无论是在批处理系统还是分时系统中,用户进程数一般都多于处理
机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用
处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给
处于就绪队列中的某一个进程,以使之执行。
7.4 时间片轮转算法
RR (rotate run)算法即时间片轮转调度算法。这种方法是一种剥
夺式的调度算法, 主要用于进程调度。系统将所有就绪进程按先来先服
务的原则排成一个队列,每次调度时把 CPU 分配给队首进程,并让它
执行一个时间片。当执行的时间片用完时,由一个计时器发出时钟中断,
调度程序便据此信号来停止该进程的执行,然后该处理机分配给就绪队
列中新的队首进程,同时也保证它执行一个时间片。这就可保证就绪队
列中的所有进程在一定的时间内均能获得一个时间片的处理机执行时间。
7.5 优先数调度算法
为了照顾到紧迫型作业在进入系统便能获得优先处理,引入了最高
优先权调度算法,它常被用于批处理系统中作为作业调度算法,以及作
为多种操作系统中的进程调度算法,也可以用于实时系统中。当将该算
法用于作业调度时,系统将从后备队列中选择若干个优先权最高的作业
调入系统中,用于进程调度时,是把处理机分配给就绪队列中选择若干
个优先权最高的进程。
该算法有两种类型:
非抢占式优先权算法
4
就 绪
运
行
等 待
肇庆学院 计算机科学与技术 麦小筠
在这种方式下,系统一旦把处理机分配给就绪队列中优先权最
高的进程后,该进程便一直执行下去,直到完成;或因某事件使该
进程放弃处理机时,系统将处理机分配给另一优先权高的进程。
抢占式优先权调度算法
系统同样将处理机分配给优先权最高的进程,一旦出现另一个
优先权更高的进程时,进程调度程序就停止原最高优先权进程的执
行,而将处理机分配给新出现的优先权更高的进程。
该算法中,优先权同样有两种类型:
静态优先权
其优先权在创建进程时就确定,且规定它在整个进程的运行期
间保持不变。
动态优先权
在创建进程所赋予的优先权可以随进程的推进而改变,以便更
好地调度性能。
7.6 先来先服务调度算法
按照作业到达系统或进程进入就绪对列的先后次序来选择。对于进
程调度来说,一旦一个进程占有了处理器,它就一直运行下去,直到该进
程完成其工作或者因等待事件而不能继续运行时才释放出处理器。
7.7PCB
进程控制块,是进程实体的一部分,记录了操作系统所需,用于描
述进程情况以及控制进程运行所需要的全部信息。
八、程序主要部分详细分析
8.1 算法的中心思想
根据选题,本次设计主要是设计一个动态优先权调度算法,属于抢占式。
定义结构体 PCB 描述进程的进程控制块,定义数组 PCB pcb[N]存放进程,
首先,规定每次轮转的时间片,进程调度程序调用 choose()函数选择所要进
行的操作;由排列函数 MaoPao()先对进程进行先来先服务算法排列,再按
优先数算法排列;使用调度函数 work()对在列进程进行优先数算法调度,
5
剩余24页未读,继续阅读
cyf1026249247
- 粉丝: 1
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- stc12c5a60s2 例程
- Android通过全局变量传递数据
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5