文章目录
操作系统刷题
-
(C )操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时
交互地使用计算机。
A.网络 B.分布式 C.分时 D.实时 -
一个进程释放一种资源将有可能导致一个或几个进程(D )。
A.由就绪变运行 B.由运行变就绪 C.由阻塞变运行 D.由阻塞变就绪 -
设有 3 个作业,它们同时到达,运行时间分别为 T1、T2 和 T3,且 T1≤T2≤T3,若它们在单
处理机系统中按单道运行,采用短作业优先调度算法,则平均周转时间为(D )。
A. T1+T2+T3 B. (T1+T2+T3)/3 C. T1+T2/3+2T3/3 D.T3/3+2T2/3+T1 -
对资源编号,要求进程按照序号顺序申请资源,是破坏了死锁必要条件中的哪一条?
(D )
A. 互斥 B. 请求与保持 C. 不可剥夺 D. 循环等待 -
某系统采用了银行家算法,则下列叙述正确的是(B )。
A.系统处于不安全状态时一定会发生死锁
B.系统处于不安全状态时可能会发生死锁
C.系统处于安全状态时可能会发生死锁
D.系统处于安全状态时一定会发生死锁 -
下面最有可能使得高地址空间成为大的空闲区的分配算法是(A )。
A.首次适应法 B.最佳适应法 C.最坏适应法 D.循环首次适应 -
在下面关于虚拟存储器的叙述中,正确的是(B )。
A.要求程序运行前必须全部装入内存且在运行过程中一直驻留在内存
B.要求程序运行前不必全部装入内存且在运行过程中不必一直驻留在内存
C.要求程序运行前不必全部装入内存但是在运行过程中必须一直驻留在内存
D.要求程序运行前必须全部装入内存但在运行过程中不必一直驻留在内存 -
可以分配给多个进程的设备是(A )。
A.共享设备 B.块设备 C.独占设备 D.互斥设备 -
光盘上的文件一般可以采用( C)存取方式。
A.顺序 B.随机 C.直接 D.顺序或随机 -
如果一个计算机的硬盘为 64G,每个块的大小为 4K,如果用位示图来管理硬盘的空
间,则位示图的大小为(A )字节。
A.16M B.4M C.2M D.1M
(解:2^36 / 2^12 = 2^24 =16M) -
操作系统是计算机系统中的一个__系统软件_____________。
-
当处理器空闲时,调度程序从 就绪____ 进程队列中选择一个进程给其分配 CPU。
-
某系统中共有 10 台磁带机被 m 个进程竞争,每个进程最多要求 3 台磁带机,那么当
m 的取值为_____4_____时,系统不会发生死锁。 -
设有 8 页的逻辑空间,每页有 1024 字节,它们被映射 32 块的物理存储区中,那么,
逻辑地址的有效位是____13_____位,物理地址至少是____15______位。 -
产生死 锁的四个必要 条件是 互斥条件______、 请求和保持条件_______ 、不可抢占条件_________ 和
循环等待条件_。 -
在磁盘调度策略中有可能使 I/O 请求无限期等待的调度算法是____最短寻道时间优先_________。
-
( T)进程主要由程序、数据和 PCB 三部分内容组成。
-
(T )当一个线程完成了自己的任务后,由终止线程通过调用相应的函数对他执行终止
操作。 -
(T )进程的互斥在批处理系统中不会出现。
-
( T)若用信号量作为同步工具,多个 P 和 V 顺序不当,也会产生死锁。
-
(F )当进程已分配到除 CPU 以外的所有必要资源时,便处于阻塞状态。
-
(T )系统调用在本质上是一种过程调用,但它是一种特殊的过程调用。
-
( F)LRU 算法也有些特定的访问序列下也会出现 Belady 现象。
-
(F )任何两个并发进程之间一定存在同步或互斥关系。
-
(F )进程申请 CPU 得不到满足时, 其状态变为等待态。
-
(T )段式存储管理比页式存储管理更利于信息的共享。
-
PCB 有何作用?为什么说 PCB 是进程存在的唯一标志?(4 分)
作用:
- 作为独立运行基本单位的标志
- 实现与其他进程的同步与通信
- 提供进程管理所需要的信息
- 提供进程调度所需要的信息
- 能实现间断性运行方式
进程创建时,操作系统首先就要为它分配一个PCB,并通过PCB对进程实施有效的管理和控制,进程终止时,系统必须收回其PCB,因为进程与PCB是一一对应的,系统通过PCB“感知”到某个进程的存在。所以PCB是进程存在的唯一标志。
- 页式存储与段式存储的区别主要在于哪些方面?(4 分)
异:段式存储管理:分段由用户设计划分,每段对应一个相应的的程序模块,有完整的逻辑意义。段面是信息的逻辑单位。便于段的共享,执行时按需动态链接装入。段长不等,可动态增长,有利于新数据增长。
二维地址空间:段名、段中地址;段号、段内单元号。管理形式上象页式,但概念不同。
请求页式存储管理:分页用户看不见,由操作系统为内存管理划分。页面是信息的物理单位。页一般不能共享。页面大小相同,位置不能动态增长。一维地址空间。往往需要多次缺页中断才能把所需信息完整地调入内存。
同:实现页(段)的共享是指某些作业的逻辑页号(段号)对应同一物理页号(内存中该段的起始地址)。页(段)的保护往往需要对共享的页面(段)加上某种访问权限的限制,如不能修改等;或设置地址越界检查,对于页内地址(段内地址)大于页长(段长)的存取,产生保护中断。
- 在一个请求分页系统中,采用 LRU 页面置换算法,例如一个作页的页面走向为 4,3,2,
1,4,3,5,4,3,2,1,5,当分配给该作业的物理块数 M 分别为 3 和 4 时,试计算访
问过程中所发生的缺页次数和缺页率?(注:所有内存块最初都是空的),并比较所得结
果。(10 分)
答:4;4 3;4 3 2;1 3 2;1 4 2;1 4 3;5 4 3;2 4 3;2 1 3;2 1 5;
10次缺页率=10/12
- 假设一个可移动磁头的磁盘具有 200 个磁道,其编号为 0~199,当前它刚刚结束了 125 道
的存取,正在处理 149 道的服务请求,假设系统当前磁盘请求序列为:88, 147, 95, 177, 94,
150, 102, 175, 138。试问对以下的磁盘调度算法而言,满足以上请求序列,磁头将如何移
动?并计算总的磁道移动数。
(1)先来先服务策略(5 分)
解:磁头移动方向为:88, 147, 95, 177, 94, 150, 102, 175, 138
对应的磁道移动数为:61,59,52,82,83,56,48,73,37
(2)最短寻道时间优先策略(5 分)
解:150,147,138,102,95,94,88,175,177 - 假定一个阅览室可供 70 个人同时阅读。读者进入和离开阅览室时都必须在阅览室入口处
的一个登记表上登记,阅览室有 70 个座位,规定每次只允许一个人登记或注销登记。要
求:
(1)用 PV 操作描述读者进程的实现算法(可用流程图表示,登记、注销可用自然语言描
述);(5 分)
(2)指出算法中所用信号量的名称、作用及初值。(5 分)
33. 在一个分页存储管理系统中,页长为 4KB,某一作业的页表如右图所示,请计算虚拟地址
3000 对应的物理地址。(5 分)
34. 设某文件的物理存储方式采用链接方式,该文件由 5 个逻辑记录组成,每个逻辑记录的大
小与磁盘块大小相等,均为 512 字节,并依次存放在 50、121、75、80、63 号磁盘块上。
(1)文件的第 1569 逻辑字节的信息存放在哪一个磁盘块上?(3 分)(请写出分析过程)
(2)要访问第 1569 逻辑字节的信息,需要访问多少个磁盘块?(假如该文件的 FCB 在
内存)(请写出分析过程)(4 分)
答:
因为:1569=512×3+33
所以要访问字节的逻辑记录号为3,对应的物理磁盘块号为80。故应访问第80号磁盘块。
由于采用链接方式,所以要访问第3个逻辑记录的信息,必须访问逻辑记录第0、1、2后,才能访问第3个逻辑记录,所以要访问第1569逻辑字节的信息,需要访问4个磁盘块。
1、 操作系统的基本功能包括(处理机 )管理、(存储器 )管理、(设备 )管理和(文件)管理。除此以外还为用户使用操作系统提供了用户接口。
2、 进程完成任务后,系统收回进程占用的(资源)和取消(PCB)后就撤销了该进程。
3、 信号量的物理意义是:当前信号量的值大于零时,表示(可用资源的数目);当信号量小于零时,其绝对值表示(因请求该资源而被阻塞的进程的数目)。
4、 产生死锁的原因是(竞争资源)和(进程推进顺序不当)。
5、 系统处于安全状态则(一定不)发生死锁,系统处于不安全状态则(有可能)发生死锁。
6、 在一个单处理机系统,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有( 4 )个,最少有( 0 )个。
7、 有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量的变化范围是(-(m-1)~1)。
1、操作系统的基本类型主要有( C )。
A.批处理系统、分时系统和多任务系统
B.单用户系统、多用户系统和批处理系统
C.批处理操作系统、分时操作系统和实时操作系统
D.实时系统、分时系统和多用户系统
2、在操作系统中,并发性是指( C )。
A.若干个事件在同一时刻发生
B.若干个事件的发生时间是随机的
C.若干个事件在同一时间间隔内发生
D.若干个事件的发生是时间驱动的
3、在下列作业调度算法中,( B )调度算法最有利于小作业,从而提高系统吞吐能力。
A.先来先服务 B.计算时间短的作业优先
C.优先级 D.响应比最高优先
4、下列进程变化状态中,( C )变化是不可能发生的。
A.执行→就绪 B.执行→阻塞 C.阻塞→执行 D.阻塞→就绪
5、资源的按序分配策略可以破坏( D )条件。
A.互斥 B.请求和保持 C.不剥夺 D.环路等待
6、进程和程序的本质区别是( B )。
A.内存和外存 B.动态和静态特征
C.共享和独占使用计算机资源 D.顺序和非顺序执行机器指令
7、某系统中有3个并发进程,都需要同类资源4个,问该系统不会发生死锁的最少资源数是( B )个。
A.9 B. 10 C. 11 D. 12
8、两个进程合作完成一个任务。在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的( A )。
A.同步 B.执行 C.互斥 D.调度
9、信号量s不能用于( D )操作。
A.V操作 B.P操作 C.赋初值 D.运算表达式
10、下面关于临界区的叙述中正确的是( C )。
A.临界区可以允许规定数目的多个进程同时进行
B.临界区只包含一个程序段
C.临界区是必须互斥地执行的程序段
D.临界区的执行不能被中断
1、简述为什么引入进程?简述进程的特征。(6分)
解:
在多道程序环境下,程序的执行属于并发执行,此时它们将失去其封闭性,并具有间断性及不可再现性的特征,为了使程序能并发执行,且对并发执行的程序加以描述和控制,人们引进了“进程”概念。
进程的特征:
结构特征(由程序段、数据段和PCB构成);动态性;并发性;独立性;异步性。
2、简述3种常用的进程通信方式。(9分)
解:
⑴共享存储器系统(分为基于共享数据结构的通信方式和基于共享存储区的通信方式);
⑵消息传递系统(分为直接通信方式和间接通信方式);
⑶管道通信,是指用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文件,又名pipe文件。
3、简述进程的创建过程和阻塞过程。(10分)
解:
进程的创建过程:
申请空白PCB;为新进程分配资源;初始化进程控制块;将新进程插入就绪队列。
进程的阻塞过程:
当发生引起进程阻塞的事件时,首先调用阻塞原语block把自己阻塞,把进程控制块中的现行状态由“执行”改为阻塞,并将PCB插入阻塞队列,最后转调度程序进行重新调度。
1、 在一个批处理系统中,采用响应比高者优先的作业调度算法。当一个作业进入系统后就可以开始调度,假定作业都仅是计算,忽略调度花费的时间。现有3个作业,进入系统的时间和需要计算的时间如下表所示。
(1) 求出每个作业的开始时间、完成时间及周转时间并填入表中。
解:平均周转时间=(120+60+60)/3=80
带权周转时间: p1=60/60=1 p2=120/45=2.667 p3=60/25=2.4
平均带权周转时间=(1+2.667+2.4)/3=2…022
(2) 计算三个作业的平均周转时间和平均带权周转时间为多少。(10分)
2、有5个并发执行的进程P1、P2、P3、P4、P5,它们共享5个资源R1、R2、R3、R4、R5,每个进程都需要得到两个资源后才能执行结束,但每次只能申请一个资源。每个进程申请的资源列表如下:
1)在什么资源分配情况下会引起死锁?为什么?
2)请你提出一种方案,使进程申请资源时受到适当的限制,从而避免可能引起的死锁。(10分)
解:
1)
当5个进程同时进行第一次资源申请后,即进程P1申请R1, 进程P2申请R2, 进程P3申请R3, 进程P4申请R4, 进程P5申请R5,第一次申请资源结束后, 这时候再进行第二次资源申请,无论是哪个进程申请都不能够申请成功,这时候资源都被占用,进入死锁状态。
2)
方案一:每次最多只允许4个进程同时申请资源
方案二:给资源设置优先权,当进程申请完Ri之后,第二次申请Rj时,下标 j必须大于i时,才把第二个资源分配给该进程。
方案三:一次性分配给进程两个资源,如果有一个资源被占用时,放弃该进程所拥有的资源。
方案四:可以使偶数的进程先执行,执行结束后,再执行奇数的进程。
3、 桌子上有一只盘子,每次只能放入或取出一个水果。现有许多苹果和橘子。一家4口人各行其职。爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,儿子专等吃盘子中的橘子,女儿专等吃盘子中的苹果。请用P操作、V操作来实现4人之间的同步算法。(10分)
解:
Semphore s1=1,s2=s3=0;
Father:
{
wait(s1);
放入苹果;
signal(s2);
}
Mother:
{
wait(s1);
放入橘子;
signal(s3);
}
Son:
{
wait(s3);
吃苹果;
signal(s1);
}
Daughter:
{
wait(s2);
吃橘子;
signal(s1);
}
4、假设具有5个进程的集合P={P0,P1,P2,P3,P4},系统中有3类资源A、B、C,假设在某时刻有以下状态:
试问:1)该状态是否安全?请给出详细的检查过程。
2)如果系统的可利用资源Available为 (0,6,2),系统是否安全?如果系统处在安全状态,请给出安全序列;如果系统处在非安全状态,说明原因。(10分)
解:
-
( C )操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同 时交互地使用计算机。
A.网络 B.分布式 C.分时 D.实时 -
一个进程释放一种资源将有可能导致一个或几个进程( D )。
A.由就绪变运行 B.由运行变就绪 C.由阻塞变运行 D.由阻塞变就绪 -
设有3个作业,它们同时到达,运行时间分别为T1、T2和T3,且T1≤T2≤T3,若它们在单处理机系统中按单道运行,采用短作业优先调度算法,则平均周转时间为( D )。
A. T1+T2+T3 B. (T1+T2+T3)/3 C. T1+T2/3+2T3/3 D.T3/3+2T2/3+T1
T1;
T1+T2
T1+T2+T3 -
对资源编号,要求进程按照序号顺序申请资源,是破坏了死锁必要条件中的哪一条?( D )
A. 互斥 B. 请求与保持 C. 不可剥夺 D. 循环等待 -
某系统采用了银行家算法,则下列叙述正确的是( B )。
A.系统处于不安全状态时一定会发生死锁
B.系统处于不安全状态时可能会发生死锁
C.系统处于安全状态时可能会发生死锁
D.系统处于安全状态时一定会发生死锁 -
下面最有可能使得高地址空间成为大的空闲区的分配算法是(A )。
A.首次适应法 B.最佳适应法 C.最坏适应法 D.循环首次适应法 -
在下面关于虚拟存储器的叙述中,正确的是(B )。
A.要求程序运行前必须全部装入内存且在运行过程中一直驻留在内存
B.要求程序运行前不必全部装入内存且在运行过程中不必一直驻留在内存
C.要求程序运行前不必全部装入内存但是在运行过程中必须一直驻留在内存
D.要求程序运行前必须全部装入内存但在运行过程中不必一直驻留在内存
虚拟存储器特征:多次性、对换性、虚拟性 -
可以分配给多个进程的设备是( A )。
A.共享设备 B.块设备 C.独占设备 D.互斥设备 -
光盘上的文件一般可以采用( D )存取方式。
A.顺序 B.随机 C.直接 D.顺序或随机 -
如果一个计算机的硬盘为64G,每个块的大小为4K,如果用位示图来管理硬盘的空间,则位示图的大小为( C )字节。
A.16M B.4M C.2M D.1M
位示图 -
用户程序中的输入、输出操作实际上是由( B )完成。
A、程序设计语言 B、操作系统
C、编译系统 D、标准库程序 -
某页式管理系统中,地址寄存器的低11位表示页内地址,则页面大小为( C )
A.1024字节 B.512字节 C.2K字节 D.4K字节 -
如P和V操作的信号量S初值为4,则现在S=-1,表示有( A )个进程在等待。
A.1 B.2 C.3 D.5 -
一种既有利于短小作业又兼顾到长作业的作业调度算法是( C )。
A、先来先服务 B、轮转
C、最高响应比优先 D、均衡调度 -
采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是( B)。
A.224 B.216 C.28 D.232 -
在下面的I/O控制方式中,需要CPU干预最少的方式是( D )。
A.程序I/O方式
B.中断驱动I/O控制方式
C.直接存储器访问DMA控制方式
D.I/O通道控制方式 -
有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是( A )。
A.1至 –(m-1) B.1至m-1 C.1至–m D.1至m -
在虚拟存储系统中,若进程在内存中占3块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序列为:1、2、3、4、1、2、5、1、2、3、4、5、6时,将产生( D )次缺页中断。(423)(413)(412)(512)(532)(534)(634)
A、7 B、8 C、9 D、10 -
死锁预防是保证系统不进入死锁状态的静态策略,其解决方法是破坏产生死锁的四个必要条件之一。下列方法中哪一个破坏了“循环等待”条件( C)。
A. 一次性分配策略 B. 剥夺资源法 C. 资源有序分配法 D. 银行家算法 -
某系统磁盘共有1600块,块号从0~1599,若用位示图管理这1600块的磁盘空间,问位示图需要( C )个字节?
A.300 B.400 C.200 D.500 -
以下哪一项是文件系统层次结构中的核心部分?( B )
A、对象及其属性 B、对对象操纵和管理的软件集合
C、文件系统的接口 D、程序接口 -
若P、V操作的信号量S初值为3,当前值为 -2,则表示阻塞队列上有( C )个进程。
A.0 B.l C.2 D.3 -
按照所起的作用和需要的运行环境,操作系统属于( A )范畴。
A.系统软件 B.应用软件
C.支撑软件 D.用户软件 -
计算机系统产生死锁的根本原因是( D )。
A.资源有限 B.进程推进顺序不当 C.系统中进程太多 D.A和B -
以下存储管理技术中,支持虚拟存储器的技术是( C )。
A.动态分区法 B.可重定位分区法 C.请求分页技术 D.对换技术 -
在分页存储管理系统中,从页号到物理块号的地址映射是通过( B )实现的。
A.段表 B.页表 C.PCB D.JCB -
若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许( D )个进程参于竞争,而不会发生死锁。
A、5 B、2 C、3 D、4 -
“可抢占”和“不可抢占”的优先级调度算法相比( B )。
A.前者开销小 B.前者开销大 C.两者开销大致相同 D.两者开销不能相比 -
在现代操作系统中采用缓冲技术的主要目的是( C )。
A.改善用户编程环境 B.提高CPU的处理速度
C.提高CPU和设备之间的并行程度 D.实现与设备无关性 -
对磁盘进行移臂调度时,既考虑了减少寻道时间,又不频繁改变移动臂的移动方向的调度算法是( C )。
A.先来先服务 B.最短寻道时间优先 C.电梯调度 D.优先级高者优先 -
某系统有ABCD四类资源可供五个进程P1,P2,P3,P4,P5共享。系统对这四类资源的拥有量 为:A类3个,B类14个,C类12个,D类12个。进程对资源的需求和分配情况如下:
进程 已占有资源 最大需求数
按银行家算法回答下列问题:1 5 2 0
(1) 现在系统中的各类资源还剩余多少?
(2) 现在系统是否处于安全状态?为什么?
Need 0000 0750 1002 0020 0642
Available 1520
Work 1520
Finish TFTFF
Work 1532
Work 2 8 8 6
存在安全序列p1,p3,p4,p2,p5
(3) 如果现在进程P2提出需要A类资源0个、B类资源4个、C类资源2个和D类资源0个,系统能否去满足她的请求?请说明原因。(0420)
p1,p3,p4,p5,p2
1、下面设备中属于共享设备的是( c )。
A.打印机 B.磁带机
C.磁盘 D.磁带机和磁盘
2、利用通道实现了( C)之间数据的快速传输。
A.CPU和外设 B.内存和CPU
C.内存和外设 D.外设和外设
3、设备驱动程序是系统提供的一种通道程序,它专门用于在请求I/O的进程与设备控制器之间传输信息。下面的选项中不是设备驱动程序功能的是( C )。
A.检查用户I/O请求的合法性
B.及时响应由控制器或通道发来的中断请求
C.控制I/O设备的I/O操作
D.了解I/O设备的状态,传送有关参数,设置设备的工作方式
4、假脱机技术中,对打印机的操作实际上是用对磁盘存储实现的,用以替代打印机的部分是指( C)。
A.共享设备 B.独占设备
C.虚拟设备 D.物理设备
5、下列关于通道、设备、设备控制器三者之间的关系叙述中正确的是( C )。
A.设备控制器和通道可以分别控制设备
B.设备控制器控制通道和设备一起工作
C.通道控制设备控制器,设备控制器控制设备
D.设备控制器控制通道,通道控制设备
6、在操作系统中,下列选项不属于软件机制的是( B)。
A.缓冲池 B.通道技术
C.覆盖技术 D.Spooling技术
7、在某个系统的某个运行时刻有磁盘访问的请求序列,如下表,假设磁头当前在15柱面,磁臂方向从小到大:
请给出最短查找时间优先算法和电梯调度算法的柱面移动数,并分析为何通常情况下,操作系统并不采用效率更高的最短查找时间优先算法。
解:
先按照相应磁盘调度算法确定调度序列,再根据调度序列计算柱面移动次数。
采用最短查找时间优先(最短寻道时间优先)算法的调度序列为:1516139202429,柱面移动次数:1+3+4+11+4+5=28。
电梯调度算法的调度序列为:1516202429139,柱面移动次数:1+4+4+5+16+4=34。
对于本例,最短查找时间优先算法(SSTF)的效率更高些。但是由于SSTF调度算法并不一定是效率最高的算法,而且会导致饥饿现象,所以通常情况下,操作系统并不采用最短查找时间优先算法。
2、某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空闲),采用最佳适配(Best Fit)算法,分配和释放的顺序为:分配15MB、分配30MB、释放15MB、分配8MB、分配6MB,此时主存中最大空闲分区的大小是( B )。
A.7 MB B.9 MB C.10 MB D.15 MB
3、采用( B )不会产生内部碎片。
A.分页式存储管理
B.分段式存储管理
C.固定分区式存储管理
D.段页式存储管理
4、系统“抖动”现象的发生是由( A )引起的?
A.置换算法选择不当
B.交换的信息量过大
C.内存容量充足
D.请求页式管理方案
-
计算机的存储器包括内存和外存,简述操作系统对内存管理的方式。(6分)
解:
连续分配方式是指为一个用户程序分配一个连续的内存空间。具体包括:单一连续分配、固定分区分配、动态分区分配、可重定位分区分配。
连续分配方式会形成“碎片”,虽然可以通过“紧凑”解决,但开销大。如果允许将一个进程直接分散地装入许多不相邻的分区中,则无需“紧凑”,由此产生离散分配方式。离散分配方式分为两类:
分页存储管理方式:离散分配的基本单位是页,又可分为基本分页存储管理方式和请求分页存储管理方式。
分段存储管理方式:离散分配的基本单位是段,又可分为基本分段存储管理方式和请求分段存储管理方式。 -
某计算机采用基于动态分区分配的存储管理方式,假定内存空间110KB,OS占用10KB,其余为空闲区,采用最佳适应(Best Fit)算法。请写出操作系统如何进行动态分区分配,并且最佳适应算法如何工作,最后分析当进程分配和释放的顺序为:分配30KB、分配50KB、释放30KB、分配15KB时,内存分配情况的变化过程。(10分)
解:
动态分区分配是根据进程的实际需要,动态地为之分配内存空间。
所谓“最佳”是指每次为作业分配内存时,总是把能满足要求、又是最小的空闲分区分配给作业,避免“大材小用”。
可分配的内存空间为100KB
最佳适应算法分配
(1) 已分配30KB,空闲70KB
(2) 已分配为 30KB,50KB,剩余20KB
(3) 已分配为50KB,剩余30KB,20KB
(4) 已分配为50KB,15KB,剩余30KB,5KB -
在缺页处理过程中,操作系统执行的操作可能是( D )
I、修改页表 II、磁盘I/O III、分配页框
A、仅I、II B、仅II C、仅III D、I、II和III -
当系统发生抖动(thrashing)时,可以采取的有效措施是( A )
I、撤销部分进程
II、增加磁盘交换区的容量
III、提高用户进程的优先级
A、仅I B、仅II C、仅III D、仅I、II -
在虚拟内存管理中,地址变换机构将逻辑地址变换为物理地址,形成该逻辑地址的阶段是( B )
A、编辑 B、编译 C、链接 D、装载 -
有两个并发执行的进程P1和P2,共享初值为1的变量x。P1对x加1,P2对x减1。加1和减1操作的指令序列分别如下所示。
//加1操作 //减1操作
load R1, x //取x的值到寄存器R1中 load R2, x
inc R1 dec R2
store x,R1 //将R1的内容存入x store x,R2
两个操作完成后,x的值为( C )
A、可能为-1或3 B、只能为1
C、可能为0、1或2 D、可能为-1、0、1或2 -
某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空),采用最佳适配(best fit)算法,分配和释放的顺序为:分配15mb,分配30mb,释放15mb,分配8mb,分配6Mb,此时主存中最大空闲分区的大小是(B)
A、7Mb B、9Mb C、10Mb D、15Mb -
某计算机采用二级页表的分页存储管理方式,按字节编制,页大小为2(10)【2的10次方,下同】字节,页表项大小为2字节,逻辑地址结构为:页目录号 页号 页内偏移量,
逻辑地址空间大小为2(16)页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是( B )
A、64 B、128 C、256 D、512 -
(8分)请求分页管理系统中,假设某进程的页表内容如下表所示。页面大小为4KB,一次内存的访问时间是100ns,一次快表(TLB)的访问时间是10ns,处理一次缺页的平均时间为108ns(已含更新TLB和页表的时间),进程的驻留集大小固定为2,采用最近最少使用置换算法(LRU)和局部淘汰策略。假设:
(1)、TLB初始为空;
(2)、地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间);
(3)、有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。
设有虚地址访问序列:2362H、1565H、25A5H,请问:
(1)、依次访问上述三个地址,各需多少时间?给出计算过程。
(2)、基于上述访问序列,虚地址1565H的物理地址是多少?请说明理由。
解:
1)、根据页式管理的工作原理,应先考虑页面大小,以便将页号和页内位移分解出来。页面大小为4KB,即212,则页内位移占虚地址的低12位,页号占剩余高位。可得三个虚地址的页号P如下:
2362H:P=2,访问快表10ns(因TLB初始为空),访问页表100ns得到页框号,合成物理地址后访问主存100ns,共计10+100+100=210ns。
1565H:P=1,访问快表10ns,缺页,访问页表100ns缺页,进行缺页中断处理108ns,合成物理地址后访问主存100ns,共计10+100+108+100=318ns。
25A5H:P=2,访问快表10ns(因第一次访问时已将页号放入快表,即可合成物理地址),合成物理地址后访问主存100ns,共计10+100=110ns。
合计210+318+110=628ns
(2)、当访问虚地址1565H时,产生缺页中断,合法驻留集为2,必须从页表中淘汰一个页面,根据题目的置换算法,应淘汰0号页面,因此1565H的对应页框号为101H。由此可得1565H的物理地址为101565H。 -
假定盘块的大小为1KB,硬盘的大小为500MB,采用显示链接分配方式时,其FAT需要占用多少存储空间?
答:FAT的每个表项对应于磁盘的一个盘块,其中用来存放分配给文件的下一个盘块的块号,故FAT的表项数目由物理盘块数决定,而表项的长度则由磁盘系统的最大盘块号决定(即它必须能存放最大的盘块号)。为了地址转换的方便,FAT表项的长度通常取半个字节的整数倍,所以必要时还必须由最大盘块号获得的FAT表项长度作一些调整。
由题意可知,该硬盘共有500K个盘块,故FAT中共有500K个表项;如果盘块从1开始编号,为了能保存最大的盘块号500K,该FAT表项最少需要19位,将它扩展为半个字节的整数倍后,可知每个FAT表项需20位,即2.5个字节。因此,FAT需占用的存储空间的大小为:
2.5×500K=1250KB
-
存放在某个磁盘上的文件系统,采用混合索引分配方式,其FCB中共有13个地址项,第0~9个地址项为直接地址,第10个地址项为一次间接地址,第11个地址项为二次间接地址,第12个地址项为三次间接地址。如果每个盘块的大小为4K字节,若盘块号需要用4个字节来描述,请问该系统中允许的文件的最大长度是多少?
答:由题意可得,每个盘块最多存放4K/4=1K个盘块地址。
在混合索引分配方式中,文件的FCB的直接地址中登记有分配给文件的前n块(0到n-1)的物理块号(本题中为10);一次间接地址中登记有一个一次间接块的块号,而在一次间接块中则登记有分配给文件的第n到第n+k-1块的块号(本题中k的值为1k);二次间接地址中登记有一个二次间接块的块号,其中可给出k个一次间接块的块号,而这些一次间接块被用来登记分配给文件的第n+k块到第n+k+k2-1块的块号;三次间接地址中则登记有一个三次间接块的块号,其中可给出k个二次间接块的块号,这些二次间接块有可给出k2个一个间接块的块号,而这些一次间接块则用来登记分配给文件的第n+k+k2块到n+k+k2+k3-1块的物理块号。
则该系统中一个文件的最大长度是:
4K×(10+1K+1K×1K+1K×1K×1K)=40K +4M +4G +4T -
有一计算机系统采用如下图所示的位示图(行号、列号都从0开始编号)来管理空闲盘块。如果盘块从1开始编号,每个盘块的大小为1KB。
(1)现要为文件分配两个盘块,试具体说明分配过程。
(2)若要释放磁盘的第300块,应如何处理?
答:(1)为某文件分配两个盘块的过程如下:
顺序检索位示图,从中找到第一个值为0的二进制位,得到其行号i1=2,列号j1=2;第二个值为0的二进制位,得到其行号i2=3,列号j2=6。
计算出找到的两个空闲块的盘块号分别为:
b1=i1×16+j1+1=2×16+2+1=35
b1=i2×16+j2+1=3×16+6+1=55
修改位示图,令Map[2,2]=Map[3,6]=1,并将对应块35、55分配出去。
(2)释放磁盘的第300块时,应进行如下处理:
计算出磁盘第300块所对应的二进制位的行号i和列号j:
i=(300-1)/16=18,j=(300-1)% 16=11
修改位示图,令Map[18,11]=0,表示对应块为空闲块。 -
设某系统磁盘共有1600块,块号从0~1599,若用位示图管理这1600块的磁盘空间,问位示图需要多少个字节?
答案解析
答:在位示图中,用1位二进制数描述1个磁盘块的状态。1600个磁盘块共需要1600位二进制数,每个字节长为8位,位示图需要:
1600/8=200(字节)
1、面包店有很多面包,由n个销售人员销售。每个顾客进店后先取一个号,并且等待叫号。当一个销售人员空闲下来时,就叫下一个号。试设计一个使销售人员和顾客同步的算法。
semaphore mutex=1,empty=999,full=0;
customer()
{
while(1)
{
wait(empty);
wait(mutex);
取号;
signal(mutex);
signal(full);
}
}
seller()
{
while(1)
{
wait(full);
wait(mutex);
叫号;
signal(mutex);
signal(empty);
}
}
int main(void)
{
Cobegin
customer();
seller();
Coend;
}
2、某寺庙,住着一个老和尚和若干小和尚,有一个水缸,由小和尚提水入缸供老和尚饮用。水缸可以容纳10桶水,水取自同一口井中,由于水井口窄,每次只能容纳一个水桶取水,水桶总数为3个。每次往水缸中倒水与从水缸中取水仅为一桶,且不可同时进行。试给出小和尚打水、倒水和老和尚取水的算法描述,并说明各信号量的含义并赋初值。
分析:由题意可知,水缸为互斥资源,当小和尚往里面倒水的时候,
老和尚是无法进行取水的,水井和水桶均为互斥资源,所以应该设
置互斥信号量
semaphore pokeMutex=1,//表示有没有水缸可以使用
wellMutex=1, //表示有没有人在使用井
full=0,//表示水缸中有的水的桶数
empty=10,//表示可以往水缸中倒入的桶数
pokeCount=3;//表示水桶的数目
int main(void)
{
Cobegin
littlePerson();
oldPerson();
Coend;
}
void littlePerson()
{
do
{
wait(empty);//水缸满了没?
wait(pokeCount);//有可用的桶没?
wait(wellMutex);//可以使用井吗?
小和尚打水;
signal(wellMutex);//释放井资源
wait(pokeMutex);//可以使用水缸吗?
小和尚倒水;
signal(pokeMutex); //释放水缸资源
signal(pokeCount);//释放水桶资源
signal(full);//水缸里面水多了一桶
}while(true);
}
void oldPerson()
{
do
{
wait(full);//水缸里面有水吗?
wait(pokeCount);//有可以使用的桶吗?
wait(pokeMutex);//水缸是否正在被占用?
老和尚取水;
signal(pokeMutex);//释放水缸资源
signal(pokeCount);//释放水桶资源
signal(empty); //表示可以向水缸中倒入的水的桶数 +1
}while(true);
}
例2. 有桥如下图所示,车流如箭头所示,桥上不允许两车交汇,但允许同方向多辆车依次通过(即桥上可以有多个同方向的车)。用P、V操作实现交通管理以防止桥上堵塞。【北京大学 1992】
【分析】本题目类似“读者—写作”问题,但又有所不同。这个题目要解决:南、北互斥(桥上不允许两车交汇,相当于“读、写互斥”),需要设置一个互斥信号量mutex,初值为1;南、南共享(相当于“读、读共享”),套用实现“读、读共享”的模式,需要设置一个共享变量south,用于记录当前桥上向南行驶过桥的车辆数目,初值为0,再设置一个互斥信号量smutex,实现对south的互斥访问;北、北共享(也相当于“读、读共享”),需要设置一个共享变量north,用于记录当前桥上向北行驶过桥的车辆数目,初值为0,再设置一个互斥信号量nmutex,实现对north的互斥访问。
semaphore mutex=1, smutex=1, nmutex =1;
int south=0, north=0;
main() {
cobegin
Tosouth();
Tonorth();
coend
}
Tosouth () {
While(1) {
P(smutex);
if (south==0) P(mutex);
/*当第1辆向南的车辆过桥时,
阻止向北车辆过桥*/
south++
V(smutex);
过桥;
P(smutex);
south--;
if (south==0) V(mutex);
/*当最后1辆向南的车辆过桥后,
允许向北车辆过桥*/
V(smutex);
}
}
Tonorth () {
While(1) {
P(nmutex);
if (north==0) P(mutex);
/*当第1辆向北的车辆过桥时,阻止向南车辆过桥*/
north++
V(nmutex);
过桥;
P(nmutex);
north--;
if (north==0) V(mutex);
/*当最后1辆向北的车辆过桥后,允许向南车辆过桥*/
V(nmutex);
}
}
例1. 面包店有很多面包,由n个销售人员销售。每个顾客进店后先取一个号,并且等待叫号。当一个销售人员空闲下来时,就叫下一个号。试设计一个使销售人员和顾客同步的算法。【北京航天航空大学2001】
semaphore mutex=1, full=0;
//mutex:对顾客队列(缓冲区)进行互斥操作的信号量
//full:缓冲区已占容量(队列中的顾客数)
customer(){
while(1) {
p(mutex);
取一个号码;
插入队列;
v(mutex);
v(full);
}
}
seller(){
while(1) {
p(full);
p(mutex);
从队列中取一个号码;
v(mutex);
为持有该号码的顾客服务;
}
}
Void main( ) {
cobegin
customer( );
seller( );
coend
}
1、进程的三种基本状态( 就绪态 )、( 执行态 )和阻塞状态。当进程因时间片用完而让出处理机时,该进程的状态应从( 执行 )态转为( 阻塞 )态。
2、进程控制就是对系统中的进程实施有效的管理,通过使用( D )、进程撤消、 进程阻塞、进程唤醒等进程控制原语实现。
A. 进程同步
B. 进程管理
C. 进程运行
D. 进程创建
3、下面对进程的描述中,错误的是( B )。
A. 进程是有生命期的 B. 进程是指令的集合 C. 进程是动态的概念 D. 进程执行需要处理机
4、什么是操作系统?其特征是什么?
操作系统是直接控制和管理计算机硬件、软件资源,合理地对各类作业进行调度,以方便用户使用的程序集合。
其特征是:并发、共享、虚拟和异步性
5、什么是进程?其创建过程是什么?
进程:程序关于某个数据集合的一次执行过程
进程的创建过程:
(1)申请空白PCB
(2)为新进程分配资源
(3)初始化进程控制块
(4)将新进程插入就绪队列
6、当一进程因在记录型信号量S上执行P(S)操作而被阻塞后,S的值为( B )。
A. >0 B. <0 C. >=0 D. <=0
7、 有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是( A )。
A. 1至-(m-1) B. 1至m-1
C. 1至-m D. 1至m
8、设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1时表示( B )。
A. 一个进程进入了临界区,另一个进程等待
B. 没有一个进程进入临界区
C. 两个进程都进入了临界区
D. 两个进程都在等待
2、有一阅览室,共有100个座位。读者进入时必须先在一种登记表上登记,该表为每一座位列一个表目,包括座号和读者姓名。读者离开时要注销掉登记内容。试用wait和signal原语描述读者进程的同步问题。
var mutex, readcount :semaphore := 1,100;
Begin
Parbegin
Process Reader:begin
repeat
wait(readcount);
wait(mutex);
<填入座号和姓名完成登记>;
signal(mutex);
<阅读>
wait(mutex)
<删除登记表中的相关表项,完成注销>
signal(mutex);
signal(readcount);
until false;
end;
parend;
End;
3、有一只铁笼子,每次只能放入一只动物,猎手向笼子里放入老虎,农民向笼子里放入猪;动物园等待取笼子里的老虎,饭店等待取笼子里的猪。现请用wait和signal操作写出能同步执行的程序。
var Sempty, Stiger, Spig,: semaphore:= 1,0,0;
begin
parbegin
Hunter: begin
repeat
wait(Sempty);
<put tiger in cage>;
signal(Stiger);
until false;
end;
Farmer: begin
repeat
wait(Sempty);
<put pig in cage>;
signal(Spig);
until false;
end;
Zoo: begin
repeat
wait(Stiger);
<take tiger>;
signal(Sempty);
until false;
end;
Hotel: begin
repeat
wait(Spig);
<take pig>;
signal(Sempty); until false;
end;
parend;
end;
2、如图7所示,有多个PUT操作同时向Buff1放数据,有一个MOVE操作不断地将Buff1的数据移到Buff2,有多个GET操作不断地从Buff2中将数据取走。Buff1的容量为m,Buff2的容量是n,PUT、MOVE、GET每次操作一个数据,在操作的过程中要保证数据不丢失。试用P、V原语协调PUT、MOVE的操作,并说明每个信号量的含义和初值。
答案:设置6个信号量full1,empty1,mutex1,full2,empty2,mutex2,他们的含义和初值如下:
- Full1表示buff1是否有数据,初值为0;
- Empty表示buff1有空间,初值为m;
- Mutex1表示buff1是否可操作,初值为1;
- Full2表示buff2是否有数据,初值为0;
- Empty2表示buff2有空间,初值为n;
- Mutex2表示buff2是否可操作,初值为1;
Put(){
Repeat
P(empty1);
P(mutex1);
Put;
Count1++;
V(mutex1);
V(full1);
Until false
}
Move(){
Repeat
P(full1);
P(empty2);
P(mutex1);
P(mutex2);
Count1--;
Move;
Count2++;
V(mutex2);
V(mutex1);
V(full2);
V(empty1);
Until false
}
Get(){
Repeat
P(full2);
P(mutex2);
Count2--;
V(mutex2);
V(empty2);
Until false
}
3、某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用,当营业员空闲时,通过叫号选取1位顾客,并为其服务。
答案:(1)互斥资源:取号机(一次只允许一位顾客领号),因此设一个互斥信号量mutex;
(2)同步问题:顾客需要获得空座位等待叫号,当营业员空闲时,将选取一位顾客并为其服务。空座位的有、无影响等待顾客数量,顾客的有、无决定了营业员是否能开始服务,故分别设置信号量empty和full来实现这一同步关系。另外,顾客获得空座位后,需要等待叫号和被服务。这样,顾客与营业员就服务何时开始又构成了一个同步关系,定义信号量service来完成这一同步过程。
semaphore mutex=1; //互斥使用取号机
semaphore empty=10; //空座位的数量
semaphore full=0; //已占座位的数量
semaphore service=0; //等待叫号
cobegin
{
process顾客i
{
P(empty);
P(mutex);
从取号机获得一个号;
V(mutex);
V(full);
P(service); //等待叫号
获得服务;
}
process营业员
{
while(TRUE)
{
P(full);
V(empty);
V(service); //叫号
为顾客服务;
}
}
}coend
1、在各种作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是 D
A、先来先服务 B、优先数 C、最高响应比优先 D、短作业优先
2、既考虑作业等待时间,又考虑作业执行时间的调度算法是 A
A、响应比高者优先 B、短作业优先 C、优先级调度 D、先来先服务
3、作业调度程序从处于 D 状态的队列中选取适当的作业投入运行。
A、运行 B、提交 C、完成 D、后备
4、 A 是指从作业提交给系统到作业完成的时间间隔。
A、周转时间 B、响应时间 C、等待时间 D、运行时间
5、作业从进入后备队到被调度程序中的时间间隔称为 B 。
A、周转时间 B、响应时间 C、等待时间 D、触应时间
6、假设下述四个作业同时到达,当使用最高优先数优先调度算法时,作业的平均周转时间为 D 小时。
作业 所需运行时间 优先数
1 2 4
2 5 9
3 8 1
4 3 8
A、4.5 B、10.5 C、4.75 D、10.25
7、下述作业调度算法中, B 调度算法与作业的
估计运行时间有关。
A、先来先服务 B、短作业优先 C、均衡 D、时间片轮转
8、作业生存期共经历四个状态,它们是提交、后备、
B 和完成。
A、就绪 B、执行 C、等待 D、开始
9、系统在 C ,发生从目态到管态的转换。
目态也叫用户态,管态也叫核心态
A、发出P操作时 B、发生V操作时 C、执行系统调用时 D、执行置程序状态字时
10、以下叙述中正确的是 D
A、操作系统的作业管理是一种微观的低级管理。
B、作业的提交方式有两种,但对应的作业控制方式只有一种。
用户的作业一般可分为两大类,即批量型作业和终端型作业。对批量型作业的控制方式是脱机方式,终端型作业采用联机方式进行控制。
C、一个作业从进入系统到运行结束,一般要经历的状态是:后备状态、就绪状态和完成状态。
D、多道批处理与单道批处理的主要区别在于它必须有作业调度功能和进程调度功能,内存中可以存放多道作业。
11、在分时操作系统中,进程调度经常采用 C 算法。
A、先来先服务 B、最高优先权
C、时间片轮转 D随机
12、资源的按序分配策略可以破坏 D 条件。
A、互斥使用资源 B、占用且等待资源 C、非抢夺资源 D、循环等待资源
13、在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的 C 也可能产生死锁 。
A、进程优先权 B、资源的线性分配 C、进程推进顺序 D、分配队列优先权
14、采用资源剥夺法可解除死锁,还可以采用 B 方法解除死锁。
A、执行并行操作 B、撤消进程 C、拒绝分配新资源 D、修改信号量
15、产生死锁的四个必要条件是:互斥、 B 循环等待和不剥夺。
A、请求与阻塞 B、请求与保持 C、请求与释放 D、释放与阻塞
16、发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏 A 条件是不太实际的。
A、互斥 B、不可抢占 C、部分分配 D、循环等待
17、在 C 的情况下,系统出现死锁。
A、计算机系统发生了重大故障
B、有多个封锁的进程同时存在
C、若干进程因竞争资源而无休止地相互等待他方释放已占有的资源
D、资源数大大小于进程同时申请的资源数大大超过资源总数
18、银行家算法是一种 B 算法。
A、死锁解除 B、死锁避免 C、死锁预防 D、死锁检测
19、当进程数大于资源数时,进程竞争资源 B 会出
现死锁。
A、一定 B、不一定
20、 B 优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。
A、先来先服务 B、静态 C、动态 D、短作业
21、某系统中3个并发进程,都需要同类源4个,试问该系统不会发生死锁的最少资源数是 B
A、9 B、10 C、11 D、12
22、以优先级为基础的进程调度算法可以保证在任何时候正在运行的进程总是非等待状态下诸进程中优先级最高的进程。上述描述是 B
A、正确的 B、错误的
23、当检测出发生死锁时,可以通过撤消一个进程解除死锁。上述描述是 B
A、正确的 B、错误的
24、在下列解决死锁的方法中,属于死锁预防策略的是 B
A、银行家算法 B、资源有序分配法 C、死锁检测法 D、资源分配图化简法
25、以下叙述中正确的是 B
A、调度原语主要是按照一定的算法,从阻塞队列中选择一个进程,将处理机分配给它。
B、预防死锁的发生可以通过破坏产生死锁的四个必要条件之一来实现,但破坏互斥条件的可能性不大。
C、进程进入临界区时要执行开锁原语。
D、既考虑作业等待时间,又考虑作业执行时间的调度算法是先来服务算法。
26、作业调度算法的选择常考虑因素之一是使系统有最高的吞吐率,为此应 B
A、不让处理机空闲 B、能够处理尽可能多的作业
C、使各类用户都满意 D、不使系统过于复杂
27、在分时操作系统环境下运行的作业通常称为 C
A、后台作业 B、长作业 C、终端型作业 D、批量型作业
28、当作业进入完成状态,操作系统 B
A 、将删除该作业并收回其所占资源,同时输出结果
B、将该作业的控制块从当前作业队列中删除,收回其所占资源,并输出结果
C、将收回该作业所占资源并输出结果
D、将输出结果并删除内存中的作业
29、在三种基本类型的操作系统中,都设置了 ① ,在批处理系统中还应设置 ② 在分时系统中除了 ① 以外,通常还设置了 ③ ,在多处理机系统中则还需设置 ④
①②③④:A、剥夺调度B、作业调度C、进程调度D、中级调度E、多处理机调度
答案:①C ② B ③D ④E
30、在面向用户的调度准则中, ① 是选择实时调度算法的重要准则, ② 是选择分时系统中进程调度算法的重要准则, ③ 是批处系统中选择作业调度算法的准则,而 ④ 准则是为了照顾紧急作业用户的要求而设置的
①②③④:A、向应时间快B、平均周转时间短C、截止时间的保证D、优先权高的作业能获得优先服务E服务费低
答案:①C ② A ③ B ④D
31、 D 算法不适合作业调度。
A、先来先服务 B、短作业优先 C、最高优先权优先D、时间片轮转
32、下列算法中 C 只能采用非抡占调度方式。
A、高优先权优先 B、时间片轮转 C、FCFS调度算法D、短作业优先算法
33、下列算法中 B 只能采用抢占调度方式。
A、高优先权优先 B、时间片轮转 C、FCFS调度算法D、短作业优先算法
34、下列算法中 AD 即可以采用非抢占调度方式,也可以采用非抢占方式。
A、高优先权优先 B、时间片轮转 C、FCFS调度算法D、短作业优先算法
35、从下面关于优先权大小的论述中, F 是正确的论述
A、计算型作业的优先权,应高于系统进程的优先权
B、用户进程的优先权,应高于系统进程的优先权
C、长作业进程的优先权,应高于短作业的优先权
D、资源要求多的作业,其优先权应高于资源要求少的作业
E、在动态优先权中,随着作业等待时间的增加,其优先权将随之下
F、在动态优先权中,随着进程执行时间的增加,其优先权降低
36、假设就绪队列中有10个进程,以时间片轮转方式进行进程调度,时间片大小为300ms,CPU进行进程切换要花10ms,则系统开销所占的比率约为 B ;若就绪队列中进程个数增加到20个,其余条件不变,则系统开销所占的比率将G
A、1% B、3% C、5% D、10% E、30%
E、增加 F、减少 G、不变
37、从下面关于安全状态和非安全状态的论述中, D
是正确的。
A、安全状态是没有死锁的状态,非安全状态是有死锁的状态
B、安全状态是可能有死锁的状态,非安全状态也是可能有死锁的状态
C、安全状态是可能没有死锁的状态,非安全状态是有死锁的状态
D、安全状态是没有死锁的状态,非安全状态是可能有死锁的状态
二、填空题。
1、进程的调度方式有两种,一种是 ① ,另一种
是 ②
答:①剥夺方式 ②非剥夺方式
2、死锁是指在系统中的多个 无限期地等待永
远不会发生的条件。
答:进程
3、一种最常用的进程调度算法是把处理机分配给具有最高优先权的进程。而确定优先权的方法概括起来不外乎是基于 ① 特性和 ② 特性两种方法。前者所得到的是 ③ 优先权,后者所得到的是 ④
优先权。
答:①静态 ②动态 ③静态 ④动态
4、进程调度负责 的分配工作。
答:处理机
5、在 调度算法中,按照进程进入就绪队列的先后次序来分配处理机。
答:先来先服务
6、死锁产生的必要条件有四个,即 ① 、 ② 、
③ ④
答:①互斥条件② 不剥夺条件③请求与等待④环路条件
7、解除死锁常用的方法有两种。 ① 是从其他进程那里剥夺足够数量的资源给 ② 进程,以解除死锁状态。
答:① 资源剥夺 ② 死锁
8、银行家算法中,当一个进程提出的资源请求将导致系统从 ① 进入 ② 时,系统就拒绝它的资源请求。
答:① 安全状态 ② 不安全状态
9、如果要求所有进程一次性申请它所需要的全部资源。若系统有足够的资源分配给进程,便一次把所有的资源分配给该进程。但在分配时只要有一种资源要求不能满足,则资源全不分配,进程等待。这种死锁预防方法破坏了死锁产生必要条件中的 条件。
答: 请求与保持
10、对待死锁,一般应考虑死锁的预防、避免、检查和解除四个问题。典型的银行家算法是属于 ①
破坏环路等待条件是属于 ② , 而剥夺资源是
③ 的基本方法。
答: ①死锁的避免 ② 死锁的预防 ③ 死锁的解除
三、综合题:
1、为什么说多级反馈队列调度算法能较好地满足各类用户的需要?
答:多级反馈队列调度算法能较好地满足各种用户的需要。①对终端型用户而言,用户所提交的作业大都属于交互型作业,作业通常比较小,系统只要能使这些作业在第一队列所规定的时间内完成,便可使终端型用户感到满意。②对于短的批处理作业用户而言,他们的作业开始像终端型作业一样,如果仅在第一队列中执行一个时间片即可完成,便可获得与终端型作业一样的响应时间,对于稍长的作业,通常也只需要在第二队列和第三队列各执行一个时间片即可结束,其周转时间仍然较短。③对于长批处理作业用户而言,他们的长作业将依次在第1,2,—,直到第N个队列中运行,然后再轮转方式运行,用户不必担心其作业长期得不到处理。
2、有相同类型的5个资源被4个进程所共享,且每个进程最多需要2个这样的资源就可以运行完毕。试问该系统是否会由于对这种资源的竞争而产生死锁。
答:该系统不会由于对这种资源的竞争而产生死锁。因为在最坏情况下,每个进程需要2个这样的资源,且每个进程都已申请到了1个资源,那么系统中还剩下1个可用资源。无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它的运行,从而可将它占有的2个资源归还给系统,这就保证了其余三个进程能顺利运行。由此可知,该系统不会由于对这种资源的竞争而产生死锁。
3、假设一个系统中有5个进程,它们的到达时间和服务时间如表所示:
忽略I/O以及其他开销,若分别按FCFS、抢占及非抢占的SPF、高响应比优先(HRRN)、时间片轮转(RR,时间片=1)、多级反馈队列(FB,第i级队列的时间片=2i-1)以及立即抢占的多级反馈队列(FB,第i级队列的时间片=2i-1)调度算法进行CPU调度,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。
答:
4、若有3个周期性任务,任务A要求每20ms执行一次,执行时间为10ms;任务B要求每50ms执行一次,执行时间为10ms;任务C要求每50ms执行一次,执行时间为15ms,应如何按最低松弛度优先算法对它们进行CPU调度?
答:对上面3个周期性任务,利用最低松弛度优先算法进行调度的情况如下图:
5、在哲学家就餐问题中,如果将先拿起左边的筷子的哲学家称为左撇子,而将先拿起右边的筷子的哲学家称为右撇子,请说明在同时存在左、右撇子的情况下,任何就座都不会产生死锁。
答:对于本题,死锁产生的四个必要条件中“循环等待”不可能成立。如果存在所有的哲学家等待右边的哲学家放下筷子的循环等待链,则每个哲学家肯定已获得左边的筷子,但还没有得到右边的筷子,这与存在右撇子的情况不符。同样,也不可能存在相反的循环等待。因此不可能产生死锁。
6、一台计算机有8台磁带机。它们由N进程争时使用,每个进程可能需要3 台磁带机。请问N 为多少时,系统没有死锁危险,并说明原因。
解:当N为1, 2, 3时,系统没有产生死锁的危险。因为,当系统中有1个进程时,它最多需要3 台磁带机,而系统有8 台磁带机,其资源数目已足够系统内的1 个进程使用,因此绝不可能发生死锁;当系统中有2个进程时,最多需要6台磁带机,而系统有8台磁带机,其资源数目也足够系统内的2个进程使用,因此也不可能发生死锁;当系统中有3个进程时,在最坏情况下,每个进程都需要3个这样的资源,且假定每个进程都已申请到了2个资源,那么系统中还剩下2个可用资源,无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的3个资源归还给系统,这就保证了其余进程能顺利运行完毕。由此可知,当N为1, 2, 3时,该系统不会由于对这种资源的竞争而产生死锁。