欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    广工操作系统实验报告.docx

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

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

    广工操作系统实验报告.docx

    操作系统实验报告学生学院计算机学院专业班级计科8班学号学生姓名指导教师2023年12月29日目录1实验一进程调度52实验二作业调度93实验三可变式分区分配184实验四简单文件系统26实验一进程调度一、实验目的编写并调试一个模拟的进程调度程序,采用“短进程优先调度算法对五个进程进行调度。以加深对进程的概念及进程调度算法的理解.二、实验内容及要求编写并调试一个模拟的进程调度程序,采用“短进程优先调度算法对五个进程进行调度。三、实验设计方案及原理在多道程序系统中,一个作业被提交后必须经过处理机调度后,方能获得处理机执行。对调度的处理又都可采用不同的调度方式和调度算法。调度算法是指:根据系统的资源分配策略所规定的资源分配算法。短进程优先调度算法是指对短进程优先调度的算法,它是从后备队列中选择个或者假设干个进程,将处理机分配给它,使它立即执行并-直执行到完成,或发生某事件而被阻塞放弃处理机时再重新调度。四、重要数据结构或源程序中疑难局部的说明,需附详细注释#include"stdio.h"#include<stdlib.h>#include<conio.h>#definegetpch(type)(type*)malloc(sizeof(typc)#defineNULLOstructpcb*定义进程控制块PCB*/charname10;进程名charstate;/状态intsuper;优先数intntime;需要运行时间intrtime;运行时间structpcb*link;)*ready=NULL,*p;typedefstructpcbPCB;intnum;sort()/*建立对进程进行短进程优先排列函数*/PCB*first,*second;intinsert=0;if(ready=NULL)(p>ntime)<(ready->ntime)/*需要运行时间最小者,插入队首*/(p->link=ready;ready=p;else/*进程比拟需要运行时间,插入适当的位置中*/(first=ready;second=first->link;While(SecondI=NLJLL)(if(p->ntime)<(second->ntime)/*假设插入进程比当前进程需要运行时间小,*/*插入到当前进程前面*/p->link=second;first->link=p;Second=NULL;insert=1;)else/*插入进程需要运行时间最大,那么插入到队尾*/(first=first->Iink;second=second->link;)if(insert=O)first->link=p;1voidinput()/*建立进程控制块函数*/inti;/clrscr();/*清屏*/printf("n请输入进程数scanf("%d",(fcnum);fbr(i=O;i<num;i+)(printf("n进程号No.%d:n",i);p=getpch(PCB);printf("n输入进程名:");scanf("%s',p->name);printf("n输入进程需要运行时间门;scanf("%d,<fep->ntime);printf("n");p->rtime=O;p->state='w'p->link=NULL;sort();/*调用sort函数水/)voidmain()户主函数*/(inti,len,h=0;charch;input();ch=getchar();Printfen调度序列为:");p=ready;fbr(i=num;i>O;i-)printf(%s,',p->name);p=p->link;printf("nn进程已经完成.n");ch=getchar();1五、程序运行结果七、结果分析与实验小结结果正确。短进程优先需要把进程按左右运行时间排序,然后让其按顺序执行即可。实验二作业调度一、实验目的:用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。二、实验内容:1 .写并调试一个单道处理系统的作业等待模拟程序。2 .作业等待算法:分别采用先来先效劳(FCFS),响应比高者优先(HRN)的调度算法。3 .由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的CPU时限等因素。4 .每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。作业的状态可以是等待W(Wait)、运行R(RUn)和完成F(FiniSh)三种状态之一。每个作业的最初状态总是等待W。5 .对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间。5、重要数据结构或源程序中疑难局部的说明,需附详细注释三、实验设计方案及原理编写一个程序将输入的进程按其提交时间进行排列,按排列顺序进行调度,计算其开始时间、完成时间、周转时间等数值四、重要数据结构或源程序中疑难局部的说明,需附详细注释先来先效劳#include*stdio.h*#include<stdlib.h>#include<conio.h>edefinegetpch(type)(type*)malIoc(sizeof(type)ttdefineNULLOstructpcb*定义进程控制块PCB*/charname10;进程名charstate;状态intsuper;优先数intntime;需要运行时间intrtime;运行时间intctime;提交时间intstime;开始时间intftime;完成时间intttime;周转时间floatdtime,带权周转时间structpcb*link;)*ready=NULL,*p:typedefstructpcbPCB;intnum;voidsort()*建立对进程先来先效劳排列函数*/PCB*first,*second;intinsert=0;if(ready=NULL)|(p->ctime)<(ready->ctime)/*到达时间最小者,插入队首*/(p->link=ready;ready=p;else/*进程比拟到达时间,插入适当的位置中*/first=ready;second=first->link:whiIe(second!=NULL)if(p->ctime)<(second->ctime)*假设插入进程比当前进程到达时间小,*/*插入到当前进程前面*/p->link=second;first->link=p;Second=NULL;insert=1;)else/*插入进程到达时间最大,那么插入到队尾*/(first=first->link;second=second->link:)if(insert=O)first->link=p;)voidinput()*建立进程控制块函数*/(inti;/clrscr();/*清屏*/printf(*n请输入进程数:”);scanf(*%d*,&num);for(i=0;i<num;i+)(printf(*n进程号NO.%d:n”,i);p=getpch(PCB);printf(11输入进程名:");scanf(*%s*,p->name);printf(*11输入提交时间:”);scanf(*%d*,½p->ctime):printf(11输入进程需要运行时间:”);scanf(*%d*,½p->ntime);printf(*n*);p->rtime=O;p->state=,w,;p->Iink=NULL;sort();/调用SOrt函数*/)voidmain()/*主函数*/PCB*first,*second;i11ti,x,y;floatsI=Ots2=0;charch;input();ch=getchar();输出Printf("进程名t开始时间t完成时间t周转时间t带权周转时间n");second=ready;first=ready;first->ftime=O;for(i=num;i>0:i)if(second->ctime>first->ftime)/*计算完成时间,周转时间等*/second->stime=second->ctime:elsesecond->stime=first->ftime;second->ftime=(second->ntime)+(second->stime);second->ttime=(second->ftime)-(second->ctime);x=second->ttime;y=second->ntime;second->dtime=(float)x/(float)y;printf("%st%dt%dt%dt%fn*,second->name,second->stime,second->ftime,second->ttime,second->dtime);sl=sl+second->ttime;s2=s2+second->dtime;if(second->link!=NULL)first=second;second=second->link:)sl=slnum;s2=s2num;Printf("n平均周转时间=%fn”,si);Printfe平均周转时间=%fnn”,s2);Printf("按任意键结束”);ch=getchar();)响应比"include<stdio.h>include<stdlib.h>#include<conio.h>#definegetpch(type)(type*)malIoc(sizeof(type)ttdefinenullOintn;floatTl=O,T2=0;inttimes=0;structjeb作业控制块charname10;作业名intctime;作业到达时间intstime;作业开始时间intntime;作业豳要运行的时间floatsuper;作业的响应比intftime:作业完成时间floatttime:作业周转时间floatdtime;作业带权周转时间charstate;作业状态structjcb*next;结构体指针*ready=NULL,*p,*q;typedefstructjcbJCB;voidinital()

    注意事项

    本文(广工操作系统实验报告.docx)为本站会员(p**)主动上传,第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第壹文秘(点击联系客服),我们立即给予删除!

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




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

    copyright@ 2008-2023 1wenmi网站版权所有

    经营许可证编号:宁ICP备2022001189号-1

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

    收起
    展开