操作系统接口之批处理作业

article/2025/9/7 16:36:05

批处理作业控制语言与作业说明书

作业控制语言

用户用于描述批处理作业处理过程控制意图的一种特殊程序
书写作业说明书的语言称为作业控制语言(JCL)

作业控制语言的类别

包括:I/O命令、编译命令、操作命令以及条件命令等

作业说明书

表达用户对作业的控制意图
内容:
作业的基本描述
作业控制描述
资源要求描述

作业控制块与作业表

作业控制块(JCB:Job Control Block)

作业控制块是批处理作业存在的标志
其中保存有系统对于作业进行管理所需要的全部信息 ,它们被保存于磁盘区域中

作业控制块的内容

作业控制块中所包含的信息数量及内容因系统而异
较简单的系统
较复杂的系统

作业控制块JCB

作业控制块的建立

当作业开始由输入设备向磁盘的输入井传输时
系统输入程序为其建立一个作业控制块
进行初始化
初始化的大部分信息取自作业说明书

作业控制块的使用

需要访问作业控制块的程序
系统输入程序
作业调度程序
作业控制程序
系统输出程序等

作业控制块的撤消

作业完成后,其作业控制块由系统输出程序撤消
作业控制块被撤消后其作业也不复存在

作业表

每个作业有个作业控制块
所有作业JCB构成一个作业表
作业表存放在外存固定区域中,长度是固定
限制了系统所能同时容纳的作业数量
系统输入程序、作业调度程序、系统输出程序都需要访问作业表,因而存在互斥问题
在这里插入图片描述

批处理作业的状态及转换

一个作业从进入系统到运行结束
经历四个不同的状态:
“进入”
“后备”
“运行”
“完成”
在这里插入图片描述

运行状态的作业

三种状态:
就绪状态
执行状态
阻塞状态

作业的建立

一个作业建立过程的两个子过程:
作业的输入
JCB的建立
作业控制块JCB和作业:一一对应关系

作业的输入

作业的输入将作业程序、数据和作业说明书从输入设备(例如键盘)输入到外存,并形成初始信息
1.作业输入方式
联机输入方式
脱机输入方式
直接耦合方式
SPOOLing系统
(1)联机输入方式
用户和系统通过交互会话来输入作业
外围设备直接和主机连接
(2)脱机输入方式
为了解决单台设备联机输入时的CPU浪费问题
(3)直接耦合方式
把主机和外围低档机通过一个公用的大容量外存直接耦合起来
在这里插入图片描述

(4)SPOOLing系统
2.JCB的建立
在系统把作业信息输入到输入井之后
根据作业说明书和有关作业信息在外存的位置等
建立作业控制表JCB
JCB包含对作业进行管理所必须的信息
JCB表的数量是一个常数
外存输入井的大小有限
只有在获得JCB表项和足够输入井空间后
作业才可能创建成功

批处理作业的调度

主要功能:
审查系统能否满足用户作业的资源要求较容易
只要通过调用相应的资源管理程序的有关部分,审核其表中是否能满足作业说明书中的要求即可
按照一定的算法从输入井中的后备作业中选取作业
调度的关键在选择恰当的算法

1. 调度算法评价

调度实质上是一个策略问题
设定的目标往往是相互冲突的
目标:
单位时间内运行尽可能多的作业
使处理机尽可能保持“忙碌”
使各种I/O设备得以充分利用
对所有的作业都是公平合理的
要设计一个理想的调度算法是一件十分困难的事
在实际系统中,调度算法往往折衷考虑
设计调度算法时应考虑的因素:
调度算法应与系统设计目标保持一致
注意系统资源均衡使用
保证提交的作业在截止时间内完成
设法缩短作业平均周转时间
大多数操作系统都采用比较简单的调度算法

2.调度算法性能的衡量

作业平均周转时间
假定某一作业进入“输入井”的时间为Si,
它被选中执行,得到计算结果的时间为Ei
它的周转时间为Ti =Ei – Si
则作业平均周转时间为:
在这里插入图片描述

其中,n为被测定作业流中的作业数
平均带权周转时间
在这里插入图片描述

其中,ri 为某作业i的实际执行时间
T:衡量不同调度算法对同一个作业流的性能
W:同一调度算法对不同作业流的性能衡量

