- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《操作系统》综合实训项目设计-基于多队列反馈的进程调度精选
《操作系统》综合实训项目设计文档【大纲】(不用打印,提交电子稿即可!)基本信息项目名称:成人姓名、学号、完成日期项目名称:基于时间片的多队列反馈的进程管理系统完成日期:2017.5.24实验内容与目的实验内容:编写程序完成单处理器系统的进程调度,要求采用基于时间片多队列反馈式调度策略调度策略。具体内容:1.确定PCB内容及其组织方式。2.要求模拟进程空闲(新)、就绪、运行、阻塞和完成5个状态。3.实现进程创建、进程调度、进程阻塞、进程唤醒和进程撤销5个原语。4.能够模拟进程从生到灭的完整过程。实验目的:1.加深进程概念理解,明确进程与程序区别。2.理解操作系统中进程的组织、创建和调度等方法。主要设计思路和流程图设计思路:1定义数据结构2.设置队列3.创建进程4.创建的进程进入就绪队列5.多级反馈调度1.)在第一就绪队列里的进程被调度运行,进程状态由等待变为运行,设置时间片计数器,每次运行加1,时间片满后,该进程出队列,进入下一级别的就绪队列。若是在最后一级别的队列,则在该队列中进行时间片轮转调度2.)运行进程若是被阻塞的话,该进程出就绪队列,进入阻塞队列,状态变为阻塞态3.)若是唤醒被阻塞进程,则阻塞进程根据其时间片计数器计入相应的就绪队列4.)撤销进程,该进程直接出就绪队列主要数据结构及其说明typedef struct Node{ char name[20]; char state;//进程所处的状态,N新建,W等待,B阻塞,R运行,F结束int round;//时间片计数器int time;//运行时间 struct Node *next;}LinkQueueNode,*PCB;//定义PCBtypedef struct{ LinkQueueNode *front; LinkQueueNode *rear;}LinkQueue;//定义队列void initQueue(LinkQueue *Q)//队列的初始化函数void Initializa()//初始化所有队列void RunPrintf()//打印运行队列void BlockPrintf()//打印阻塞队列void ReadyPrintf(LinkQueue q)//打印就绪队列void putout()//输出函数void EnterQueue(LinkQueue *Q,PCB *p)//进程插入队列函数int DeleteQueue(LinkQueue *Q,PCB *p)//进程出队列void TransferRun(LinkQueue *q1,LinkQueue *q2,PCB q)//进程出就绪队列,入运行队列void Transfer(LinkQueue *q1,LinkQueue *q2,PCB q)//进程唤醒或阻塞时队列转换的函数int MultiDiapatch()//调度函数,若此队列运行的进程时间片满,则进入下一级队列int run()//模拟运行void block()//模拟阻塞void wake()//模拟唤醒int Createprocess(LinkQueue *Q)//进程的创建void meanu()//菜单函数程序运行时的初值和运行结果源程序并附上注释【可是另一个源程序文件,在此应说明该文件名】#includestdio.h#includestdlib.h#includedos.h#includeString.htypedef struct Node{ char name[20]; char state;//进程所处的状态,N新建,W等待,B阻塞,R运行,F结束int round;//时间片计数器int time;//运行时间 struct Node *next;}LinkQueueNode,*PCB;//定义PCBtypedef struct{ LinkQueueNode *front; LinkQueueNode *rear;}LinkQueue;int count=0;LinkQueue qRun,qBlock,qReady1,qReady2,qReady3,qReady4;//定义四个就绪队列void initQueue(LinkQueue *Q)//队列的初始化函数{ Q-front = (LinkQueueNode *)malloc(sizeof(LinkQueueNode)); if(Q-front!=NULL) { Q-rear=Q-front; Q-front-next=NULL; }}void Initializa()//初始化所有队列{ initQueue(qRun); initQ
您可能关注的文档
- TD-SCDMA_LCR5.0_RRM算法精选.ppt
- TL-WR703N设置指南精选.docx
- Tree_Adjoining_Grammars精选.ppt
- TG-NET网吧行业产品及解决方案介绍精选.ppt
- TRIZ创新方法课程报告-便携入耳式耳机设计精选.docx
- VB2010教程之图片浏览器精选.docx
- uCOSII-V2.52在单片机STC12C5A60S2上移植方法精选.docx
- TnPM入阶知识培训精选.ppt
- TOP销售培训-精选.ppt
- VCM储存施工组织设计精选.docx
- springbooot+vue基于java的房屋维修系统毕业论文.doc
- 中国消防救援学院《单片机系统实验》2023-2024学年第一学期期末试卷.doc
- 2025年溧阳纺织化学品项目申请.pptx
- 景区门票包销合同模板(3篇).docx
- 【股票技术指标学习指南】第七章第三节货币需要量的测算.doc
- 2025春 _ 人教版七年级英语下册【unit4】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit5】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit6】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit7】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit8】看音标写单词.doc
最近下载
- 公司绿化养护方案.pdf VIP
- 《农村公路技术状况评定标准》(JTG 5211—2024) .pdf VIP
- 患者跌倒、坠床的应急预案和处置流程.pptx VIP
- 事业单位考试职业能力倾向测验(医疗卫生类E类)试题及解答参考(2024年).docx VIP
- 第18讲 电容器 带电粒子在电场中的运动(学生版) 2025届高考物理一轮复习考点精讲精练(全国通用).pdf VIP
- 2023微细气泡技术 超细气泡水分散体系的存储和运输.pdf VIP
- 广西充电站可行性研究报告.docx VIP
- 中药材 黄芪 第1部分:种子种苗繁育技术规程.docx VIP
- 2025《期末模拟练习》语文八上-试卷.pdf VIP
- 高盛“最惊艳的中国制造业分析”报告.docx
文档评论(0)