资源描述
______________________________________________________________________________________________________________
《操作系统》期末考试综合练习题
一、 填空题
1、 操作系统是(控制)、(管理)系统资源,方便用户使用计算机的(程序)的集合。
2、操作系统具有 (资源管理)和(提供人机接口)两大基本功能。
3、最常用的存储保护机构有 (界地址寄存器) 和 (存储器)。
4、对称式多处理器系统(SMP)含有多个CPU,这些CPU具有(平等) 地位。
5、将一个运行进程可访问的虚地址的集合称为 (虚拟地址空间) 。
6、根据执行的程序的性质不同,处理器可分为(核心态)和(用户态)两种状态。
7、用信号量机制来控制打印机的共享使用。如果系统中共有2台打印机,这时已经分配了一台给某个进程使用,此时信号量的值应该是(2).
8、进程可以描述为:一组具有独立功能的程序在某个 (数据集合)上的一次(执行过程) 。
9、当程序运行到某条语句时,才对其逻辑地址进行计算并转化为物理地址,这种技术叫做(动态)重定位。
10、.当程序装入内存时,就对其逻辑地址进行计算并转化为物理地址,这种技术叫做(静态)重定位。
11、 通常我们通过破坏 (环路等待)条件和 (资源独占)条件来预防死锁的发生。
12、所谓死锁状态是指在系统中的 (进程),由于竞争系统资源或由于彼此通信而永远(阻塞) 。
13、多道程序的操作系统具有(并行性)和(共享性)两大特性。
14、处理器调度的主要功能是按照某种原则,将处理器分配给 (就绪队列的某个) 进程。
15、中断是指CPU对系统中发生的(异步事件) 的响应。
16、操作系统中,对目录的设计包括(目录内容)和(目录结构)两个部分。
17、用信号量机制来控制打印机的共享使用。如果系统中共有5台打印机,这时,信号量的初值应该是(5).
18、在虚拟存储器的概念中,目标程序中的指令和数据放置的位置称为相对地址或者 (相对)地址,而CPU能直接访问的主存的物理地址又称(实存地址)。
19、 当一个进程执行Signal操作,完成对信号量“加1”后,这时信号量的值是“1”。这时,系统中还有(至少一个)个进程等待该资源.
20、一个计算机的数据总线的宽度叫做这个计算机的(.字长)。
21、主存储器管理技术可分为(实存储器)管理和(虚拟存储器) 管理两大类。
选择题
1、计算机内存中是按(B)进行的编址。B) 字节
2、关于进程的概念,下面的说法(C)是不对的。
C) 一个程序对应一个进程
3、引入多道程序操作系统的主要目的是(B)。
B)提高CPU和其他设备的利用率
4、虚拟存储管理技术相比较实存管理技术,它增加的功能有(D)D) 存储扩充
5、采用简单分页系统的内存管理,页面的大小是8K字节。现有一个逻辑地址A=2280h,该进程的页表为 [0,5/1,4/2,1/3,0...],则该逻辑地址对应的物理地址
A'= (B)B) D280h
6、完成从逻辑地址到物理页架号的映射,速度最快的是(B)。B) 反向页表
7、在任务管理器中结束一个进程,实际是(B)。
B)撤销了进程控制块
8、一个作业处于外部的存储器中,尚未建立进程,此时该作业处于(B)B)后备状态
9、在下列的实存管理技术中,同一进程在连续地址存储的技术是(A)。A) 可变分区多道管理技术
10、在I/O系统层次模型中负责与所有设备的交互操作的模块是(C)。C) I/O子系统
11、计算机系统用(C)电路来判断是否要响应发生的中断。C) 中断逻辑
12、 进程中对互斥变量进行操作的代码段,我们称之为(D)。D) 临界段
13、关于重定位,下面的描述(C)是不对的。C) 内核程序也需要进行重定位。
14、现在的进程通信通常是采用间接通信方式。在这种方式中,端口代表(A)。A) 进程
15、在操作系统的分类中,属于不同分类方法的有(D):D) 网络操作系统
16、下面的软件,不属于操作系统的是(A)A) IE
17、采用简单分页系统的内存管理,页面的大小是4K字节。现有一个逻辑地址A=3580h,该进程的页表为 [0,5/1,6/2,1/3,0...],则该逻辑地址对应的物理地址A'= (A)A) D580h
18、一个信号量被定义为一个(D)。D) 整型变量
19、不支持记录等结构的文件类型是(D)D) 顺序文件
20、下列设备中,(A)为块设备。A) 光驱
21、CPU在(C)扫描是否有中断发生。A) 开中断语句执行时
22、关于线程的论述,下面哪些是不对的?D.在具有线程的操作系统中,进程就没有作用了
23、考虑到操作系统与用户进程的关系,Windows NT属于哪一类操作进程C.操作系统的进程方式
24、一个处于阻塞状态的进程,如果它等待的事件发生,则它的状态将变为:C.就绪状态
25、处于挂起等待状态的进程,如果得到解除挂起的命令,它的状态将变为:B.等待状态
26、关于进程的概念,下面的说法哪些是不对的?C.一个程序对应一个进程
27、关于银行家算法,下面的说法哪些是对的?AD
A.银行家算法是用来检查系统中是否有死锁发生的算法 D.银行家算法并不干预系统分配资源
28、采用预先静态资源分配法,主要是打破了哪些死锁条件?C.部分分配条件
29、一个作业的进程处于阻塞状态,这时该作业处于什么状态?C.运行状态
30、在短期繁重负载下,应将哪个进程暂时挂起的问题是由( )调度程序负责..B.中期
31、多处理器系统分类中,对称式多处理器系统符合哪些特征?ABD A.紧密耦合 B.共享内存 D.各个处理器的地位都完全相同
32、信号量机制可以总结为三个要素,应该是哪些?ABD A.一个整型变量 B.原语 D.Signal操作
33、在下列的互斥方法中,不能用于多处理器系统的的方法有AB A.软件互斥方法 B.中断屏蔽方式
34、“异步事件能按照要求的时序进行,以达到合作进程间协调一致的工作”既是所谓( )。C.同步
35、在采用局部转换策略进行页面置换的系统中,一个进程得到3个页架。系统采用先进先出的转换算法,该进程的页面调度序列为:1,3,2,6,2,5,6,4,6。如果页面初次装入时不计算为缺页,请问该进程在调度中会产生几次缺页。D.3次
36、完成从物理页架号到虚地址的映射是B.反向页表
37、下列设备中,( )为块设备。A.软盘驱动器
38、在下列的实存管理技术中,同一进程在连续地址存储的技术是A.可变分区多道管理技术
39、一个程序被编译连接后产生目标程序,该目标程序所限定的地址的集合称为()C.逻辑地址空间
二、 判断题
1、 线程仅能由操作系统所创建..F
2、 通过页表的地址映射访问主存,存取数据需要两次访问主存…F
3、从缓存到外存,其容量愈来愈大,访问数据的速度愈来愈快..F
4、 银行家算法的主要功能是用来检测某种状态下系统中是否发生了死锁..T
5、.窃听属于主动攻击..T
6、我们在磁盘中看到的各种可执行文件就是进程…F
7、 当某作业的进程处于阻塞状态时,我们称该作业处于提交状态..F
8、一个被汇编、编译或连接装配后的目标程序所限定的地址的集合是逻辑地址空间..T
9、已知的内存管理技术中,段页式技术不会产生任何碎片..F
10、 银行家算法是系统用来分配资源的算法..F
11、 一个进程被挂起后,它将不再参与对CPU的竞争..T
12、 计算机系统中,信息在主存中的最小单位是字节..T
三、 简答题
1、 试述信号量的三个要素及其使用方法。
答:三个要素: 整形变量(数字灯)、 wait 操作(申请资源按钮)、 signal 操作(释放资源按钮)
整型变量, 我们称之为信号量。 它的值表示的是当前可用资源的数目。 当其值大于“0” 时, 表示有资源可以被任何进程使用。 当其值为“0” 时, 对最后一个申请资源的进程, 表示已经得到了 最后一个资源, 所以是“绿色”; 对于刚刚释放资源的进程来说, 加上自己释放的资源, 可用资源数还是“0”, 表示有其他进程在等待这个资源, 这时应该是“红色”。 如果它的数值小于“0”, 表示不仅没有资源可用, 而且还有进程在等待该资源, 这时它数值的绝对值表示的是等待的进程的数量。 所以这时应该是“红色”。如果这时的值是“-1”, 表示的状态是一个进程正在使用该资源, 一个进程在等待。
Wait 操作: 当一个进程需要使用资源时, wait 操作相当于一个申请资源的按钮。 Wait 操作的首先把信号量的值“减 1”, 表示该进程要求占用一个资源。 对信号量的值更改后, 进程再去判断是否得到了资源。 这时根据信号量的值就可以判断: 如果“减 1” 后其值大于等于“0”, 则该进程得到了资源的使用权,所以我们在上面的示例中用“绿色” 表示。 这时进程就直接完成对资源的访问。 如果“减 1” 后其值小于“0”, 则表示正有其他进程在使用该资源, 本进程无法立即使用该进程。 这时, 通常要采用“阻塞等待”的方式, 就是本进程变为“阻塞状态” (熄火、 睡觉), 并且本进程的控制块将连接到该资源的等待队列中,等待资源可用时被依次唤醒。
Signal 操作: 当一个进程要退出对资源的使用时, Signal 操作相当于一个释放资源的按钮。 作为Wait 操作对应的逆过程, Signal 操作首先要对信号量的值执行“加 1” 操作, 使可用的资源数目增加,同时放弃自己对该资源的使用。 由于采用“阻塞等待” 方式, 释放资源的进程还有义务来唤醒正在等待资源的进程。 为了完成这个步骤, 释放资源的进程首先要检查是否有进程在等待这个资源, 当信号量的值小于等于“0” 时, 表示有进程等待资源, 这时, 它要通知操作系统, 操作系统通过阻塞在该资源上的进程控制块的队列, 找出需要唤醒的进程进行调度。 如果信号量的值大于“0” , 表示没有进程在等待该资源, 本进程就可以直接向前执行, 对该资源的使用控制过程宣告结束。
2、 引入了多线程机制,进程的概念还存在么?如果存在,进程的作用是什么?
答:线程是进程内部一个调度的实体, 进程的主要功能是完成对资源的控制。
3、 试述现代操作系统的主要特点
答:1、 微内核结构 2、 多线程机制 3、 对称多处理器机制 SMP 4、 分布式操作系统 5、 面向对象的技术。
4、 试述死锁的必要条件。
答:死锁可以定义为: 一组竞争系统资源或者相互通信的进程, 它们之间相互“永远阻塞” 的状态称之为死锁。 三个必要条件: 1、 资源的互斥使用; 2、 资源的不可抢占; 3、 资源的分次分配机制; 一个充分条件: 1、 循环请求等待状态。
5、 请简述计算机和网络的四项安全要求
答:1、 机密性 2、 完整性 3、 可用性; 4、 可靠性。
6、 什么是进程?进程与程序的区别是什么?
答:进程是具有一定独立功能的程序在一组特定的数据集上的一次运行活动。 1、 进程是动态的, 程序是静态的; 2、 进程有自己的生命周期, 具有建立、 运行、 停止、 结束等不同的运行阶段和状态; 3、 进程除了和程序相关以外, 还和数据相关; 4、 进程可以包含多个程序; 5、 程序可以对应多个进程, 程序每执行一次, 就是一个进程。
7、 是否在任何情况下,多任务设计为多线程都比设计为多进程效率高?在什么情况下多线程机制可以发挥出其高效的优势?
答:不是。只有当这些任务使用相同的资源, 或者需要通过共享文件来进行通信时, 多线程机制才能较好的发挥出优势。画图题已知读写磁头位于53号磁道,现有磁盘请求序列为98,183,37,122,14,124,65,67。此时磁头正由外向里移动。要求图示循环扫描策略的磁盘调度算法实现上述请求的过程。并计算完成上述过程磁头移动的总道数。
答:循环扫描: 65 67 98 122 124 183 14 37
移动的总道数: 12+2+31+24+2+59+169+23=322
1、 图示基本的进程状态的变化图
2、 图示作业直至线程的层次关系
四、 综合题
1、下面是利用信号量机制来管理接收/打印机制中字符和缓冲区的伪代码程序. 请根据程序上下文关系,来补全相关语句的说明行.
Program producer-consumer /*程序:生产者-消费者*/
Int B;
Semaphore Sp、=0, Se=1; /* 初始时系统内字符数为0,缓冲区空间为1 */
Void Producer() /*定义生产者进程*/
{
While (ture) /*永远循环*/
{receive(C); /*接收字符并放在变量C中*/
Wait(Se); /*申请缓冲区空间,有就向下执行,无就阻塞等待*/
B=:C; /*赋值语句,将收到的字符放入缓冲区B中*/
Signal(Sp); /*向系统中释放出一个字符。并检查是否有进程等待字符*/
}
} /*生产者进程结束*/
Void consumer() /*定义消费者进程(打印进程)*/
{
While (ture) /*永远循环*/
{Wait(Sp); /*申请字符打印,有就向下执行,无就阻塞等待*/
Print(B); /*打印缓冲区B中字符*/
Signal(Se); /*释放出一个空间资源。并检查是否有进程等待空间*/
}
} /*消费者进程结束*/
Void main() /*主程序*/
{
Parbegin ( Producer(), Consumer()); /*并行启动进程,使其由操作系统进行自由调度*/
2、现在有一个作业,分配到3个页架,运行时依此访问的页号为7,0,1,2,0,3,0,4,2,3。要求采用FIFO的页面调度方法,图示调度过程,并说明产生了几次缺页中断(页架空闲初次装入时,不计入缺页次数)
进程的请求序列
7
0
1
2
0
3
0
4
2
3
最晚进入的页
7
0
1
2
2
3
0
4
2
3
7
0
1
1
2
3
0
4
2
最早进入的页
7
0
0
1
2
3
0
4
缺页标志
+
+
+
+
+
+
有六次缺页中断。
3、下面是利用信号量机制来管理接收/打印机制中字符和缓冲区的伪代码程序。请根据程序上下文关系,来补全中括号位置的语句内容。如果缓冲区大小变为10,这时伪语言源代码需要如何改变?
Program producer-consumer /*程序:生产者-消费者*/
/*定义缓冲区B,信号量Sp、Se 其中Sp、控制字符资源同步,Se控制空间资源同步*/
Int B;
Semaphore__[1]Sp=0_,__[2]Se=1__; /*初始时系统内字符数为0,缓冲区空间为1*/
Void Producer() /*定义生产者进程(接收进程)*/
{
While (ture) /*永远循环*/
{receive(C); /*接收字符并放在变量C中*/
__[3]_Wait(Se)_; /*申请缓冲区空间,有就向下执行,无就阻塞等待*/
B=:C; /*赋值语句,将收到的字符放入缓冲区B中*/
__[4]Signal(Sp)_; /*向系统中释放出一个字符。并检查是否有进程等待字符*/
}
} /*生产者进程结束*/
Void consumer() /*定义消费者进程(打印进程)*/
{
While (ture) /*永远循环*/
{_[5]Wait(Sp); /*申请字符打印,有就向下执行,无就阻塞等待*/
Print(B); /*打印缓冲区B中字符*/
__[6]Signal(Se); /*释放出一个空间资源。并检查是否有进程等待空间*/
}
} /*消费者进程结束*/
Void main() /*主程序*/
{
Parbegin ( Producer(), Consumer()); /*并行启动进程,使其由操作系统进行自由调度*/
如果缓冲区的大小为10,则__[7] _______(描述一下程序中哪些语句需要改变)
4、某系统中有三类资源M1,M2,M3,其资源总数分别为10,5,8。系统中有四个进程P1,P2,P3,p4,它们分别已得到的资源数如下表A, 它们还需要的资源数如下表B。试问, 按银行家算法能否安全分配?并说明分配过程。
M1
M2
M3
M1
M2
M3
P1
2
1
0
P1
2
4
1
P2
3
0
2
P2
1
2
3
P3
1
0
2
P3
3
1
2
P4
1
2
2
P4
4
1
5
表A:资源分配情况
表B:各进程还需要的资源数
答:能安全分配, 可以找到安全序列 p3,p1 ,p2,p4, 让 4 个进程执行完毕。 过程如图。(1 0,5,8)-(7,3,6) =(3,2,2)(资源总量-已分资源量=可用资源量)。
5、 假定有三个进程R、W1、W2共享一个缓冲器B,B中每次只能存放一个数。进程R每次启动输入设备读一个数且把它存放到缓冲器B中。若存放到缓冲器中的是奇数,则由进程W1将其取出打印;若存放到缓冲器中的是偶数,则由进程W2将其取出打印。同时规定进程R仅当缓冲器中无数或缓冲器中的数已被取出打印后才能再存放一个数;进程W1和W2对存入缓冲器的不能重复打印,也不能从空的缓冲器中取数。要求使用同步机制管理这三个并发进程,使它们能正确地同步工作。
begin
B:integer;
S,SO,SE:(1)semaphore ;
S:=(2)1 ;SO:=0;SE:=0;
cobegin
PROCESS R
x:integer;
begin
L1:|从输入设备读一个数|;
x:=读入的数;
(3) Wait(S) ;
B:=x;
if B=奇数 then Signal(SO);
else (4) Signal(SE) ;
goto L1
end;
PROCESS W1
y:integer;
begin
L2:Wait(SO);
y:=B;
(5)Signal(S) ;
|打印y中的数|;
goto L2
end;
PROCESS W2
z:integer;
begin
L3:(6)Wait(SE) ;
z:=B;
Signal(S);
|打印y中的数|;
goto L3
end;
coend;
end;
并且请分别说明三个信号量 S、SO和SE的作用。
答:S为互斥信号量,用来对缓冲器的互斥使用; SO和SE为资源信号量,SO表示是否允许进程W1打印;SE表示是否允许进程W2打印。
6、采用简单分页系统的内存管理,页面的大小是8K字节。现有一个逻辑地址A=3580h,该进程的页表为 [0,5/1,6/2,1/3,0...],则该逻辑地址对应的物理地址A'是多少?请写出计算的过程。
解:A=3580h=0011 0101 1000 0000B 结果:D580h
7、关于信号量问题的例题:
1:考虑有几类资源需要控制/2:考虑资源的初始情况是怎样的;/3:给出每个进程使用资源部分的相关过程/4:将相关过程转换为信号量的语句
例题:一个生产者与一个消费者,它们共用一个缓冲器。生产者不断地生产物品,每生产一件物品就要存入缓冲器,但缓冲器中每次只能存入一件物品,只有当消费者把物品取走后,生产者才能把下一件物品存入缓冲器。同样,消费者要不断地取出物品去消费,当缓冲器中有物品时他就可以去取,每取走一件物品后,必须等生产者再放入一件物品才能再取。试采用进程的同步机制,写出对他们的管理方式。
考虑有几类资源需要控制?/考虑资源的初始情况是怎样的;/给出每个进程使用资源部分的相关过程/生产者:消费者/将相关过程转换为信号量的语句
begin
Buffer:integer;
SP,SG:semaphore;
SP:=1;SG:=0;
cobegin
PROCESS Producer
begin
L1:produce a product;
Wait(SP);
Buffer:=product;
Signal(SG);
goto L1
end;
PROCESS Consumer
begin
L2:Wait(SG);
Take a product from Buffer;
Signal(SP);
consumer;
goto L2
end;
coend;
end;
8、某系统中有3类资源M1, M2, M3,有四个进程P1,P2,P3,P4。其中M1,M2,M3的总数分别是10,8,3。四个进程对资源的需求和资源的已分配情况分别如下图。试问, 按银行家算法能否安全分配?并说明分配过程。
进程
共需要
已分配
M1
M2
M3
M1
M2
M3
P1
8
5
2
3
3
1
P2
6
6
3
2
3
0
P3
5
2
2
0
1
1
P4
2
1
1
2
0
0
解:步骤一:给出当前情况下资源需求即分配的情况分析:
总的资源数 R=(10,8,3)
当前可用资源 V= (3,1,1);
当前已分配资源: A=
当前需要的资源情况C=
步骤二:对资源进行虚拟分配情况:
1. 用V和C的每一行进行比对,发现V﹥C4;资源满足P4需要,分配给P4后回收资源A4:V=V+A4=(5,1,1);P4对应的数据则不再使用。
2. 用V和C的每一行再次比较,发现V﹥C3;资源满足P3需要,分配给P3后收回资源A3:V=V+A3=(5,2,2);P3对应的数据不再使用。
3. 用V和C的每一行再次比较,发现V﹥C1;资源满足P1需要,分配给P1后收回资源A1:V=V+A1=(8,5,3);P1对应的数据不再使用。
4. 用V和C的每一行再次比较,发现V﹥C2;资源满足P2需要,分配给P2后收回资源A2:V=V+A2=(10,8,3);P2对应的数据不再使用。
步骤三:
结论:资源已全部收回。结论:系统无死锁发生。
Welcome To
Download !!!
欢迎您的下载,资料仅供参考!
精品资料
展开阅读全文