3.系统进行作业调度的决策因素

作业到达时间
预先为作业确定的优先级
系统可测定的其他因素:
作业所需的CPU时间C
存储要求M
打印输出的行数L
其他的资源要求

4.常见的批处理作业调度算法

(1)先来先服务算法
(FCFS:First Come First Serve)
(2)最短作业优先算法
(SJF:Shortest Job First)
(3)最高响应比优先算法
(HRN:Highest Response Ratio Next)
响应比R = 作业周转时间 / 作业处理时间
=(作业处理时间 + 作业等待时间)/ 作业处理时间
= 1 +(作业等待时间 / 作业处理时间)
(4)基于优先数调度算法
(HPF:Highest Priority First)
(a)由用户规定优先数(外部优先数)
用户提交作业时,根据急迫程度规定适当的优先数
作业调度程序根据JCB优先数决定进入内存的次序
(b)由系统计算优先数(内部优先数)
例:可按如下公式计算作业的优先数:
优先数 =
用户规定优先数 – 作业处理时间 + 作业等待时间 – 输出量

(5)均衡调度算法(分类排队算法)

基本思想:
根据系统运行情况和作业属性将作业分类
轮流从不同的作业类中挑选作业
目标:
力求均衡地利用各种系统资源,发挥资源使用效率
力求使用户满意
例1:将待处理作业分成如下队列:
队列1:计算量大的作业
队列2:I/O量大的作业
队列3:计算量与I/O量均衡的作业

调度时,在三个队列中各取一些作业
在内存中的作业有的使用处理机
有的使用外部设备
使得系统的各种资源能得到充分利用
例2:将待处理作业分成如下三个队列:
队列1:长作业
队列2:中等长度作业
队列3:短作业

调度时
取队列1一作业,队列2一作业,队列3一作业

长作业用户和短作业用户均比较满意

5.作业调度算法应用例子1

假设在单道批处理环境下有四个作业,已知它们进入系统的时间、估计运行时间
应用先来先服务、最短作业优先和最高响应比优先作业调度算法,分别计算出作业的平均周转时间和带权的平均周转时间

先来先服务调度算法计算结果

在这里插入图片描述

最短作业优先作业算法计算结果

在这里插入图片描述

最高响应比优先作业算法计算结果

在这里插入图片描述

5.作业调度算法应用例子2

在两道环境下有四个作业
已知它们进入系统的时间、估计运行时间
系统采用短作业优先作业调度算法,作业被调度运行后不再退出
当一新作业投入运行后,可按照作业运行时间长短调整作业执行的次序
请给出这四个作业的执行时间序列,并计算出平均周转时间及带权平均周转时间

两道批处理系统中最短作业优先作业算法计算结果

在这里插入图片描述

四个作业的执行时间序列为:
JOB1:10:00—10:05,10:40—11:05
JOB2:10:05—10:25
JOB3:10:25—10:30
JOB4:10:30—10:40

两道批处理系统中最短作业优先作业算法分析过程

10:00,JOB1进入,只有一作业,JOB1被调入执行
10:05,JOB2到达,最多允许两作业同时进入
所以JOB2也被调入
内存中有两作业,哪一个执行?题目规定当一新作业运行后,可按作业运行时间长短调整执行次序
即基于优先数可抢占式调度策略
优先数是根据作业估计运行时间大小来决定的
由于JOB2运行时间(20分)比JOB1少
(到10:05,JOB1还需25分钟)
所以JOB2运行,而JOB1等待
10:10,JOB3到达输入井,内存已有两作业
JOB3不能马上进入内存;
10:20,JOB4也不能进入内存
10:25,JOB2运行结束,退出,内存中剩下JOB1
输入井中有两作业JOB3和JOB4,如何调度?
作业调度算法:最短作业优先
因此JOB3进入内存
比较JOB1和JOB3运行时间
JOB3运行时间短,故JOB3运行
同样,JOB3退出后,下一个是JOB4
JOB4结束后,JOB1才能继续运行

6.多道程序对平均周转时间的影响

