考点4 多道批处理系统

【例1·选择题】【全国统考2012年】一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms到达,它们的计算和I/O操作顺序如下:

P1:计算60ms,I/O80ms,计算20ms。

P2:计算120ms,I/O40ms,计算40ms。

若不考虑调度和切换时间,则完成两个作业需要的时间最少是(  )。

A.240ms

B.260ms

C.340ms

D.360ms

【解析】本题主要考查多道批处理系统作业完成时间的计算。

由于P2比P1晚5ms到达,因此P1先占用CPU,计算60ms后释放CPU,时间到达60ms。

P1进行I/O操作,80ms后释放I/O,时间到达140ms;同时P2占用CPU,计算120ms后释放CPU,时间到达180ms。在140ms后P1等待P2释放CPU,时间到达180ms,此时CPU和I/O皆为空闲。

P2进行I/O操作,40ms后释放I/O,时间到达220ms,同时P1占用CPU,计算时间20ms,时间到达200ms,P1结束。

P2占用CPU,40ms后释放CPU,时间到达260ms,两个作业全部结束。

【解题技巧】此种类型题目建议读者画出作业运行的甘特图。甘特图简洁、直观地表达了作业随时间发展的过程,可以很快得到计算结果。

该题目作业运行的甘特图如下图所示。

【答案】B

【例2·选择题】【全国统考2016年】某单CPU系统中有输入和输出设备各1台,现有3个并发执行的作业,每个作业的输入、计算和输出时间均分别为2ms、3ms和4ms,且都按输入、计算和输出的顺序执行,则执行完3个作业需要的时间最少是(  )。

A.15ms

B.17ms

C.22ms

D.27ms

【解析】本题主要考查多道批处理系统作业完成时间的计算。

因CPU、输入设备、输出设备都只有一台,因此各个操作步骤不能重叠。画出该题运行的甘特图后可以清楚地看到不同作业间的时序关系,如下图所示。

可得出时间为17ms。

【答案】B

【例3·选择题】【全国统考2017年】与单道程序系统相比,多道程序系统的优点是(  )。

Ⅰ.CPU利用率高

Ⅱ.系统开销小

Ⅲ.系统吞吐量大

Ⅳ.I/O设备利用率高

A.仅Ⅰ、Ⅲ

B.仅Ⅰ、Ⅳ

C.仅Ⅱ、Ⅲ

D.仅Ⅰ、Ⅲ、Ⅳ

【解析】本题主要考查单道批处理系统(单道程序系统)与多道批处理系统(多道程序系统)的对比。

多道程序系统的作业在外存上形成后备队列,由作业调度程序从队列中挑选几个作业调入内存,这样当一个占据内存的作业不使用CPU使用I/O设备,CPU可以选择内存中的其他作业运行。与单道程序系统相比,多道程序系统中允许多个作业在内存中停留,共享资源,使系统长时间处于忙碌状态,各种资源可以被充分利用,CPU的利用率也大大提高。

另外多道程序系统具有多道性、无序性和调度性的特点。

在多道程序系统中,一个任务阻塞后,CPU不再等待,转而去执行其他任务,提高了CPU利用率,也提高了内存和I/O设备的利用率。在单位时间内,利用率变高,做的事情也就多了,吞吐量也就变大了,所以Ⅰ和Ⅲ正确。

在单道程序系统中,CPU会一直服务于一个作业,直到作业运行结束。但在多道程序系统中,一个作业阻塞,CPU会转而执行其他作业,虽然CPU的利用率提高了,但是作业的平均周转时间增长,并且需要调度算法去调度,因此其开销一定是大于单道程序系统的,所以Ⅱ错误。

在内存中可能存在多道程序在并发运行,每个程序都可以使用不同的设备,同时CPU和设备可以并行运行,I/O设备的利用率一定变高,所以Ⅳ正确。

【答案】D

【例4·选择题】【全国统考2018年】下列关于多任务操作系统的叙述,正确的是(  )。

Ⅰ.具有并发和并行的特点

Ⅱ.需要实现对共享资源的保护

Ⅲ.需要运行在多CPU的硬件平台上

A.仅Ⅰ

B.仅Ⅱ

C.仅Ⅰ、Ⅱ

D.Ⅰ、Ⅱ、Ⅲ

【解析】本题主要考查多任务操作系统的特点。

多道批处理系统可以并发执行多个程序,这样的系统又称多任务操作系统。Ⅰ叙述正确,多任务操作系统可以在同一时间内运行多个应用程序。Ⅱ叙述正确,多个任务必须互斥地访问共享资源,为达到这一目标必须对共享资源进行必要的保护。Ⅲ叙述错误,现代操作系统都是多任务的,并不一定需要运行在多CPU的硬件平台上,单个CPU也可以满足要求。

【答案】C

【例5·选择题】【全国统考2022年】下列关于多道程序系统的叙述中,不正确的是(  )。

A.支持进程的并发执行

B.不必支持虚拟存储管理

C.需要实现对共享资源的管理

D.进程数越多,CPU利用率越高

【解析】本题主要考查多道程序系统的概念和特征。

A选项、C选项叙述正确。现代计算机操作系统几乎全部支持多道程序处理,操作系统的基本特点是并发、共享、虚拟、异步,其中最基本的特点是并发和共享。

B选项叙述正确。早期的多道程序系统会将所有进程的数据全部调入主存,再让多道程序并发执行,即使不支持虚拟存储管理,也能实现“多道程序并发”。

D选项叙述错误。进程多并不意味着CPU利用率高,进程数量越多,进程之间的资源竞争越激烈,甚至可能出现死锁现象,导致CPU利用率降低。

【答案】D

【例6·选择题】【模拟题】下面叙述中,错误的是(  )。

A.操作系统既能进行多任务处理,又能进行多重处理

B.多重处理是多任务处理的子集

C.多任务是指同一时间内在同一系统中同时运行多个进程

D.一个CPU的计算机上也可以进行多重处理

【解析】本题主要考查多任务操作系统的特点。

多任务处理指同一个时间内计算机系统中允许多个进程同时处于运行状态;多重处理指对于有多个CPU的计算机,同时在多个CPU上执行进程,能同时执行多道程序。只有一个CPU的计算机,操作系统可以进行多进程并发执行,实现多任务处理。如果一台计算机有多个CPU,其操作系统既能进行多任务处理又能进行多重处理。

【答案】D

【例7·选择题】【南京航空航天大学2017年】引入多道程序的目的在于(  )。

A.充分利用CPU,减少CPU等待时间

B.提高实时响应速度

C.有利于代码共享,减少主、辅存信息交换量

D.解放CPU对外设的管理

【解析】本题主要考查单道批处理系统与多道批处理系统的特点。

首先明确引入多道程序的目的是解决单道批处理系统的主要问题——CPU利用率较低。

A选项正确。在单道批处理系统中,内存中只有一道作业,无法充分利用系统资源。在多道批处理系统中,所有待处理的进程形成一个队列,由作业调度程序根据适当的算法,选择若干个进程调入内存,因此充分利用了CPU和系统资源,也减少了CPU的等待时间。

B选项错误。提高实时响应速度是实时操作系统解决的主要问题。

C选项错误。多道程序设计只是在一个作业阻塞的时候,可以转而去执行另一个作业,从而提升CPU利用率,但是在内存上,并没有实现虚拟存储相关的内容。

D选项错误。解放CPU对外设的管理主要是设备控制器和通道的功能,与多道程序设计无关。

【答案】A