操作系统期末复习测试一

一、单选题

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.  PV操作的信号量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.  设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信息。设缓冲区是环形的,编号为0n-1inout分别是输入进程和输出进程使用的指针,初值都是0。为使两类进程实行同步操作,设置三个信号量:两个计数信号量fullempty,一个互斥信号量mutexfull表示放有信息的缓冲区数,其初值为0empty表示可供使用的缓冲区数,其初值为nmutex互斥信号量,初值为1 根据下面输入、输出进程的同步算法,填写相应的PV操作。

输入进程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 原本是 负数),因此要从等待队列中唤醒一个被阻塞的进程,让它转为就绪态。

三、关键特征

原子性:PV操作在运行时不会被中断,要么全部做完,要么不做。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