2018年 春季学期
《操作系统》综合复习题
说明:
1.复习题适配机器阅卷的形式,同学们可以通过练习题来熟悉机阅卷的考试题型;
2.复习题和考试拟合度很高,请大家认真准备,保证顺利通过考试;
3.为了保证大家的学习效果,本复习题不公开标准答案,需要同学们自己完成所有题目。
4.所有题目,其答案可以通过课程空间的电子课件找到,如果是通过百度完成的,和课程的答案不是完全一致,视为不得分或少得分。
第一部分 客观题
一、单项选择题
在操作系统的分类中,属于不同分类方法的有(A )。
A):多道批处理操作系统 B) 分布式操作系统
C) 分时操作系统 D) 实时操作系统
1.中断是指 D
A) 操作者要求计算机停止 B) 操作系统停止了计算机的运行
C) CPU对系统中发生的异步事件的响应 D) 操作系统停止了某个进程的运行
2.引入多道程序操作系统的主要目的是( B )
A) 使不同程序都可以使用各种资源 B)提高CPU和其他设备的利用率
C) 操作更为方便 D)使串行程序执行时间缩短
3.计算机内存中是按( B )进行的编址。
A) 位 B) 块
C) 字 D) 字节
4.进程中对互斥变量进行操作的代码段,我们称之为( D )。
A) 内存共享 B) 并行性
C) 同步 D) 临界段
5.采用简单分页系统的内存管理,页面的大小是8K字节。现有一个逻辑地址A=2280h,该进程的页表为 [0,5/1,4/2,1/3,0...],则该逻辑地址对应的物理地址A'= (B )。
A)0280h B) D280h
C)8280h D) 7280h
6.一个信号量被定义为一个( D )。
A) 字符 B) 整数
C) 任意型变量 D) 整型变量
7.用信号量机制来控制打印机的共享使用。如果系统有2台打印机,这时,信号量的初值应该是. C
A) 0 B) 1
C) 2 D) -2
8.在I/O系统层次模型中处于最高的一个层次,负责所有设备I/O工作中均要用到的共同的功能的模块是( A )。
A) I/O子系统 B) 设备驱动程序接口
C)系统服务接口 D) 设备驱动程序
9.一个作业的进程处于阻塞状态,这时该作业处于( C )。
A) 提交状态 B)后备状态
C)运行状态 D)完成状态
10.关于进程的概念,下面的说法( C )是不对的。
A) 进程是程序的一次执行 B) 进程是动态的
C) 一个程序对应一个进程 D) 进程有生命周期
11.现在的进程通信通常是采用间接通信方式。在这种方式中,端口代表( A )。
A) 进程 B) 计算机中的不同的网卡
C) 服务器 D)计算机终端在网络中的位置
12.计算机数据总线的宽度,一般对应于计算机的(A )。
A) 位 B) 块
C) 字长 D) 字节
13.采用简单分页系统的内存管理,页面的大小是4K字节。现有一个逻辑地址A=3580h,该进程的页表为 [0,5/1,6/2,1/3,0...],则该逻辑地址对应的物理地址A'= ( A )
A) D580h B) 0580h
C) 6580h D) 7580h
14.CPU在什么时候扫描是否有中断发生? D
A) 开中断语句执行时 B) 每条程序执行结束后
C) 一个进程执行完毕时 D) 在每个机器指令周期的最后时刻
15.完成从逻辑地址到物理页架号的映射,速度最快的是( B )。
A) 页表 B) 反向页表
C) 多级页表 D) 快表
16.计算机系统用( C )电路来判断中断的优先级,已确定响应那个中断。
A) 中断扫描 B) 中断屏蔽
C) 中断逻辑 D) 中断寄存器
17.在下列的实存管理技术中,同一进程在连续地址存储的技术是( A )。
A) 可变分区多道管理技术 B) 多重分区管理
C) 简单分页 D) 简单分段
18.不支持记录等结构的文件类型是: D
A) 哈希文件 B) 索引顺序文件
C) 索引文件 D) 顺序文件
19.用信号量机制来控制打印机的共享使用。如果系统中有进程释放了一个打印机,此时信号量的值应该是. C
A) 不变 B) 加一
C) 减一 D) 归零
20.下列设备中,( A )为块设备。
A) 软盘驱动器 B) MODEM
C) 声卡 D) 鼠标
21.在任务管理器中结束一个进程,实际是( B )。
A)修改了进程的状态 B)撤销了进程控制块
C)修改了进程优先级 D)进程控制块进入阻塞队列
二、多项选择题
22.操作系统具有哪些基本功能 acd
A.资源管理 B.病毒查杀 C.人机接口 D.网络连接
23.下面的软件,属于操作系统的是. abcd
A) Android B) Windows XP
C) DOS D) Linux
24.操作系统中,对目录的设计主要包括。 cd
A.文件名规则 B.扇区分配 C.目录内容 D.目录结构
25.通常我们通过破坏哪些条件来预防死锁的发生。 Ab c d
A.资源独占 B.不可抢夺 C.部分分配 D.循环等待
26.硬盘(磁盘)中要定位一个数据,需要哪些参数? bd
A.类型 B.磁头号 C.磁道号 D.扇区号
27.多道程序的操作系统具有哪些特性。 bc
A.随机性 B.并行性 C.可扩充性 D.共享性
28.进程的基本状态有哪些? Abc
A.运行态 B.阻塞态 C.就绪态 D.完成态
29.根据执行的程序的性质不同,处理器可分为。 ab
A.管态 B.目态 C.阻塞态 D.执行态
30.最常用的内存存储保护机制有 。 b
A.校验码 B.界地址寄存器 C.存储键 D.信号量机制
31.关于重定位,下面的描述哪些是正确的。 abcd
A)重定位技术有静态重定位和动态重定位两种。
B)重定位是把程序中的相对地址变换为绝对地址。
C) 在程序运行时进行重定位是静态重定位。
D) 对应用软件的重定位是由操作系统实现的。
32.对于实存管理技术,具备的功能有: abc
A) 主存分配 B) 地址转换和重定位
C) 存储保护和主存共享 D) 存储扩充
三、判断题
33.线程仅能由操作系统所创建。 B
A) 正确 B) 错误
34.计算机系统中,信息在主存中的最小单位是字节。 B
A) 正确 B) 错误
35.银行家算法是用来检测当前系统中是否有死锁的发生。B
A) 正确 B) 错误
36.通过二级页表的地址映射访问主存,存取数据需要两次访问主存。B 3
A) 正确 B) 错误
37.已知的内存管理技术中,段页式技术不会产生任何碎片。B
A) 正确 B) 错误
38.一个进程被挂起后,它将不再参与对CPU的竞争。A
A) 正确 B) 错误
39. 当作业的全部信息已由操作系统将其存放在磁盘的某些盘区中等待运行,我们称该作业处于提交状态。 B后备
A) 正确 B) 错误
40.一个被汇编、编译或连接装配后的目标程序所限定的地址的集合是逻辑地址空间。A
A) 正确 B) 错误
41.从缓存到外存,其容量愈来愈大, 访问数据的速度愈来愈快。B
A) 正确 B) 错误
42.窃听属于被动攻击。 B
A) 正确 B) 错误
43.我们在磁盘中看到的各种可执行文件就是进程。B
A) 正确 B) 错误
.
第二部分 主观题
四、简答题
1.试述现代操作系统的主要特点(见教材P15)
2.什么是进程?进程与程序的区别是什么?
3.请简述计算机和网络的四项安全要求
.
资料
机密性:要求计算机系统中的信息只能由已授权者进行读访问。这种类型的访问包括打印、显示以及其他形式的显示,包括简单地显示_个对象的存在。
完整性:要求计算机系统资产只能由已授权者来更改。更改包括写、修改、状态改变、删除和创建。
可用性:要求计算机系统资源对已授权者可用。
可靠性:要求计算机系统能够证实用户的身份。
4.试述死锁的必要条件
(见教材P141)
资料
互斥:一次只有一个进程可以使用一个资源,其他进程不能访问已分配给其他进程的资源;
非抢占:资源只能被占用它的进程所释放,不能被其他进程强制抢占。
部分分配:一个进程所需要的资源是分别根据需要进行分配,而不是一次性全部分配得到的。该进程在等待分配其他资源时,其继续占有已分配得到的资源。
5.试述信号量的三个要素及其使用方法。
资料
我们总结一下信号量机制。在这个机制中,有三个基本要素:整型变量(数字灯)、wait操作(申请资源按钮)和Signal操作(释放资源按钮)。其意义分别为:
整型变量,我们称之为信号量。它的值表示的是当前可用资源的数目。当其值大于“0”时,表示有资源可以被任何进程使用。当其值为“0”时,对最后一个申请资源的进程,表示已经得到了最后一个资源,所以是“绿色”;对于刚刚释放资源的进程来说,加上自己释放的资源,可用资源数还是“0”,表示有其他进程在等待这个资源,这时应该是“红色”。如果它的数值小于“0”,表示不仅没有资源可用,而且还有进程在等待该资源,这时它数值的绝对值表示的是等待的进程的数量。所以这时应该是“红色”。如果这时的值是“-1”,表示的状态是一个进程正在使用该资源,一个进程在等待。
Wait操作:当一个进程需要使用资源时,wait操作相当于一个申请资源的按钮。Wait操作的首先把信号量的值“减1”,表示该进程要求占用一个资源。对信号量的值更改后,进程再去判断是否得到了资源。这时根据信号量的值就可以判断:如果“减1”后其值大于等于“0”,则该进程得到了资源的使用权,所以我们在上面的示例中用“绿色”表示。这时进程就直接完成对资源的访问。如果“减1”后其值小于“0”,则表示正有其他进程在使用该资源,本进程无法立即使用该进程。这时,通常要采用“阻塞等待”的方式,就是本进程变为“阻塞状态”(熄火、睡觉),并且本进程的控制块将连接到该资源的等待队列中,等待资源可用时被依次唤醒。
Signal操作:当一个进程要退出对资源的使用时,Signal操作相当于一个释放资源的按钮。作为Wait操作对应的逆过程,Signal操作首先要对信号量的值执行“加1”操作,使可用的资源数目增加,同时放弃自己对该资源的使用。由于采用“阻塞等待”方式,释放资源的进程还有义务来唤醒正在等待资源的进程。为了完成这个步骤,释放资源的进程首先要检查是否有进程在等待这个资源,当信号量的值小于等于“0”时,表示有进程等待资源,这时,它要通知操作系统,操作系统通过阻塞在该资源上的进程控制块的队列,找出需要唤醒的进程进行调度。如果信号量的值大于“0”,表示没有进程在等待该资源,本进程就可以直接向前执行,对该资源的使用控制过程宣告结束。
6.引入了多线程机制,进程的概念还存在么?如果存在,进程的作用是什么?
线程是进程内部一个调度的实体,进程的重要功能是完成对资源的控制
7.请问是否是在任何情况下,多线程都比多进程效率高么?在什么情况下多线程机制可以发挥出其高效的优势?
五、.画图题
1.图示基本的进程状态的变化图 答案见网上资料
见教材P43图3.1
2.图示作业直至线程的层次关系 答案见网上资料
参照教材第二章第二节。
3.已知读写磁头位于53号磁道,现有磁盘请求序列为98,183,37,122,14,124,65,67。此时磁头正由外向里移动。要求图示采用循环扫描策略磁盘调度算法实现上述请求的过程。并计算完成上述过程磁头移动的总道数。
参照教材P226图10.15。
无图(找到类似图见例题) , 答案见网上资料
数字不对
六、综合题
1.下面是利用信号量机制来管理接收/打印机制中字符和缓冲区的伪代码程序。
A)请根据程序上下文关系,来补全中括号位置的语句内容。
B)如果缓冲区大小变为10,这时伪语言源代码需要如何改变?
Program producer-consumer /*程序:生产者-消费者*/
/*定义缓冲区B,信号量Sp、Se 其中Sp、控制字符资源同步,Se控制空间资源同步*/
Int B;
Semaphore__[1]_______,__[2]_______; /*初始时系统内字符数为0,缓冲区空间为1*/
Void Producer() /*定义生产者进程(接收进程)*/
{
While (ture) /*永远循环*/
{receive(C); /*接收字符并放在变量C中*/
__[3]_______; /*申请缓冲区空间,有就向下执行,无就阻塞等待*/
B=:C; /*赋值语句,将收到的字符放入缓冲区B中*/
__[4]_______; /*释放出一个字符。并检查是否有进程等待该字符*/
}
} /*生产者进程结束*/
Void consumer() /*定义消费者进程(打印进程)*/
{
While (ture) /*永远循环*/
{_[5]______; /*申请字符打印,有就向下执行,无就阻塞等待*/
Print(B); /*打印缓冲区B中字符*/
__[6]______; /*释放出一个空间资源。并检查是否有进程等待空间*/
}
} /*消费者进程结束*/
Void main() /*主程序*/
{
Parbegin ( Producer(), Consumer()); /*并行启动进程,使其由操作系统进行自由调度*/
答案见网上资料
2.某系统中有三类资源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:各进程还需要的资源数 |
3.下面是利用信号量机制来管理接收/打印机制中字符和缓冲区的伪代码程序. 请根据程序上下文关系,来补全相关语句的说明行.
Program producer-consumer /*程序:生产者-消费者*/
Int B;
Semaphore Sp、=0, Se=1; /* (1) */
Void Producer() /*定义生产者进程(接收进程)*/
{
While (ture) /*永远循环*/
{receive(C); /*接收字符并放在变量C中*/
Wait(Se); /* (2) */
B=:C; /*赋值语句,将收到的字符放入缓冲区B中*/
Signal(Sp); /* (3) */
}
} /*生产者进程结束*/
Void consumer() /*定义消费者进程(打印进程)*/
{
While (ture) /*永远循环*/
{Wait(Sp); /* (4) */
Print(B); /*打印缓冲区B中字符*/
Signal(Se); /* (5) */
}
} /*消费者进程结束*/
Void main() /*主程序*/
{
Parbegin ( Producer(), Consumer()); /* (6) */
答案见网上资料
4.现在有一个作业,分配到3个页架,运行时依此访问的页号为7,0,1,2,0,3,0,4,2,3。要求采用最近未使用的页面调度方法,图示调度过程,并说明产生了几次缺页中断(页架空闲初次装入时,不计入缺页次数) (10分)
进程的请求序列 | ||||||||||
最新使用的页 | ||||||||||
最老使用的页 | ||||||||||
缺页标志 |
5.假定有三个进程R、W1、W2共享一个缓冲器B,B中每次只能存放一个数。进程R每次启动输入设备读一个数且把它存放到缓冲器B中。若存放到缓冲器中的是奇数,则由进程W1将其取出打印;若存放到缓冲器中的是偶数,则由进程W2将其取出打印。同时规定进程R仅当缓冲器中无数或缓冲器中的数已被取出打印后才能再存放一个数;进程W1和W2对存入缓冲器的不能重复打印,也不能从空的缓冲器中取数。要求使用同步机制管理这三个并发进程,使它们能正确地同步工作。
begin
B:integer;
S,SO,SE:(1) ;
S:=(2);SO:=0;SE:=0;
cobegin
PROCESS R
x:integer;
begin
L1:|从输入设备读一个数|;
x:=读入的数;
(3) ;
B:=x;
if B=奇数 then Signal(SO);
else (4) ;
goto L1
end;
PROCESS W1
y:integer;
begin
L2:Wait(SO);
y:=B;
(5) ;
|打印y中的数|;
goto L2
end;
PROCESS W2
z:integer;
begin
L3:(6) ;
z:=B;
Signal(S);
|打印y中的数|;
goto L3
end;
coend;
end;
请补充上适当的内容: (1) ;(2) ;
(3) ;(4) ;
(5) ;(6) ;
并且请分别说明三个信号量 S、SO和SE的作用。
答案见网上资料