作业流在多道环境下运行
平均周转时间、带权平均周转时间
比单道环境下都有明显改善
不是任意作业组合都能改善调度性能
有时甚至可能变坏
例:四个各需两小时作业同时投入运行,I/O等待时间均占25%,即占CPU时间各为1.5小时
根据计算公式,CPU的空转率为0
采用简单轮转法调度,每小时各作业分别占用25%的CPU时间,算得该作业组合的平均周转时间约为6小时,而平均带权周转时间约为3
但是,若以单道程序方式运行:
平均周转时间T=(2+4+6+8)/4=5小时
平均带权周转时间W=(1+2+3+4)/4=2.5

7.作业调度与进程调度

作业能否占用处理器?什么时间能够占用处理器?
由进程调度来决定
进程的初始状态为就绪状态
进程调度选择当前可占用 CPU处理进程,当它让出处理器时,进程调度就再选另一作业的进程
作业调度与进程调度相互配合,实现作业的并行

作业调度与进程调度的例子

某系统采用不能移动已在内存中作业的可变分区方案管理内存,供用户使用的内存空间为100K,系统配有4台磁带机,一批作业如下图:
在这里插入图片描述

该系统采用多道程序设计技术,对磁带机采用静态分配,忽略设备工作时间和系统进行调度所共花的时间,请分别给出采用“先来先服务调度算法”和“短作业优先算法”选中作业执行的次序以及它们的平均周转时间。
若允许移动已在主存储器中的作业,则作业被选中的次序又是怎样的呢?它们的平均周转时间又如何?
小结:
作业调度前提:并行道数、资源满足
进程调度

批处理作业的控制

当作业为执行态时,作业调度程序为其建立一作业控制进程, 由该进程控制作业运行
作业控制进程:主要负责控制作业的运行,具体解释执行作业说明书的每一个作业步,并创建子进程来完成相应步骤
一个作业步的处理:
(1)建立子进程 (2)为其申请资源
(3)访问该作业的JCB (4)释放占有资源
(5)撤消子进程等
作业控制程序只有一个
对应每一处于执行状态的作业有一作业控制进程

作业退出

把输出结果送到输出设备上(启动缓输出进程完成)
回收各种资源

Spooling系统工作原理

全称:
Simultaneous Peripheral Operations On-Line
含义:
同时的外围设备联机操作(假脱机技术)
包括:
输入程序模块
输出程序模块
作业调度程序
作业执行前用慢速设备将作业预先输入到后援存储器(如磁盘、磁鼓,称为输入井)中,称为预输入
作业运行后,使用数据时,从输入井中取出
作业执行不必直接启动外设输出数据,只需将这些数据写入输出井中
作业全部运行完毕,再由外设输出全部数据和信息,称为缓输出
实现了对作业输入、组织调度和输出的统一管理
使外设在CPU直接控制下,与CPU并行工作(称为假脱机)
欢迎大家加我微信交流讨论(请备注csdn上添加)
在这里插入图片描述


http://chatgpt.dhexx.cn/article/I62KMvbh.shtml

相关文章

批处理系统、分时系统、实时操作系统的特点和比较

一、批处理系统 在批处理系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”。然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。 特点&#xff1a…

解锁scott用户

最近做项目用的都是mysql,挺久没用oracle了,今天打开PL/SQL意外发现自己的scott用户被锁了,写一篇短短的博文记录一下,oracle数据库给普通解锁的过程。 1. alter user scott account unlock; //注意这里记得后面的分号 Oracle …

饥荒如何解锁机器人_饥荒人物怎么解锁

展开全部 饥荒游戏中人物该如何解锁,相信这是大家很久以前都很关心的话题了。游戏中每位主e68a8462616964757a686964616f31333431376531角有不同的技能与特点,但解锁这些人物需要一定的条件,今天带来饥荒全人物解锁条件及方法,感兴…

linux oracle用户解锁

sqlplus sys sys as sysdba alter user test account unlock; commit;

用户解锁不存在_“sim卡无效,显示lte,电信掉3g,通讯录+86”等出现在卡贴“tmsi解锁模式”中的解决方法...

tmsi模式是iPhone有锁机诞生以来就有的模式,存在到现在近10年,也将一直存在。因为具有获取周边基站临时证书绕过服务器激活的原理的特性,故而以不稳定著称。但是咱们想想:如果当没有任何模式且完美iccid模式都封了的情况下,它是唯一能挑起有锁机重担的。得益于解锁卡贴持续…

