单道批处理、多道批处理和分时操作系统

首先要弄清批处理系统和分时系统的区别。

批处理系统

严格的定义,就是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。这种采用批量处理作业技术的操作系统称为批处理操作系统。

简单来说就是我手中有一大堆作业(相当于一个程序)要运行,如果我一个一个作业放进内存中执行效率就会很慢,因为我要人为的去装载程序(早期机器会把程序写到磁带中,然后人为地放到专门处理程序的机器中),所以我一次性放一批的作业,交给操作系统运行而我不干涉,这样便节省了很多人力,如下图。

批处理系统

而早期的批处理又分为联机批处理和脱机批处理。

联机批处理

联机批处理系统即作业的I/O由CPU来处理。主机与输入级之间增加一个存储设备——磁带,依次把磁带上的用户作业读入主机内存并执行并把计算结果向输出机输出。完成了上一批作业后,监督程序又从输入机上输入另一批作业,保存在磁带上,并按上述步骤重复处理。

监督程序不停地处理各个作业,从而实现了作业到作业的自动转接,减少了作业建立时间和手工操作时间,有效克服了人机矛盾,提高了计算机的利用率。

但是,在作业输入和结果输出时,主机的高速CPU仍处于空闲状态,等待慢速的输入/输出设备完成工作: 主机处于“忙等”状态。

联机批处理系统

脱机批处理

为提高CPU的利用率,克服缓解高速主机与慢速外设的矛盾,引入了脱机批处理系统,即I/0脱离主机控制。

增加一台不与主机直接相连而专门用于与I/O设备打交道的微型机(外围机)。

其功能是:
(1)从输入机上读取用户作业并放到输入磁带上。
(2)从输出磁带上读取执行结果并传给输出机。

这样,主机不是直接与慢速的输入/输出设备打交道,而是与速度相对较快的磁带机发生关系,有效缓解了主机与设备的矛盾。主机与卫星机可并行工作,二者分工明确,可以充分发挥主机的高速计算能力。

不足:每次主机内存中仅存放一道作业,每当它运行期间发出输入/输出(I/O)请求后,高速的CPU便处于等待低速的I/O完成状态,致使CPU空闲。

脱机批处理系统

分时系统

分时操作系统:“分时”的含义是指多个用户使用同一台计算机,多个程序分时(分时间片)共享硬件和软件资源。分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的资源。,分时操作系统将CPU的时间划分成若干个片段,称为时间片,操作系统以时间片为单位,轮流为每个终端用户服务,如下图。

分时系统

从这二者我们可以得到:批处理系统没有人机交互,而分时系统允许多个用户同时使用;批处理系统中允许程序长时间占用CPU,而分时系统不允许。

下面再对比一下单道批处理、多道批处理和分时操作系统。

单道批处理系统

为了实现对作业的连续处理,需要先把一批作业以脱机方式输入到磁盘上,并在系统中配上监督程序(Monitor),在它的控制下,使得这批作业能一个接着一个的连续工作。

具体的工作过程是首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给作业;该作业处理完时,又把控制权交给监督程序,再有监督程序把磁带的第二个作业调入内存等等。可以看成是串行的。

优点:解决人机矛盾和CPU与IO设备速度不匹配问题,提高系统资源的利用率和系统吞吐量。

缺点:不能充分的利用系统资源,现很少使用。

多道批处理系统

多道程序系统是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。 两个或两个以上程序在计算机系统中同处于开始和结束之间的状态。这就称为多道程序技术运行的特征:多道、宏观上并行、微观上串行。

多道程序设计指的是允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。也就是说,计算机内存中可以同时存放多道(两个以上相互独立的)程序,它们都处于开始和结束之间。从宏观上看是并行的,多道程序都处于运行中,并且都没有运行结束;从微观上看是串行的,各道程序轮流使用CPU,交替执行。引入多道程序设计技术的根本目的是为了提高CPU的利用率,充分发挥计算机系统部件的并行性,现代计算机系统都采用了多道程序设计技术。

优势:资源利用率高,使CPU始终处于忙碌的状态,提高内存的利用率,提高IO利用率;系统吞吐量大(CPU和其资源始终保持忙碌的状态,仅在作业完成时或者运行不下去的时候才切换,系统开销小)。

缺点:平均周转时间长,无交互能力。

分时操作系统

分时操作系统是使一台计算机同时为几个、几十个甚至几百个用户服务的一种操作系统。把计算机与许多终端用户连接起来,分时操作系统将系统处理机时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。由于时间间隔很短,每个用户的感觉就像他独占计算机一样。分时操作系统的特点是可有效增加资源的使用率。例如UNIX系统就采用剥夺式动态优先的CPU调度,有力地支持分时操作。

分时操作系统是给不同用户提供程序的使用,而多道程序系统则是不同程序间的穿插运行。

总之,分时操作系统主要是针对于多用户来说的,而多道程序系统主要是针对于多程序来说的,注意用户和程序之间的区别。

参考链接:
https://blog.csdn.net/dan15188387481/article/details/49427579?utm_source=blogxgwz1

https://blog.csdn.net/qq_30137611/article/details/68065609

文章作者: Zepeng Wang
文章链接: http://yoursite.com/2019/02/20/单道批处理、多道批处理和分时操作系统/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 王小鹏's Blog