欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    时间片轮转课程设计.docx

    • 资源ID:14781520       资源大小:385.25KB        全文页数:20页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    时间片轮转课程设计.docx

    1、时间片轮转课程设计武汉理工大学华夏学院课程设计报告书课程名称: 操作系统原理 题 目: 时间片轮转调度算法 系 名: 信息工程系 专业班级: 姓 名: 学 号: 指导教师: 司晓梅 2015 年 6 月 26 日武汉理工大学华夏学院信息工程系课 程 设 计 任 务 书课程名称: 操作系统原理课程设计 指导教师: 司晓梅 班级名称:计算机1131-2 开课系、教研室: 自动化与计算机 一、课程设计目的与任务操作系统课程设计是操作系统原理课程的后续实践课程,旨在通过一周的实践训练,加深学生对理论课程中操作系统概念,原理和方法的理解,加强学生综合运用操作系统原理、Linux系统、C语言程序设计技术进

    2、行实际问题处理的能力,进一步提高学生进行分析问题和解决问题的能力,包含系统分析、系统设计、系统实现和系统测试的能力。学生将在指导老师的指导下,完成从需求分析,系统设计,编码到测试的全过程。二、课程设计的内容与基本要求1、课程设计题目 时间片轮转进程调度模拟算法的实现2、课程设计内容用c/c+语言实现时间片轮转的进程调度模拟算法。要求:1 至少要有5个以上进程2 进程被调度占有CPU后,打印出该进程正在运行的相关信息提示:时间片轮转调度算法中,进程调度程序总是选择就绪队列中的第一个进程,也就是说按照先来先服务原则调度,但一旦进程占用处理机则仅使用一个时间片。在使用完一个时间片后,进程还没有完成其

    3、运行,它必须释放出处理机给下一个就绪的进程,而被抢占的进程返回到就绪队列的末尾重新排队等待再次运行。1)进程运行时,只打印出相关提示信息,同时将它已经运行的时间片加1就可以了。2)为进程设计出PCB结构。PCB结构所包含的内容,有进程名、进程所需运行时间、已运行时间和进程的状态以及指针的信息等。 3、设计报告撰写格式要求:1设计题目与要求 2 设计思想 3系统结构 4 数据结构的说明和模块的算法流程图 5 使用说明书(即用户手册):内容包含如何登录、退出、读、写等操作说明6 运行结果和结果分析(其中包括实验的检查结果、程序的运行情况)7 自我评价与总结 8 附录:程序清单,注意加注释(包括关键

    4、字、方法、变量等),在每个模块前加注释;三、课程设计步骤及时间进度和场地安排本课程设计将安排在第17周, 现代教育技术中心。具体安排如下:时间设计内容第一天下发任务书,学生查阅资料第二天系统设计和原型开发第三天-第四天系统功能实现第五天系统调试、测试、打包和验收课程设计集中时间安排:周次星期一星期二星期三星期四星期五第17周第2-3节第2-3节第2-3节第2-3节第3-6节地点现教现教现教现教现教四、课程设计考核及评分标准课程设计考核将综合考虑学生的系统设计方案、运行结果、课程设计报告书的质量、态度、考勤、答辩情况等各因素。具体评分标准如下:(1)设计方案正确,具有可行性、创新性; 30分(2

    5、)系统开发效果较好; 20分(3)设计报告规范、课程设计报告质量高、参考文献充分 20分(4)课程设计答辩时,问题回答正确; 20分(5)态度认真、刻苦钻研、遵守纪律; 10分 按上述五项分别记分后求和,总分按五级制记载最后成绩。优秀(10090分),良好(8089分),中等(7079分),及格(6069分),不及格(059分)1、 实验概叙 1.1实验目的弄明白时间片轮转的工作流程和原理,通过实验让自己更明白切身体会的深!时间片轮转主要是解决处理机调度进程时的优化!正确理解提高处理机的利用率及改善系统性能在很大程度上取决于处理机调度性能的好坏,在操作系统中调度的实质是一种资源分配,调度算法是

    6、指根据系统的资源分配策略规定的资源分配算法,对不同的系统和系统目标,应采用不的调度算法。在多道程序或多任务系统中,系统同时处于就绪状态的进程有若干个。也就是说能运行的进程数远远大于处理机个数。为了使系统中的各进程能有条不紊地运行,必须选择某种调度策略,以选择一进程占用处理机。通过本实验,加深对处理机调度的理解。弄明白时间片轮转的工作流程和原理,通过实验让自己更明白切身体会的深!1.2实验原理基于时间片轮转调度算法思想用C语言编程实现1.3实验环境(使用的软件)Visual C+6.02、实验思想及内容2.1设计思想按照时间片工作原理:时间片轮转的原则是系统将所有的就绪进程按照先来先服务的原则排

    7、成一个队列,每次调度时,把CPU分配对手进程,并令其执行一个时间片,当执行完时,有一个计时器发出时钟中断请求,该进程停止,并被送到就绪队列的末尾,然后再把处理机分配就绪队列的队列进程,同时也让它执行一个时间片! 2.2实验原理基于时间片轮转调度算法思想用C语言编程实现2.3系统结构设计时间片大小固定,由用户输入。进程个数由用户输入。每个进程用一个PCB表示。PCB包括进程名,到达时间,运行时间,剩余时间,进程状态,链接指针。其中,进程名,到达时间和运行时间由用户输入,剩余时间的初值等于运行时间。为简单起见,进程状态设为三种:就绪,运行和完成。链接指针指向下一个进程的PCB; 按照进程到达的先后

    8、顺序排成一个队列。设置一个队头指针指向队列中第一个进 程,并设置一个队尾指针指向队列中的最后一个进程;执行调度时,先选择队首的第一个进程运行。另外设置一个指向当前运行进程的指针;由于本实验是模拟实验,所以对选中进程并不实际启动运行,而只是执行:被选中进程的状态置为运行态;被选中进程的剩余时间减去时间片大小;按照队列的顺序依次输出每个进程的进程名,到达时间,运行时间,剩余时间,进程状态。用这三个操作来模拟进程的一次运行;进程运行一次后,以后的调度则将当前指针依次下移一个位置,指向下一个进程,即调整当前运行指针,以指示应运行进程。同时还应判断该进程的剩余时间是否为0。如果不为0,则等待下一轮的运行

    9、;如果该进程的剩余时间为0,则将该进程的状态置为完成态,并退出队列;若处于就绪态的进程不为空,则重复第d步和第e步直到所有进程都运行完为止。2.4算法流程图2.5实验过程(实验步骤、记录、数据、分析)测试用例1:屏幕显示:Please input the process name, arrive time and run time输入:1 2 12 3 13 2 24 1 25 1 1测试数据2:1 1 22 3 23 1 24 3 15 1 1测试数据3:1 1 12 2 23 2 14 1 25 1 13、结论(结果)3.1测试数据1的运行结果(截图):3.2测试数据2的运行结果(截图):

    10、3.3测试数据3的运行结果(截图):4、源程序代码:#include stdio.h#include stdlib.hstruct stud int name; int arrive; int run; int rest; char *state; struct stud *next; /*pcb结构体*/struct stud *create() int a,i; struct stud *head, *rear,*p,*q,*t; /*定义各个指针*/ head=rear=NULL; printf(Please input the process number:); scanf(%d,&a

    11、); printf(nPlease input the process name,arrive time and run time:nFor example: 1 2 1n); for(i=0;iname,&p-arrive,&p-run); p-rest=p-run; p-state=ready; if(rear=NULL) /*只有一个进程*/ head=p; p-next=NULL; rear=p; else t=NULL; q=head; while(q&q-arrivearrive) t=q; q=q-next; if(q=head) /*指向头进程的下一个进程*/ p-next=h

    12、ead; head=p; else if(t=rear) /*运行到最后一个进程*/rear-next=p; p-next=NULL; rear=p; else t-next=p; p-next=q; return head; void output(struct stud *head) struct stud *p,*t,*r; int slice; printf(Please input the slice:); scanf(%d,&slice);while(head!=NULL) r=p=head; while(p!=NULL) t=head; p-rest=p-rest-slice;

    13、/*剩余时间减去时间片*/p-state=running; if(p-restrest=0; printf(n*n); printf(nametarrivetruntresttstaten); while(t!=NULL) printf(%dt%dt%dt%dt%sn,t-name,t-arrive,t-run,t-rest,t-state); t=t-next; if(p-rest=0) /*判断是否删除结点*/ if(p=head) head=p-next; free(p); p=head; /*删除头结点*/ else r-next=p-next; p=r-next; r=p; else

    14、 r=p; p-state=ready;/*如果不删除头结点指针指向下一个,状态变为准备 */ p=p-next; void main() struct stud *head; head=create(); output(head) ; 5、小结5.1实验中产生的错误及原因分析:5.1.1程序运行不下去:错误分析:链表初始化排序过程中:指针p=Null时,不能执行q-arrive等命令;错误解决方法:将while(q-arrivearrive &q) t=q; q=q-next;改为:while(q&q-arrivearrive) t=q; q=q-next;5.1.2进程运行时间大于时间片时

    15、,程序进入死循环:当进程所需时间等于时间片时,运行结果正确:进程运行时间大于时间片时,程序进入死循环:错误分析:进程所需剩余时间计算错误;错误修改:将while(p!=NULL) t=head; p-rest=p-run-slice; p-state=running; 修改为:while(p!=NULL) t=head; p-rest=p-rest-slice; p-state=running; 5.2实验的体会及收获:通过这次试验,我对处理机的调度算法-基于时间片轮转调度算法思想有了更深的理解;另外使我对链表的知识有了更深的理解,而且锻炼了我的思维能力,使我能更全面地思考问题,以后还需要多做

    16、些这方面的练习。5.3实验还需改进之处:为考虑进程所需时间小于时间片大小的情况,如:进程运行完一次时间片时间中断后,但下一个进程的提交时间要迟很多,这时候就会浪费很多时间等待,这是该程序还需改进的地方。另外,本实验中的RR算法的时间片大小固定,所以实际是属于基本轮转法,还有种是时间片长短是变化的,即改进轮转法。在基本轮转法中,时间片大小的设置是关键。时间片设得太短会导致过多的进程切换,降低了CPU效率;而设得太长又可能引起对短的交互请求的响应变差。据悉,通常,时间片的长度为几十毫秒到几百毫秒,而将时间片设为100毫秒通常是一个比较合理的折衷。设计过程中质疑(或答辩)记载:设计报告书中的最后一页指导教师评语: 签名: 年 月 日


    注意事项

    本文(时间片轮转课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开