gitlab 普通用户解锁

问题 参考 https://docs.gitlab.com/ee/security/unlock_user.html 登录gitlab console 进行解锁 gitlab-rails console -e production --------------------------------------------------------------------------------Ruby: ruby 2.7.2p137 (2020-10-01 revisio…

Oracle解锁scott用户

第一步:WinR进入命令框,然后输入cmd进入管理员页面; 第二步:C:> sqlplus 请输入用户名:system 输入口令:system as sysdba //注意:在口令这里输入的密码后面必须要跟上 as sysdba 才可以。 …

Word设置单页横向

(1)设置插入点 将鼠标光标移动到需要设置横向的页面开头见图片 (2)页面横向 (3)横向的页面结束:操作同(1)(2),把(2&…

word中 两页同时并排显示 与 单页显示 之间的切换

如果你的显示器是大屏的,word会自动在宽度方向上同时显示两页。有些人会觉得看起来不爽。 不管爽不爽,我们都要掌握切换的方式,将决定权掌握在自己手中。 切换方式如下: 1) 双页-->单页: 由页面视图切换至web视…

Word文档中插入的图片显示不全、嵌入式图片显示不全解决方法,仅设置图片为单倍行距方法

最近突然发现 word 里插入的嵌入式图片只显示底下一部分,其它类型的图片又不能排版整齐,后来终于发现了原因。 问题展示: 因为我设置了段落的行距为固定值的缘故,改为单倍行距就好了。 但是我又不想让改变文章整体的行距&#x…

关于 在word中插入表格跨页后每一页表格都显示标题栏 的解决方法

若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062 本文章博客地址:https://blog.csdn.net/qq21497936/article/…

【word】打开页码/设置侧边显示页面框

需求:打开word侧边的页码框,十分利于阅读长文本文章,特别是翻译论文后的word文档,原来这个不叫页面框,而是“文档结构结构” 只需要在视图处,打钩即可

Word设置段前空行不显示,解决办法

1.问题描述: word文档设置段前一行,结果显示无效,如图1所示(耐心看完,有无页眉都可解决) 图1 2.更改要求:(1)段前显示一行(2)页眉页码不能更改 …

在word上方添加页眉和页码,单双页不同(单页页码在右,页眉在左,偶页相反)

1、插入页眉 a、插入->页眉->空白(三栏) b、选中上面三栏中最左栏,输入页眉内容“xxx”,中间栏删掉,右侧栏选中,插入页码, 插入页码需要注意:需要选** “当前位置” **插入页码(直接插入…

word单页添加水印,任意页添加水印

一,打开需要加水印的文档 1.移动到文章的页脚,双击后进入页脚工具栏 2.如果页脚下方有“与上页节同步”,则点击“连接到前一条页眉”(“连接到前一页页脚”也要取消,让文档中页脚和页眉都看不到“与上一节相同”&#…

word文档里插入图片显示不完整,只显示一半,怎么处理?

word文档里插入图片显示不完整,只显示一半,怎么处理? 目录 word文档里插入图片显示不完整,只显示一半,怎么处理? 1、把鼠标光标放置图片的末尾,然后点击鼠标右键,选择【段落】选项…

Word文档如何实现单页横向设置

关于在Word文档实现单页横向设置 一、在Word2007中: 先在该页选定一段文字,再依次选中“页面布局---页边距---自定义边距”,选择应用于“选定文字”,页面改为“横向”,应用即可。 如下面图1、图2、图3所示:…

Word文档单页页眉横线如何去除

目录标题 这里你对页眉有些了解,也可以直接使用方法一或方法二(简便但不知原理),进行文档操作执行操作的前后对比0.更改文档设置方法一(可以先看看0.更改文档设置)1.选中页眉内容2.选择边框与底纹3.使页眉下…

word单独一页设置页面设置

点击“分隔符——下一页”,这一页就成为了独立的一节,就可以单独设置页面布局了

word如何让单页变横向

Word 2007 1 鼠标定位到要设置为横向的页码的前一页的最后一个字后面: 步骤阅读 2 依次单击“页面布局,分隔符,下一页”: 步骤阅读 3 如果设置为显示所有符号,则会在原来的光标位置显示为“分节符(下一…