操作系统实验C语言编写——作业调度

上传人:沈*** 文档编号:125545674 上传时间:2022-07-27 格式:DOC 页数:10 大小:328KB
收藏 版权申诉 举报 下载
操作系统实验C语言编写——作业调度_第1页
第1页 / 共10页
操作系统实验C语言编写——作业调度_第2页
第2页 / 共10页
操作系统实验C语言编写——作业调度_第3页
第3页 / 共10页
资源描述:

《操作系统实验C语言编写——作业调度》由会员分享,可在线阅读,更多相关《操作系统实验C语言编写——作业调度(10页珍藏版)》请在装配图网上搜索。

1、ached)andon-timecontrolproblems;severitygreaterrisk,accordingtotherequiredtroubleshooting,registrationform,andsignedbythoseresponsibleforthesecurityoftheunitforthefirstafterescalation.Thirdarticleopenminemanageroncoalmineproductionjobdistrictwithinofsecurityhiddentroubleshooting,andgovernanceandrepo

2、rtfullisresponsiblefor;securityDeputyManagertieManagerwork,theparagraphconstructionteamheadandthebusinessdepartmentheadMember,andrunmaintenancepersonnel,areshouldaccordingtotheirofdutiesrange,onproductionequipment,andfacilities,andsiteenvironment,aspectsofsecurityhiddenforcheckandreport,andbyhiddenr

3、ectificationprogrammeforhiddengovernance.Fourthopen-pitminesafetysectionisresponsibleforthesupervisionandinspectionintheproductionareatroubleshooting,managementandreportingofcomprehensivework.Articlescopeandfocusoftheinspectionpersonnelatvariouslevels:1,operatingpersonnelbeforetakingoverandshiftbefo

4、rethejurisdictionareatoconductacomprehensiveinspectionofequipment,runningthesquadlea石家庄经济学院实习报告(学 院)系: 信息工程学院 专 业: 计算机科学与技术姓 名: 江丹 班 级: 专接本2班 学 号: 1 指导教师: 张有华 2012年 6 月 22 日操作系统课程实习报告学号:1 姓名:江丹 起迄日期:2012/6/112012/6/16指导教师:张有华 实习地点:206室实习题目:采用先来先服务算法和运行时间最短者优先算法模拟设计作业调度程序。1 实习内容模拟批处理多道操作系统的作业调度2 实习目的

5、每个用户请求计算机计算的一个计算任务叫做一个作业。一个作业从输入初始数据到得到计算结果,要经过若干个步骤的相继执行。例如,编辑、编译、运行等,其中每一个步骤称作一个作业步。用户向系统提出作业加工步骤的方式称作业控制方式,作业控制方式有两种:终端控制方式(又称直接控制方式或联机控制方式)和批处理控制方式(又称自动控制方式或脱机控制方式)。在批处理控制方式下,用户采用系统提供的作业控制语言(JCL)写好作业说明书,说明作业加工的步骤。操作员把一批作业组织成输入流,通过“预输入”手段使每个作业的信息(包括作业说明书、源程序、初始数据等)暂存在辅助存储器的“输入井”中。批处理多道操作系统的作业管理有两

6、个任务:作业调度和作业控制。采用多道程序设计方法的操作系统,在系统中要经常保留多个运行的作业,以提高系统效率。作业调度从系统已接纳的暂存在输入井中的一批作业中挑选出若干个可运行的作业,并为这些被选中的作业分配所需的系统资源。对被选中运行的作业必须按照它们各自的作业说明书规定的步骤进行控制。本实习要求学生模拟作业调度的实现,了解作业调度在操作系统中的作用。3 实习步骤第一步:首先对整个题目进行分析,包括对作业、主存的定义类型。第二步:对流程图进行分析,分析一些细节代码。第三步:根据程序流程图写代码并调节一些细节错误。第四步:运行看结果,这里主要看内存根据作业的要求对分配情况。3.1 需求分析本次

7、实验是在预输入五道作业的基础上初始化,并通过作业的需求更改主存的输出显示情况,首先是输入5道作业,分别使用先来先服务算法和最短时间优先算法分配内存,最后进行内存的回收。3.2 数据结构设计与说明定义作业中的变量-资源需求:typedef struct sourceint size; /资源要求大小int tape_count; /资源要求磁带数src;定义作业:typedef struct jobwork char username10; /用户名 char jobname10; /作业名 char state5; /运行状态 int runtime; /运行时间 src source; /资

