1、下列关于批处理系统的叙述中,正确的是
Ⅰ.批处理系统允许多个用户与计算机直接交互
Ⅱ.批处理系统分为单道批处理系统和多道批处理系统
Ⅲ.中断技术使得多道批处理系统的I/O设备可与CPU并行工作
A.仅Ⅱ、Ⅲ
B.仅Ⅱ
C.仅Ⅰ、Ⅱ
D.仅Ⅰ、Ⅲ
答案:A
解析:批处理系统中,作业执行时用户无法干预其运行,只能通过事先编制作业控制说明书来间接干预,缺少交互能力,即 I 错误;
批处理系统按发展历程又分为单道批处理系统和多道批处理系统,即 II 正确;
多道程序设计技术允许同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各种硬、软件资源,当一道程序因 I/O请求而暂停运行时,CPU便立即转去运行另一道程序,即多道批处理系统的 I/O设备可与CPU并行工作,这都是借助于中断技术实现的,即 III 正确。
PS:单道批处理系统:
多道批处理系统:
2、某单CPU系统中有输入和输出设备各1台,现有3个并发执行的作业,每个作业的输入、计算和输出时间均分别为2 ms、3 ms和4 ms,且都按输入、计算和输出的顺序执行,则执行完3个作业需要的时间最少是
A.15 ms
B.17 ms
C.22 ms
D.27 ms
答案:B
解析:对于调度类题目,解决的最好方法就是画图。因CPU、输入设备和输出设备都只有一个,因此各操作步骤不能重叠,画出运行时的甘特图如下图所示,即执行完3个作业需要的时间最少是17 ms。
3、系统中有3个不同的临界资源R1、R2和R3,被4个进程p1、p2、p3及p4共享。各进程对资源的需求为:p1申请R1和R2,p2申请R2和R3,p3申请R1和R3,p4申请R2。若系统出现死锁,则处于死锁状态的进程数至少是
A.1
B.2
C.3
D.4
答案:C
解析:对于本题,先满足一个进程的资源需求,再看其他进程是否能出现死锁状态。因为p4只申请一个资源,当R2分配给p4后,p4执行完后将R2释放,这时使得系统满足死锁的条件是R1分配给p1,R2分配给p2,R3分配给p3(或者R2分配给p1,R3分配给p2,R1分配给p3)。穷举其他情况如p1申请的资源R1和R2,先都分配给p1,运行完释放占有资源后,可以将R1、R2和R3分配给p3、p4和p2,也满足系统死锁条件。各种情况需要使得处于死锁状态的进程数至少为3。
PS:类似题目
e.g.1:某系统中有三个并发进程都需要四个同类资源,则该系统必然不会发生死锁的最少资源是
A.9
B.10
C.11
D.12
(1)资源数为9时,存在三个进程都占有三个资源,为死锁;
(2)资源数为10时,必然存在一个进程可以拥有四个资源完成并释放,可以顺利执行完其他进程。
即该系统必然不会发生死锁的最少资源是10个。
e,g.2:某系统中共有11台磁带机,X个进程共享此磁带机设备,每个进程最多请求使用3台,则系统必然不会发生死锁的最大X值是
A.2
B.3
C.4
D.5
考虑极端情况:每个进程已经分配了两台磁带机,那么其中任何一个进程只要再分配一台磁带机即可满足它的最大需求,该进程总能运行下去直到结束,然后将磁带机归还给系统再次分配给其他进程使用。因此,系统中只要满足 2*X+1=11 这个临界条件即可认为系统不会发生死锁,可得X=5,即系统中最多可以并发5个这样的进程是不会死锁的。
e.g,3:某系统有n台互斥使用的同类设备,三个并发进程分别需要3,4,5台设备,可确保系统不发生死锁的设备数n最小为
A.9
B.10
C.11
D.12
三个并发进程分别需要3,4,5台设备,当系统只有(3-1)+(4-1)+(5-1)=9台设备时,第一个进程分配两台,第二个进程分配三台,第四个进程分配四台。这种情况下,三个进程均无法继续执行下去,发生死锁。当系统中再增加1台设备时,即共10台设备时,最后1台设备分配给任意一个进程都可以顺利执行完成,因此保证系统不发生死锁的最小设备数为10。
4、某系统采用改进型CLOCK置换算法,页表项中字段A为访问位,M为修改位。A=0表示页最近没有被访问,A=1表示页最近被访问过。M=0表示页没有被修改过,M=1表示页被修改过。按(A,M)所有可能的取值,将页分为四类:(0,0)、(1,0)、(0,1)和(1,1),则该算法
淘汰页的次序为
A.(0,0),(0,1),(1,0),(1,1)
B.(0,0),(1,0),(0,1),(1,1)
C.(0,0),(0,1),(1,1),(1,0)
D.(0,0),(1,1),(0,1),(1,0)
答案:A
解析:改进型的CLOCK置换算法执行的步骤如下:
(1)、从指针的当前位置开始,扫描帧缓冲区。在这次扫描过程中,对使用位不做任何修改。选择遇到的第一个帧(A=0,M=0)用于替换。
(2)、若(1)失败则重新扫描,查找(A=0,M=1)的帧。。选择遇到的第一个这样的帧用于替换。在这个扫描过程中,对每个跳过的帧,将其使用位设置为0。
(3)、若(2)失败,则指针重新回到它最初的位置,并且集合中所有帧的使用位均为0,。重复(1),并在有必要时重复(2),这样将可以找到供替换的帧。即该算法淘汰页的次序为:(0,0),(0,1),(1,0),(1,1)。
PS:改进型时钟置换算法
5、使用TSL(Test and Set Lock)指令实现进程互斥的伪代码如下所示。
do {
……
while(TSL(&lock));
critical section;
lock=FALSE;
……
} while(TRUE);
下列与该实现机制相关的叙述中,正确的是
A.退出临界区的进程负责唤醒阻塞态进程
B.等待进入临界区的进程不会主动放弃CPU
C.上述伪代码满足“让权等待”的同步准则
D.while(TSL(&lock))语句应在关中断状态下执行
答案:B
解析:当进程退出临界区时置lock为FALSE,会负责唤醒处于就绪态的进程,即A选项错误;
等待进入临界区的进程会一直停留在执行while(TSL(&lock))的循环中,不会主动放弃CPU,即B选项正确;
让权等待,即进程不能进入临界区时,应立即释放处理器,防止进程忙等待,通过B选项的分析可知,上述伪代码并不满足“让权等待”的同步准则,即C选项错误;
while(TSL(&lock))在关中断状态下执行,若TSL(&lock)一直为true,不再开中断,则系统可能会因此终止,即D选项错误。
6、某进程的段表内容如下所示。
当访问段号为2、段内地址为400的逻辑地址时,进行地址转换的结果是
A.段缺失异常
B.得到内存地址4400
C.越权异常
D.越界异常
答案:D
解析:分段系统的逻辑地址A到物理地址E之间的地址变换过程如下:
(1)、从逻辑地址A中取出前几位为段号S,后几位为段内偏移量W,注意段式存储管理的题目中,逻辑地址一般以二进制数给出,而在页式存储管理中,逻辑地址一般以十进制数各出;
(2)、比较段号S和段表长度M,若S>=M,则产生越界异常,否则继续执行;
(3)、段表中段号S对应的段表项地址=段表始址F+段号S*段表项长度M,取出该段表项的前几位得到段长C。若段内偏移量>=C,则产生越界异常,否则继续执行。从这句话可以看出,段表项实际上只有两部分,前几位为段长,后几位为始址;
(4)、取出段表项中该段的基址b,计算E=b+W,用得到的物理地址E去访问内存。
本题目中段号为2的段长为300,小于段内地址,发生越界异常。
PS:段式存储管理的地址变换过程
7、某进程访问页面的序列如下所示。
若工作集的窗口大小为6,则在 t 时刻的工作集为
A.{6,0,3,2}
B.{2,3,0,4}
C.{0,4,3,2,9}
D.{4,5,6,0,3,2}
答案:A
解析:在任一时刻t,都存在一个集合,它包含所有最近k次(即为窗口大小)内存访问所访问过的页面。这个集合w(k,t)即为工作集。该题中最近6次访问的页面分别为6,0,3,2,3,2,再除去重复的页面,形成的工作集为 {6,0,3,2}。
8、进程P1和P2均包含并发执行的线程,部分伪代码描述如下所示。
下列选项中,需要互斥执行的操作是
A.a=1与a=2
B.a=x与b=x
C.x+=1与x+=2
D.x+=1与x+=3
答案:C
解析:P1中对 a 进行赋值,并不影响最终的结果,故
a=1和a=2不需要互斥执行,即A选项错误;
a=x和b=x执行先后不影响a和b的结果,无须互斥执行,即B选项错误;
x+=1和x+=2执行先后会影响x的结果,需要互斥执行,即C选项正确;
P1中的x和P2的x是不同范围中的x,互不影响,不需要互斥执行,即D选项错误。
9、下列关于SPOOLing技术的叙述中,错误的是
A.需要外存的支持
B.需要多道程序设计技术的支持
C.可以让多个作业共享一台独占设备
D.由用户作业控制设备与输入/输出井之间的数据传送
答案:D
解析:SPOOLing是利用专门的外围控制机,将低速 I/O设备上的数据传送到高速磁盘上,或者相反。SPOOLing的意思是外部设备同时联机操作,又称为假脱机输入/输出操作,是操作系统中采用的一项将独占设备改造成共享设备的技术,即A选项正确;
SPOOLing技术需要进行输入/输出操作,单道批处理系统无法满足,需要多道程序设计的支持,即B选项正确;
SPOOLing技术实现了将独占设备改造成共享设备的技术,即C选项正确;
设备与输入/输出井之间数据的传送是由系统实现的,不是由用户作业控制设备与输入/输出井之间的数据传送,即D选项错误。
PS:关于SPOOLing技术的常见易错点
(1)在采用SPOOLing技术的系统中,用户的打印结果首先被送到磁盘固定区域,即输出井,因为输出井模拟脱机输出时的磁盘用于暂存用户程序输出数据;
(2)虚拟设备是靠SPOOLing技术来实现的;
(3)SPOOLing技术的主要目的是提高独占设备的利用率;
(4)采用SPOOLing技术的计算机系统,外围计算机需要0台,因为SPOOLing技术需要使用磁盘空间用作输入/输出井和内存空间用作输入/输出缓冲区,不需要外围计算机支持,输入/输出进程模拟外围计算机;
(5)SPOOLing系统由预输入程序、井管理程序和缓输出程序组成;
(6)在SPOOLing系统中,用户进程实际分配到的是外存区,即虚拟设备;
(7)SPOOLing系统中的用户程序可以随时将输入数据送到输出井中,戴输出设备空闲时再由SPOOLing系统完成数据的输出操作;
(8)SPOOLing使独占设备变成共享设备;
(9)SPOOLing技术是操作系统中采用的以空间换取时间的技术;
(10)SPOOLing技术需要有高速大容量且可随机存取的外存支持,如高速磁盘;
(11)对独占设备往往采用静态分配方式,对共享设备往往采用动态分配方式;
(12)利用SPOOLing技术提高了系统和 I/O设备的利用率,进程不必等待 I/O操作的完成;
(13)打印机,扫描仪和磁带机等都属于独占设备,磁盘属于共享设备。
10、下列关于管程的叙述中,错误的是
A.管程只能用于实现进程的互斥
B.管程是由编程语言支持的进程同步机制
C.任何时候只能有一个进程在管程中执行
D.管程中定义的变量只能被管程内的过程访问
答案:A
解析:管程是由一组数据以及定义在这组数据之上的对这组数据的操作组成的软件模块,这组操作能初始化并改变管程中的数据和同步进程。管程不仅能实现进程间的互斥,而且能实现进程间的同步,即A选项错误;
管程是由编程语言支持的进程同步机制,即B选项正确;
管程具有特性:(1)局部于管程的数据只能被局部于管程内的过程所访问;(2)一个进程只有通过调用管程内的过程才能进入管程访问共享数据;(3)每次仅允许一个进程在管程内执行某个内部过程,即C,D选项正确。