- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统-优先级
课程设计报告
设计名称:_模拟实现一种处理机调度算法__
学生姓名: 000000 _
专 业: 计算机科学与技术_ 班 别: 计科本000班 学 号: 0000000000 指导老师: 000000 日 期: 2014 年 06 月 18 日
模拟实现一种处理机调度算法——优先级调度法
一、实验目的:
用高级语言编写和调试一个进程调度程序,通过优先级调度算法的模拟,加深进程概念和进程调度的理解。学会采用动态优先级调度算法模拟处理cpu的进程。
二、实验平台:
微型计算机、Windows、C语言
三、总体设计: 1. 总体设计原理及方案:(1)在Windows下使用C语言编程模拟优先级进程调用算法。为了清楚地观察每个进程的调度过程,程序将每个时间片内的进程情况显示出来。(2)进程控制块是进程存在的唯一标志,因此,在模拟算法中每一个进程用一个进程控制块PCB来代表,PCB用一结构体表示。(3)进程在运行过程中其状态将在就绪、执行、完成几种状态之间转换,同时进程可能处于不同的附列中,如就绪队列。在优先级调度算法中,选择单向队列,入队既是将进程控制块插入队尾,出队既是按优先级重新排列的队,删除队头元素。(4)为了便于处理,程序中的某进程运行时间以时间为单位计算。各进程的优先级认为输入,运行所需时间随机产生。(5)优先权调度算法采用动态优先权,进程每运行一个时间片,优先数减1;进程在就绪队列等待一个时间单位,优先数加1。(6)对于遇到优先权一致的情况,采用FCFS策略解决。(7)由于模拟进程调度,所以,对被选中的进程并不实际启动运行,而是修改进程控制块的相关信息来模拟进程的一次运行。 2.分别用两种调度算法对五个进程进行调度。每个进程可有三钟状态;执行状态(R)、就绪状态(W,包括等待状态)和完成状态(F),并假定初始状态为就绪状态。
三、数据结构 (1)进程控制块结构如下: Name——进程标示符 Prio——进程优先数 Cputime——进程累计占用CPU的时间片数 Needtime——进程到完成还需要的时间片数 State——进程状态 Next——连指针
(2)进程的就绪态和等待态均为链表结构,共有四个指针如下:
Run——当前运行进程指针
Ready——就绪队列头指针
Tall——就绪队列尾指针
Finish——完成队列头指针
四、程序流程图 N Y N N Y N Y
Y N Y
五、实验代码
#include
#include
#include
typedef struct node char name[20]; //进程的名字 int prio; //进程的优先级 int cputime; //CPU执行时间 int needtime; //进程执行所需要的时间 char state; //进程的状态,W就绪态,R执行态,F完成态 int count; //记录执行的次数 struct node *next; //链表指针
PCB
PCB *ready NULL,*run NULL,*finish NULL; //定义三个队列,就绪队列,执行队列和完成队列
int num;
viod GetFirst ; //从就绪队列取得第一个节点
void Output ; //输出队列信息
void InsertPrio PCB *in ;//创建优先级队列规定优先数越小优先级越高
void PrioCreate ; //优先级输入函数
void Priority ; //按照优先级调度
int main void printf 请输入要创建的进程数目:\n ; scanf %d,num ; getchar ; printf 优先级调度算法: \n ;
PrioCreate ;
Priority ;
Output ;
return 0; void GetFirst //取得第一个就绪队列节点 run ready; if ready! NULL run- state R; ready ready- next; run- next NULL; void Output //输出队列信息 PCB *p; p ready; printf 进程名\t优先级\tcpu时间\t需要时间\t进程状态\t计数器\n ; while p! NULL printf %s\t%d\t%d\t%d\t\t%c\t\t%d\n,p- name,p- prio,p- cputime,p- needtime,p- state,p- count ;
p p- next; p finish; while p! NULL printf %s\t%d\t%d\t%d\t\t%c\t
您可能关注的文档
- 播音与主持专业毕业论文选题参考.doc
- 播散师爱_收获幸福.doc
- 播音与朗诵兴趣小组活动计划.doc
- 播音主持呼吸训练.doc
- Economic Well Being.ppt
- 播音主持专业中双唇音的发音训练.docx
- Economics (ppt) .ppt
- 播音主持对象感语音资料.doc
- 播音主持自备稿件全.doc
- 播音主持资格考试要求.doc
- Effect of pH .ppt
- Effect of REGN727SAR236553 PCSK9 Fully Human Monoclonal.ppt
- Effect of Temperature on Solubility .ppt
- 操作系统-在线作业_B.doc
- 操作系统2014第1次作业.doc
- 操作系统-在线作业_C.doc
- Effect of unemployment duration on relationship between father's.ppt
- 操作系统B卷答案.doc
- 操作系统上机报告.doc
- Effective Presentations [PowerPoint, 11 MB] .ppt
最近下载
- “储能与智能电网技术”重点专项2022年度项目申报指南.docx VIP
- 漫谈数学与军事(国防科技大学)中国大学MOOC 慕课 章节测验 期末考试答案.docx VIP
- 小学科学_指南针教学课件设计.ppt
- 2025 CSCO CTIT诊疗指南解读与要点分析PPT课件.pptx VIP
- 售后服务的质量承诺以及响应时效.docx VIP
- 焦炭塔培训资料.pptx VIP
- 2016-饮食通系统设置.doc VIP
- (大学生职业生涯发展规划调查报告.docx VIP
- 储能与智能电网技术重点专项2023年度项目申报指南.pdf VIP
- 编版高中语文选择性必修下册 古诗词诵读《登快阁》理解性默写汇编(超详细).pdf VIP
原创力文档


文档评论(0)