- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
金融保险操作系统实验(进程调度+存储
管理+磁盘调度++银行家算法+文件系统
设计
操作系统实验
实验一 进程调度
一、实验目的
多道程序设计中,经常是若干个进程同时处于就绪状态,必须依照某种策略来决定那个进程优先占有处理
机。因而引起进程调度。本实验模拟在单处理机情况下的处理机调度问题,加深对进程调度的理解。
二、实验要求
1 .设计进程调度算法,进程数不定
2 .包含几种调度算法,并加以实现
3 .输出进程的调度过程——进程的状态、链表等。
三、参考例
1 .题目——优先权法、轮转法
简化假
1)进程为计算型的(无I/O)
2)进程状态:ready 、running 、finish
3)进程需要的CPU 时间以时间片为单位确定
2 .算法描述
1)优先权法——动态优先权
当前运行进程用完时间片后,其优先权减去一个常数。
2)轮转法
四、实验流程图
B
产生 n 个进程,对每个进程用随机数产生进程的轮转时间片数及进程所
需的时间片数,已占用 CPU 的时间片数置为 0
按进程产生的先后次序拉成就绪队列链
链首进程投入运行
时间片到,进程所需时间片数减 1 ,已占用CPU 时间片数加 1
N
输出各进程的运行情况
Y
进程所需时间片数=0 ? 撤销该进程 就绪队列为空吗?
N Y
N
占用 CPU 的时间片数=轮转时间片数? 结束
Y
占用 CPU 的时间片数置为 0
把该进程插入就绪队列尾
注意:
1 .产生的各种随机数的取值范围加以限制,如所需的CPU 时间限制在 1~20 之间。
2 .进程数n 不要太大通常取 4~8 个
3 .使用动态数据结构
4 .独立编程
5 .至少三种调度算法
6 .若有可能请在图形方式下,将PCB 的调度用图形成动画显示。
五.实验过程:
(1)输入:进程流文件(1.txt),其中存储的是一系列要执行的进程, 每个作业包括四个数据项:
进程名 进程状态(1 就绪 2 等待 3 运行) 所需时间 优先数(0 级最高)
进程 0 1 50 2
进程 1 2 10 4
进程 2 1 15 0
进程 3 3 28 5
进程 4 2 19 1
进程 5 3 8 7
输出: 进程执行流等待时间,平均等待时间
本程序包括:FIFO算法,优先数调度算法,时间片轮转调度算法
(2)程序代码
#includestdio.h
#includestring.h
#includeiostream.h
const int block_time=10; //定义时间片的长度为 10 秒
const int MAXPCB=100; //定义最大进程数
//定义进程结构体
typedef struct node
{
char name[20]
文档评论(0)