- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
附件1: 操作系统课程设 学 号: 0120810340901
课 程 设 计
题 目 先来先服务、非强占式短进程优先算法 学 院 计算机科学与技术 专 业 计算机科学与技术 班 级 计算机0809班 姓 名 游 海 东 指导教师 汪 祥 莉
2011 年 01 月 20 日
课程设计任务书
学生姓名: 游 海 东 专业班级: 计算机0809班
指导教师: 汪 祥 莉 工作单位: 计算机科学与技术学院
题 目: 进程调度能够处理以下的情形:能够选择不同的调度算法(要求中给出的调度算法)显示进程调度队列i)你认为你完成的设计哪些地方做得比较好或比较出色;
ii)什么地方做得不太好,以后如何改正;
iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训);
iv)完成本题是否有其他方法(如果有,简要说明该方法);
v)对实验题的评价和改进意见,请你推荐设计题目。
时间安排:
设计安排一周:周1、周2:完成程序分析及设计。
周2、周3:完成程序调试及测试。
周4、周5:验收、撰写课程设计报告。
(注意事项:严禁抄袭,一旦发现,抄与被抄的一律按0分记)
指导教师签名: 2011 年 01 月 日
系主任(或责任教师)签名: 2011年 01 月 日
课程设计报告书
--先来先服务,非强占式短进程优先算法
1. 课程设计目的与功能
1.1课程设计目的
通过这次课程设计,了解和掌握进程的一些调度算法。了解先来先服务和非强占式短进程优先算法之间的相同和不同点。
1.2课程设计功能
能够选择不同的调度算法(先来先服务,非强占式短进程优先算法),通过给出进程名、进程的到达时间和进程的运行时间,根据调度算法计算出进程的平均周转时间和平均带权周转时间,比较调度算法的优劣。
2.需求分析,数据结构或模块说明(功能与框图)
2.1需求分析
通过设计一个模拟进程调度的系统,来实现进程调度,对进程调度的功能以及进程调度算法有一个更加深入的理解。
进程PCB(包含进程名、到达时间、预计运行时间)
调度算法(先来先服务、非强占式短进程优先)
模拟进程调度,能够处理以下的情形:能够选择不同的调度算法(要求中给出的调度算法)显示进程调度队列CPU ,换句话说,调度程序每次选择的作业/进程是等待时间最久的,而不管其运行时间的长短。这种调度算法突出的优点是实现简单,效率较低,在一些实际的系统和一般应用程序中采用这种算法的较多。适用于作业调度,也可用于进程调度。要实现此先来先服务调度算法以及考虑程序的简洁性,用一个数据结构如优先级队列,容器等来存储进程基本信息,并要对所有的进程按其到达时间先后顺序进行排序,实现依次取出的进程是所有未运行进程中到达时间最早的进程。
2.2.2非强占式短进程优先调度算法
不可抢占式 Non-preemptive(非剥夺式):某一进程被调度运行后,除非由于它自身的原因不能运行,否则一直运行下去。
短作业优先调度算法(SJF, Shortest Job First),又称为“短进程优先”SPN(Shortest Process Next);这是对FCFS算法的改进,其目标是减少平均周转时间。基本思想:对预计执行时间短的作业(进程)优先处理。通常后来的短作业不抢先正在执行的作业。在一般情况下这种调度算法比先来先服务调度算法的效率要高一些。实现相对先来先服务调度算法要困难些,如果作业的到来顺序及运行时间不合适,会出现饿死现象,例如,系统中有一个运行时间很长的作业J,和几个运行时间小的作业,然后,不断地有运行时间小于J的作业的到来,这样,作业J就得不可调度而饿死。另外,作业运行的估计时间也有问题。
2.3数据结构
此次程序从大的方面来说是利用链表来实现的,在程序中定义了一个结构体struct PCB用来保存每一条记录,每个结点包括进程名(作业名)、进程的提交时间、运行时间、开始时间、结束时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。
Struct pro的定义如下:
struct pro
{
double handtime;
double asktime;
double starttime;
double endtime;
double usetime;
double right;
int runorder;
int num;
pro *next;
};
定义一个double型的handtime(提交时间),一个double型
您可能关注的文档
- 无线安防智能化小区的设计毕业设计论文.doc
- 无线点餐系统的设计与实现——登录、更新、结账、注销的设计.doc
- 乡镇环境规划设计.doc
- 校园局域网的规划设计.doc
- 校园数字广播系统设计毕业设计.doc
- 新型太阳能热水器温控进水控制装置的设计.doc
- 学生公寓管理系统-系统设计报告.doc
- 学生信息管理系统C语言课程设计说明书.doc
- 压片成形机课程设计.doc
- 牙签盒上盖注塑模具设计塑料成型工艺与模具设计课程设计说明书.doc
- 某某单位2024年党建工作总结及2025年工作计划.doc
- 某某市发改委关于2024年度落实党风廉政建设工作责任制情况的报告.doc
- 某某局2024年全面从严治党和党风廉政建设工作总结.doc
- 某某区财政局2024年法治政府建设总结及2025年工作谋划.doc
- 2024年党管武装工作述职报告2篇.doc
- 2024年度国企党委书记抓基层党建工作述职报告3篇.doc
- 公司党委书记2024年述职述廉报告.docx
- 2024年度乡镇党委领导班子民主生活会(四个带头)对照检查材料.doc
- 市医疗保障局关于2024年法治政府建设工作情况的报告.docx
- 市民政局党组2024年巡察整改工作情况报告.docx
文档评论(0)