操作系统期末复习测试一:单选题 + 判断题 + 应用题(含答案与详细解析)
操作系统期末复习测试一
一、单选题
1. 下列系统中,属于实时系统的是( )。
A. 方正排版系统
B. 计算机辅助设计系统
C. 火车订票系统
D. 办公自动化系统
正确答案: C
2. 操作系统对缓冲区的管理属于( )的功能。
A. 处理器管理
B. 设备管理
C. 文件管理
D. 存储器管理
正确答案: B
比如:对显卡缓冲区、打印机缓冲区、输入设备缓冲区的管理
核心目的:缓冲区的主要作用是解决 CPU 与 I/O 设备之间速度不匹配的矛盾。例如,高速的 CPU 与慢速的打印机、键盘之间需要缓冲区来缓冲数据流。
管理对象:设备控制器内部的硬件缓冲区(如显卡显存、硬盘缓存),以及操作系统在内存中为特定设备(如串口、声卡)分配的软件缓冲区,都由设备管理模块负责。
3. 下面不属于分时系统特征的是( )。
A. 为多用户设计
B. 需要中断机构及时钟系统的支持
C. 方便用户与计算机的交互
D. 可靠性比实时系统要求高
正确答案: D
4. 在分时系统中,时间片一定,则( ),响应时间越长。
A. 内存越大
B. 用户数越多
C. 后备队列越短
D. 用户数越少
正确答案: B
5. 为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。这属于( )。
A. 处理器管理
B. 存储管理
C. 文件管理
D. 作业管理
正确答案: B
6. 操作系统内核与用户程序、应用程序之间的接口是( )。
A. shell命令
B. 图形界面
C. 系统调用
D. C语言函数
正确答案: C
7. 工业过程控制系统中运行的操作系统最好是( )。
A. 分时系统
B. 实时系统
C. 辅助系统
D. 网络系统
正确答案: B
8. 按照所起的作用和需要的运行环境,操作系统属于( )。
A. 用户软件
B. 应用软件
C. 支撑软件
D. 系统软件
正确答案: D
9. 进程与程序之间有密切联系,但又是不同的概念。二者的一个本质区别是( )。
A. 程序是静态概念,进程是动态概念
B. 程序是动态概念,进程是静态概念
C. 程序保存在文件中,进程存放在内存中
D. 程序顺序执行,进程并发执行
正确答案: A
10. 以下不属于进程高级通信方式的是( )。
A. 共享内存方式
B. 进程互斥和同步方式
C. 消息传递方式
D. 管道文件方式
正确答案: B
11. 两个进程争夺同一个资源( )。
A. 一定死锁
B. 不一定死锁
C. 不会死锁
D. 以上说法都不对
正确答案: B
12. 为了描述进程的动态变化过程,采用了一个与进程相联系的( ),根据它而感知进程的存在。
A. 进程状态字
B. 进程优先数
C. 进程控制块
D. 进程起始地址
正确答案: C
13. 有9个生产者,6个消费者,共享容量为8的缓冲区。在这个生产者-消费者问题中,互斥使用缓冲区的信号量mutex的初值应该为( )。
A. 1
B. 6
C. 8
D. 9
正确答案: A
14. 若P、V操作的信号量S初值为2,当前值为 -1,则表示有( )个等待进程。
A. 0
B. 1
C. 2
D. 3
正确答案: B
15. 一个进程被唤醒意味着( )。
A. 该进程重新占有了CPU
B. 进程状态变为就绪
C. 它的优先权变为最大
D. 其PCB移至就绪队列的队首
正确答案: B
16. 死锁的四个必要条件中,无法破坏的是( )。
A. 互斥条件
B. 不可抢占条件
C. 占有且申请条件
D. 占有且申请条件
正确答案: A
互斥条件:一个资源每次只能被一个进程使用。比如:打印机的物理工作原理决定了它不能同时打印两份不同的文件。
二、判断题
17. 操作系统是用户与计算机之间的接口。 ( )
A. 对
B. 错
正确答案: A
18. UNIX操作系统是采用微内核方法实现结构设计的。( )
A. 对
B. 错
正确答案: B
UNIX 操作系统(以及现代 Linux 系统)采用的是单块结构(Monolithic Kernel),而不是微内核结构。
单块结构:整个操作系统内核作为一个大进程运行在单一地址空间中,所有核心功能(进程管理、内存管理、文件系统、设备驱动等)都静态编译链接在一起,或通过动态模块加载。优点是函数调用直接,性能高;缺点是内核庞大,某一部分出错可能导致整个系统崩溃。
微内核结构:只在内核中保留最核心的功能(如进程间通信、地址空间管理、基本调度),其他服务(如文件系统、设备驱动)都作为用户态的普通进程运行。优点是内核精简、稳定、易于扩展;缺点是性能开销较大。
19. 简单地说,进程是程序的执行过程。因而,进程和程序是一一对应的。( )
A. 对
B. 错
正确答案: B
程序和进程不是“一 一 对应”的关系,而是典型的多对多关系。
比如:一个程序可以对应多个进程:同时打开三个记事本程序。
一个进程可以对应多个程序:一个进程在创建后,可以执行“计算器.exe”,过一会儿又可以加载并执行“画图.exe”。
所以,进程和程序是“一对多”、“多对一”的关系,绝非一一对应。
20. 进程控制块(PCB)是专为用户进程设置的私有数据结构,每个进程仅有一个PCB。( )
A. 对
B. 错
正确答案: B
PCB 不是专为用户进程设置的:操作系统内核本身也有内核线程/进程,它们同样拥有 PCB(或称为内核线程描述符)。PCB 是用于描述所有调度实体(无论用户进程还是内核线程)的数据结构,并非用户进程私有。
“每个进程仅有一个PCB”在单线程模型下成立,但现代操作系统是多线程的:在支持多线程的系统中,一个用户进程可以包含多个线程,每个线程在内核中对应一个独立的调度实体(类似一个独立的 PCB)。因此,严格来说,一个进程可能对应多个 PCB(或线程控制块 TCB)。
21. 管道文件方式属于进程的高级通信。( )
A. 对
B. 错
正确答案: A
典型的高级通信方式包括:共享内存、消息传递(消息队列、信箱)、管道文件、套接字等。
22. 如同人类的族系一样,操作系统中众多的进程也存在族系关系,并构成一棵树形的进程族系图。( )
A. 对
B. 错
正确答案: A
23. 进程控制块(PCB)是进程存在的唯一标志。( )
A. 对
B. 错
正确答案: A
24. 进程之间的互斥,主要源于进程之间的资源竞争,从而实现多个相关进程在执行次序上的协调。( )
A. 对
B. 错
正确答案: B
这句话错在将 互斥 和 同步 两个不同的概念混淆了。它们是进程之间两种不同的制约关系:
互斥:源于进程间对临界资源的竞争。它的核心目的是保证同一时刻只有一个进程进入临界区,从而保护共享数据不被破坏。它解决的是资源冲突问题,不涉及执行顺序的协调。
同步:源于进程间的协作。它才是指多个进程在执行次序上的协调,即一个进程需要等待另一个进程完成某个动作(如发来信息或建立某个条件)后才能继续执行。
一句话总结:互斥是“抢资源”,同步是“等信号”。
25. 进程A和进程B都要使用系统中同一台打印机,为了保证打印结果的正确性,两个进程要先后分别使用打印机,这属于进程的同步关系。( )
A. 对
B. 错
正确答案: B
26. 进程的互斥和同步机构交换的信息量大,被归结为高级通信。( )
A. 对
B. 错
正确答案: B
三、应用题,每小题16分
27. 设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信息。设缓冲区是环形的,编号为0~n-1,in和out分别是输入进程和输出进程使用的指针,初值都是0。为使两类进程实行同步操作,设置三个信号量:两个计数信号量full和empty,一个互斥信号量mutex。full表示放有信息的缓冲区数,其初值为0。empty表示可供使用的缓冲区数,其初值为n。mutex互斥信号量,初值为1。 根据下面输入、输出进程的同步算法,填写相应的P、V操作。
输入进程Input:
while (TRUE) {
__ P(empty)__; //empty=empty-1;申请一个可供使用的空缓冲区
_P(mutex)__; //mutex= mutex-1;如果此时mutex=0,则继续执行,否则阻塞。
信息送往buffer(in);
in=(in+1) mod n; /*以n为模*/
__ V(mutex)__; // mutex= mutex+1;
__ V(full)_; //full=full+1;放有信息的缓冲区数加1
}
输出进程Output:
while (TRUE){
__ P(full)__; //full=full-1;申请一个放有信息的缓冲区
__ P(mutex)__; // mutex= mutex-1;如果此时mutex=0,则继续执行,否则阻塞。
从buffer(out)中取出信息;
out=(out+1) mod n; /*以n为模*/
_V(mutex)_; // mutex= mutex+1;
__ V(empty)__; //empty= empty+1;可供使用的空缓冲区数加1。
}
解析:
P:意为“尝试”。
V:意为“增加”。
这两者操作的对象都是一个称为信号量 的整型变量(通常记作 S)
一、P操作(尝试)
P操作相当于申请一个资源。
执行动作:S = S - 1
结果判断:
如果 S >= 0:表示资源申请成功,进程继续执行。
如果 S < 0:表示资源已被占光,当前进程无法获得资源。于是,进程会被阻塞(暂停),并加入到与该信号量相关的等待队列中。
二、V操作(增加)
V操作相当于释放一个资源。
执行动作:S = S + 1
结果判断:
如果 S > 0:表示释放后资源充裕,没有进程在等待,直接结束。
如果 S <= 0:表示释放前有进程在等待(因为 S 原本是 负数),因此要从等待队列中唤醒一个被阻塞的进程,让它转为就绪态。
三、关键特征
原子性:P、V操作在运行时不会被中断,要么全部做完,要么不做。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)