操作系统作业调度实验.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二作业调度 —、 实验题目: 1、 单道批处理系统的作业调度模拟程序。 2、 编写采用先来先服务算法多道批处理系统的作业调度模拟程序。 二、 实验目的: 通过对单道批处理系统的作业调度和采用先来先服务算法多道批处理系统作业调度的 模拟,进一步理解作业调度的过程,加深对单道和多道的作业运行状态和作业调度过程、调 度算法的理解。 三、 实验设备及环境: 1、 硕件设备:PC机一台 2、 软件环境:安装Windows操作系统或者Linux操作系统,并安装相关的程序开发环境, 如C\C++\Java等编程语言环境。 四、 实验内容及要求: 1、 单道批处理系统作业调度 (1) 由于在单道批处理系统中,作业一旦投入运行,它就占有计算机的一切资源直到作业 完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的CPU时限 等因素。 (2) 每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名name、作业大 小size、所需的运行时间ntime、作业已运行时间rtime^所需的资源machine^作业状态state 等。作业指针link,用来将JCB表排成队列。作业的状态可以是等待W (Wait)、运行R (Run) 和完成F (Finish)三种状态之一。每个作业的最初状态总是等待W状态。 (3) 对每种调度算法都要求显示每个作业开始运行时刻、完成时刻、周转时间、带权周转 时间,以及这组作业的平均周转时间及带权平均周转时间。 2、 采用先来先服务算法多道批处理系统的作业调度 (1) 采用多道程序设计方法的操作系统,在系统中要经常保留多个运行的作业,以提高系 统效率。作业调度从系统已接纳的暂存在输入井中的一批作业中挑选11!若干个可运行的作 业,并为这些被选中的作业分配所需的系统资源。对被选中运行的作业必须按照它们各自的 作业说明书规定的步骤进行控制。 (2) 批处理作业调度程序负责从输入井屮选择若干个作业进入主存,为它们分配必要的资 源,当它们能够被进程调度选中时,就可占用处理器运行。作业调度选择一个作业的必要条 件是系统中现有的尚未分配的资源可满足该作业的资源要求。但有吋系统中现有的尚未分配 的资源既可满足某个作业的要求也可满足其它一些作业的要求,那么,作业调度必须按一定 的算法在这些作业中做出选择。先來先服务算法是按照作业进入输入井的先后次序來挑选作 业,先进入输入井的作业优先被挑选,当系统中现有的尚未分配的资源不能满足先进入输入 井的作业时,那么顺序挑选后面的作业。 (3) 假定某系统可供用户使用的主存空间共100K,并有5台磁带机。 (4) 多道批处理系统中JCB表示同单道批处理系统相同。 3、 为了清楚地观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示岀來, 包括正在运行的进程,处于就绪队列屮的进程和处于阻塞队列屮的进程。 4、分析程序运行的结果,谈一下自己的认识。 五、实现程序流程图及源代码 1、算法流程图 (1)单道批处理系统中作业调度按:先来先服务算法实现流程;最短作业优先算法;高响 应比算法流程图: (2)采用先来先服务算法多道批处理系统的作业流程图 2、主要的常量变量 (1)单道批处理系统作业调度常量、变量 int n; float T1二0, T2二0; int times二0; struct jcb { char name[10]; int reachtime; int starttime; int needtime; float super; int finishtime; float cycletime; float cltime; char state; struct jcb *next; } *ready二NULL, *p, *q; //作业控制块 //\ //\ //\ //\ //\ 乍业名 乍业到达时间 乍业开始时间 乍业需要运行的时间 乍业的响应比 //作业完成时间 //作业周转时间 〃作业带权周转时间 //作业状态 〃结构体指针 (1) void void void void void void void void void(2) void void void void void void void void (1) void void void void void void void void void (2) void void void void void void void void runm super () final () hrn(int m) sjf (int m) fcfs (int m) 多道批处理系统作业调度模块 in ize () well () sort () 〃初始化界面函数 //对进入计算机的所有作业按从大到小的顺序排队

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档