8、源需求(结构体类型见上) struct jobwork *next; /下一个指针job;定义内存:typedef struct memory int size;/内存大小 int tape_count;/内存磁带数 char jobname10;/内存中存在的作业名(首次为空) char username10;/内存中作业的用户名 char state5;/内存中作业的状态 int job_count;/内存中作业个数 struct memory *next;/内存下一个指针mem;3.3 算法设计第一部分:初始化作业表 while(iusername,p-jobname,p-state,&

9、(p-runtime),&(p-source.size),&(p-source.tape_count);p-next=NULL; if(head=NULL)head=p;elseq-next=p;q=p;i+; 第二部分:统计合适的作业的个数while(p!=NULL&strcmp(收容,p-state)=0&p-source.sizesource.tape_countnext; 第三部分:执行先来先服务算法,为作业分配内存;最短作业优先算法采用的是一样的原理,链表指针由头往后指下去,只不过先前部分运用了冒泡方法,把时间由短到长拍了下顺序。while(p!=NULL&strcmp(收容,p-s

10、tate)=0&p-source.sizesource.tape_countsource.size;/分配主存空间 mem1.tape_count=mem1.tape_count-p-source.tape_count;/分配磁带数 printf(%dt%dn,mem1.size,mem1.tape_count); strcpy(p-state,执行);/将选到的作业状态改为执行 printf(%st%snn,p-jobname,p-username);第四部分:回收内存while(p1!=NULL&p!=NULL&strcmp(p-state,完成)mem1.size=mem1.size+p

11、-source.size;mem1.tape_count=mem1.tape_count+p-source.tape_count;printf(%dt%dtn,mem1.size,mem1.tape_count);mem1.job_count-;p=p-next;p1=p1-next;本程序主要用C语言实现,中间只调用了一次冒泡函数,其余均在主函数中利用if和else以及循环语句实现。每次循环都把p指针指向头指针head,依次循环下去。每次函数传进去的值也都是jobwork类型的头指针head或p。下面是本程序流程图:错误!链接无效。程序流程图在此给各模块的功能、入口参数、出口参数及模块之间的

12、调用关系;算法如果使用程序流程图描述,图要求用VISIO画,图中的文字用5号(以下同样要求)。4 程序实现及运行结果分析先来先服务算法调度作业:本程序暂时采用了三道作业,运行结果如下:先来先调度算法结果图结果分析: 起初程序输入3道作业(用户名、作业名、状态、运行时间、资源需求(主存,磁带数) 输入大于0.5的数,让程序首先进行作业查找。查找到合适的作业,然后对其中的两道作业分配内存空间,这里截取的是先来先服务算法程序的结果图。可以看到,100内存空间,磁带数为5的主存储器中,先对第一道作业分配了空间,后又对第二道作业分配了空间,并显示主存分配空间后的大小以及每道作业运行的情况。本实验题目先来

13、先服务算法调度作业,采用了链表的方式,先输入的作业即为先来到的作业的方法。 下面开始查找内存表:输入一个小于0.5的数,查找处于执行状态的作业,并输入该作业的作业名和用户名,手动结束该作业的进程,置为完成态,回收该道作业的内存大小和磁带数。最短时间优先算法调度作业:最短时间优先调度结果图结果分析: 起初程序输入3道作业(用户名、作业名、状态、运行时间、资源需求(主存,磁带数) 输入大于0.5的数,让程序首先进行作业查找。查找到合适的作业,然后对其中的两道作业分配内存空间,这里截取的是先来先服务算法程序的结果图。可以看到,100内存空间,磁带数为5的主存储器中,首先对时间最短的作业分配内存,执行

14、调度,然后一次按时间长短进行分配。 下面开始查找内存表:输入一个小于0.5的数,查找处于执行状态的作业,并输入该作业的作业名和用户名,手动结束该作业的进程,置为完成态,回收该道作业的内存大小和磁带数。4.1 程序源代码先来先服务调度-代码:参见文件夹LAB01_1(源代码所在的文件夹链接)最短时间优先调度-代码:参见文件夹LAB01_1(源代码所在的文件夹链接)4.2 程序运行结果 程序运行结果见图(一、二、三)这里先来先服务算法输入的测试用例为三道作业:分别为:aare收容43321nndr收容32212ookj收容65321最短时间优先算法的测试用例:88rr收容43272ttww收容32

15、241yyqq收容403315 实习总结1、本次实验过程中,通过此次题目,掌握了了作业调度内存分配的一些基本原理。对先来先服务、最短时间优先算法灵活的进行运用。是此次作业调度实验顺利完成。2、实验中出现的问题:对单链表操作、malloc动态分配内存空间运用出现了问题,有好几次输出指针,产生错误,认识到了,指针是地址,不能以字符串的形式输入,真正应该输出的是指针里边的内容,指针只是个地址。经常出现内存溢出问题。遇到的最棘手的问题是,malloc函数为单链表分配内存,指针的指向问题。不过,自己积极思考,在老师的帮助下,解决了这个问题。按照流程图的步骤,一步一步的往下写完了程序。最后,第二个程序,在

16、第一个程序的基础上运用了冒泡法,对链表按运行时间进行了排序,实现了最短时间优先算法程序。3、在机房用的vc+6.0与自己机子上的dev-c+对程序的解释是不同的,自己的机子上的dev-c+等一些编译软件读程序比较严格,缺点:报错信息不明确。使得自己每天不得不窝在实验室做程序,辛苦呀唉。下次一定要换XP的操作系统,这个系统一般来说是兼容多个软件而不会出问题的。习总书记在梁家河工作生活的那段岁月中,即使条件再艰苦、劳动再繁忙、书籍再有限,都废寝忘食的不忘读书,先后阅读了共产党宣言国家与革命资本论等马列经典著作、中世纪史史记选中国古代思想是derondutyduringmajorequipmento

17、verhaul,beforeandaftertheshifttodesignatedstafftounderstandtheoperationofequipmentintheequipmentandcheckonfocus.2,equipmentrepairequipmenttoselectmaintenancecheckatleasttwiceaweektokeyequipmentanddefectivedevicestoincreasethefrequencyofinspection.Teamleaderdedicatedtothedeviceeverydayoperationofalld

18、eviceswithinthescopeofmaintenancepersonnelunderstandthemaintenanceandinspectionofkeyequipment.Paragraph3,theownerandprofessionalandtechnicalpersonnelshouldbecarriedoutdailyafterworksitevisitinspection.Evening.Controlroom:focusedoncoalseamspontaneouscombustionundertroubleshooting,help,landslide,coalfire,earth-moving,roadcarwallsitesafetysupervision,andconscientiouslyimplementtheminerectificationmeasures.Productiontechnologysection:isresponsiblefortroubleshootingwhetherexistsSupercapacity,andSuper

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!