批处理系统作业调度实验报告.doc

批处理系统作业调度实验报告.doc

ID:51823819

大小:79.00 KB

页数:6页

时间:2020-03-16

批处理系统作业调度实验报告.doc_第1页
批处理系统作业调度实验报告.doc_第2页
批处理系统作业调度实验报告.doc_第3页
批处理系统作业调度实验报告.doc_第4页
批处理系统作业调度实验报告.doc_第5页
资源描述:

《批处理系统作业调度实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、批处理系统作业调度一、实验目的加深对作业概念的理解;深入了解批处理系统如何组织作业、管理作业和调度作业;二、实验要求编写程序完成批处理系统中的作业调度,要求采用响应比高者优先的作业调度算法。实验具体包括:首先确定作业控制块的内容,作业控制块的组成方式;然后完成作业调度;最后编写主函数对所作工作进程测试。三、实验原理:操作系统根据允许并行工作的道数和一定的算法从系统中选取若干作业把它们装入主存储器,使它们有机会获得处理器运行,这项工作被称为“作业调度”。实现这部分功能的程序就是“作业调度程序”。四、实验内容:编写程序完成批处理系统中的作

2、业调度,要求采用响应比高者优先的作业调度算法。实现具体包括:首先确定作业控制块的内容和组成方式;然后完成作业调度;最后编写主函数,对所做工作进行测试。五、提示讲解:作业调度的实现主要有两个问题:一个是如何将系统中的作业组织起来;另一个是如何进行作业调度。为了将系统中的作业组织起来,需要为每个进入系统的作业建立档案以记录和作业相关的信息,例如,作业名、作业所需资源、作业执行时间、作业进入系统的时间、作业信息在存储器中的位置、指向下一个作业控制块的指针等信息。这个记录作业相关信息的数据块称为作业控制块(JCB),并将系统中等待作业调度的作

3、业控制块组织成一个队列,这个队列称为后备队列。当进行作业调度时,从后备队列中查找选择作业。由于实验中没有实际作业,作业控制块中的信息内容只使用了实验中需要的数据。作业控制块中首先应该包括作业名;其次是作业所需资源(内存大小、打印机的数量和磁带机的数量);采用响应比高者优先作业调度算法,为了计算响应比,还需要有作业的估计执行时间、作业在系统中的等待时间;另外,指向下一个作业控制块的指针必不可少。将作业控制块组织成一个队列,实验中采用静态链表的方式模拟作业的后备队列,作业队列头指针定义为:int-6-*head;实验中,内存采用可移动的动

4、态分区管理方法,即只要内存空闲区总和比作业大就可以满足作业对内存的需求;对打印机和磁带机这两种独占设备采用静态分配法,即作业执行前必须获得所需资源,并且执行完才归还。采用响应比高者优先调度算法进行调度时,必须计算出系统中所有满足必要条件作业的响应比,从中选择响应比最高的一个作业装入主存储器分配资源。由于是实验,所以就将作业控制块出队,并输出作业名代替装入处存储器,同时修改系统的资源数量。假设系统资源情况:主存64KB(Memory)(以KB为单位分配)、4台磁带机(Tape)和2台打印机(Pinter)。六、实验程序设计#includ

5、e"stdafx.h"#includeusingnamespacestd;#include#include"JCB.h"classJCB{public:intcreat(intname,intlength,inttape,intprinter,intwaittime,intruntime);voidshedule(JCB*head);JCB*next;JCB();virtual~JCB();private:intname;intprinter;inttape;intwaittime;intrunti

6、me;longlength;};intJCB::creat(intname,intlength,inttape,intprinter,intwaittime,intruntime){this->name=name;-6-this->printer=printer;this->tape=tape;this->waittime=waittime;this->runtime=runtime;this->length=length;return0;}voidJCB::shedule(JCB*head){JCB*p,*q;JCB*k1,*k2;

7、longtemp;inta;longmemory=65536;inttape=4;intprinter=2;q=head;p=q->next;cout<<"运行次序为:"<length>memory

8、

9、p->tape>tape

10、

11、p->printer>printer){-6-cout<name<<"作业不满足条件不能执行"<next;deletek1;q->next=p;}else{

12、temp=(p->runtime+p->waittime)/p->runtime;if(anext;}if(k2!=NULL){cout<n

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。