操作系统期末试卷(一)

一、选择题
1 、在现代操作系统中引入了(
),从而使并发和共享成为可能。
A.单道程序
B. 磁盘
C. 对象
D.多道程序

D. 多道程序:多道程序设计技术允许在内存中同时存放多个程序,并使它们交替执行。这样可以让多个程序共享系统资源,如 CPU、内存、I/O 设备等,从而实现了并发和共享。因此,在现代操作系统中引入多道程序,使并发和共享成为可能,该选项正确。

2、( )操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同
时交互地使用计算机。
A.网络
B.分布式
C.分时
D.实时

C. 分时操作系统:其工作原理是把 CPU 的时间划分成若干个时间片,轮流分配给各个终端用户使用。这样,多个用户可以通过各自的终端同时交互地使用计算机,好像每个用户都独占计算机一样,该选项正确。

3 、从用户的观点看,操作系统是(
)。
A. 用户与计算机硬件之间的接口
B. 控制和管理计算机资源的软件
C. 合理组织计算机工作流程的软件
D. 计算机资源的的管理者
A. 系统调用:系统调用是操作系统提供给用户程序的接口,用于请求操作系统提供服务。用户程序通过系统调用可以访问系统资源,如文件、设备等。在读取文件的逻辑块时,程序需要调用操作系统提供的文件读取系统调用,告知操作系统要读取的文件以及逻辑块的编号等信息,由操作系统来完成实际的文件读取操作,所以该选项正确。
4 、当 CPU 处于管态时,它可以执行的指令是( )。
A. 计算机系统中的全部指令
B. 仅限于非特权指令
C. 仅限于访管指令
D. 仅限于特权指令

A.计算机系统中的全部指令CPU 状态分为管态(又称系统态、核心态)和目态(又称用户态)。管态是操作系统管理程序运行时的状态,在此状态下,CPU 可以执行计算机系统中的全部指令,包括特权指令和非特权指令。特权指令是指只能由操作系统内核执行的指令,如设置时钟、清内存、开中断、关中断等,这些指令若被用户程序随意执行,可能会导致系统混乱。而目态是用户程序运行时的状态,在目态下,CPU 只能执行非特权指令,这样可以保证系统的安全性和稳定性。所以当 CPU 处于管态时,它可以执行计算机系统中的全部指令。

         
6 、下列几种关于进程的叙述,(
)最不符合操作系统对进程的理解?
A.进程是在多程序并行环境中的完整的程序。
B.进程可以由程序、数据和进程
控制块描述。
C.线程是一种特殊的进程。
D.进程是程序在一个数据集合上
运行的过程,它是系统进行资源分配和调度的一个独立单位。

选项 A:进程是程序的一次执行过程,而不是完整的程序本身。程序是静态的代码和数据集合,而进程是动态的,具有生命周期,包括创建、执行、暂停、终止等状态。在多程序并行环境中,多个进程可以同时运行同一个程序,但它们有各自独立的地址空间、资源分配和执行上下文。所以该选项最不符合操作系统对进程的理解。

7 、当一个进程处于(
)状态时,称其为等待(或阻塞)状态。
A. 它正等待中央处理机
B. 它正等待合作进程的一个消息
C. 它正等待分给
它一个时间片
D. 它正等待进入内存

B. 它正等待合作进程的一个消息:当进程等待合作进程的消息时,它无法继续执行下去,只能处于等待(阻塞)状态,直到收到所需的消息,才有可能继续执行,所以该选项正确。

8 、一个进程释放一种资源将有可能导致一个或几个进程(
)。
A.由就绪变运行
B.由运行变就绪
C.由阻塞变运行
D.由阻塞变就绪

D. 由阻塞变就绪:当一个进程释放一种资源时,可能会使正在等待该资源的一个或几个进程获得所需资源,从而从阻塞状态变为就绪状态,等待被调度执行,所以该选项正确。

9、下面关于线程的叙述中,正确的是(
)。
A.不论是系统支持线程还是用户级线程,其切换都需要内核的支持。
B.线程是资源 的分配单位,进程是调度和分配的单位。
C.不管系统中是否有线程,进程都是拥有资源的独立单位。
D.在引入线程的系统中, 进程仍是资源分配和调度分派的基本单位。

A:用户级线程的切换由用户空间的线程库来实现,不需要内核支持,只有系统支持线程的切换才需要内核支持,所以该选项错误。

B:进程是资源分配的单位,线程是调度和分配的基本单位,选项中说法混淆了进程和线程的概念,故该选项错误。

C:进程是拥有资源的独立单位,即使系统中引入了线程,进程所拥有的资源也不会改变,线程是在进程的资源空间内运行的,该选项正确。

D:在引入线程的系统中,线程是调度分派的基本单位,而进程是资源分配的基本单位,该选项错误。

10、设有 3 个作业,它们同时到达,运行时间分别为 T1、T2 和 T3,且 T1≤T2≤T3,若它
们在单处理机系统中按单道运行,采用短作业优先调度算法,则平均周转时间为(
)。
A. T1+T2+T3
B. (T1+T2+T3)/3
C. T1+T2/3+2*T3/3
D.T3/3+2*T2/3+T1

根据平均周转时间的计算公式Tavg​=nTz1​+Tz2​+Tz3​​(n为作业数,这里n=3)。

将Tz1​=T1​,Tz2​=T1​+T2​,Tz3​=T1​+T2​+T3​代入公式可得:

Tavg​=(T1​+(T1​+T2​)+(T1​+T2​+T3​))/3​=T3/3+2*T2/3+T1

所以平均周转时间为T1​+32T2​​+3T3​​,答案选 D。

11 、在下面的 I/O 控制方式中,需要 CPU 干预最少的方式是(
)。
A .程序 I/O 方式
B .中断驱动 I/O 控制方式
C.直接存储器访问 DMA 控制方式
D I/O 通道控制方式

A. 程序 I/O 方式:该方式下,CPU 需要不断查询 I/O 设备的状态,直到设备准备好数据或完成操作,期间 CPU 一直被占用,需要频繁干预,故 A 选项错误。

B. 中断驱动 I/O 控制方式:当 I/O 设备完成数据传输或出现某些事件时,会向 CPU 发送中断请求,CPU 响应中断并进行相应处理。相比程序 I/O 方式,CPU 不需要一直查询,但在中断处理过程中仍需要一定的干预,故 B 选项错误。

C. 直接存储器访问 DMA 控制方式:DMA 方式允许外部设备直接与内存进行数据传输,无需 CPU 频繁干预。但在传输开始和结束时,仍需要 CPU 进行一些初始化和收尾工作,所以 CPU 还是有一定程度的参与,故 C 选项错误。

D. I/O 通道控制方式:I/O 通道是一种专门负责 I/O 操作的硬件,它可以独立于 CPU 执行 I/O 指令序列,控制设备与内存之间的数据传输。CPU 只需在通道开始工作前进行一些初始化设置,然后就可以去执行其他任务,由通道来管理整个 I/O 操作过程,CPU 干预最少,故 D 选项正确。

12 、有 m 个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则
信号量的变化范围是( )。
A . 1 至 –(m-1)
B.1 至 m-1
C.1 至–m
D.1 至 m
信号量用于实现进程对临界资源的互斥访问。当没有进程访问临界资源时,信号量的值为1;当有1个进程进入临界区时,信号量的值减1变为0;当有m个进程都想进入临界区,而临界资源只能被一个进程使用时,其余m−1个进程会被阻塞,此时信号量的值为1−m=−(m−1)。所以信号量的变化范围是1至−(m−1)。
13 、对资源编号,要求进程按照序号顺序申请资源,是破坏了死锁必要条件中的哪一条?
( )
A. 互斥
B. 请求与保持
C. 不可剥夺
D. 循环等待

D. 循环等待:循环等待条件是指存在一组进程,它们中的每一个进程都在等待另一个进程所占有的资源,形成一个循环等待链。通过对资源编号,并要求进程按照序号顺序申请资源,可以避免进程之间形成循环等待的关系。因为按照顺序申请资源,不会出现一个进程等待另一个进程占用的更低序号资源的情况,从而破坏了循环等待条件,防止死锁的发生。

14 、某系统采用了银行家算法,则下列叙述正确的是( )。
A . 系统处于不安全状态时一定会发生死锁
B.系统处于不安全状态时可能会
发生死锁
C.系统处于安全状态时可能会发生死锁
D.系统处于安全状态时一定会发 生死锁

B. 系统处于不安全状态时可能会发生死锁:当系统处于不安全状态时,有可能存在某些进程的资源请求无法得到满足,这些进程可能会一直等待资源,进而导致死锁的发生。不过,也有可能在某些情况下,进程能够通过其他方式释放资源,使得系统避免进入死锁状态,所以系统处于不安全状态时是可能会发生死锁的,B 正确。

15、 CPU 输出数据的速度远远高于打印机的打印速度,为解决这一矛盾,可采用(
A .并行技术
B .缓冲技术
C .虚拟存储器技术
D .覆盖技术

A. 并行技术:主要是指多个任务或操作同时进行,以提高系统的处理能力和效率。但它并不能直接解决 CPU 与打印机速度不匹配的问题,因为打印机本身的打印速度限制无法通过并行技术得到根本改善,故 A 选项错误。

B. 缓冲技术:通过在内存中设置缓冲区,先将 CPU 要输出的数据暂存到缓冲区中,然后让打印机从缓冲区中慢慢读取数据进行打印。这样可以使 CPU 不必等待打印机完成打印操作,而是可以继续执行其他任务,从而解决了 CPU 输出数据速度快于打印机打印速度的矛盾,故 B 选项正确。

C. 虚拟存储器技术:主要是为了扩大内存的逻辑容量,将一部分外存空间当作内存来使用,使得程序可以在比实际物理内存更大的空间中运行。它与解决 CPU 和打印机速度不匹配的问题无关,故 C 选项错误。

D. 覆盖技术:是一种内存管理技术,用于在内存空间有限的情况下,将程序中暂时不用的部分覆盖掉,以腾出空间来加载其他程序或数据。它也不能解决 CPU 与打印机速度差异的问题,故 D 选项错误。

16 、下面最有可能使得高地址空间成为大的空闲区的分配算法是(
)。
A. 首次适应法
B. 最佳适应法
C. 最坏适应法
D. 循环首次适应法

A. 首次适应法:该算法从空闲分区链首开始查找,找到第一个能满足进程大小的空闲分区就进行分配。这样会使得低地址空间的空闲分区很快被划分,随着不断分配,高地址空间的空闲分区由于较晚被分配到,就有可能保留下来成为大的空闲区。

B. 最佳适应法:它总是寻找能满足进程需求的最小空闲分区,这样会导致各个大小的空闲分区都被均匀地使用,不太容易使高地址空间形成大的空闲区。

C. 最坏适应法:该算法每次都选择最大的空闲分区进行分配,这会使得大的空闲分区迅速被划分,高地址空间的大空闲区也会很快被破坏,不太可能形成大的空闲区。

D. 循环首次适应法:它是从上次查找结束的位置开始循环查找空闲分区,与首次适应法相比,它对内存空间的利用更加均匀,不会像首次适应法那样明显倾向于保留高地址空间的大空闲区。

17 、在下面关于虚拟存储器的叙述中,正确的是(
)。
A. 要求程序运行前必须全部装入内存且在运行过程中一直驻留在内存
B. 要求程序运行前不必全部装入内存且在运行过程中不必一直驻留在内存
C. 要求程序运行前不必全部装入内存但是在运行过程中必须一直驻留在内存
D. 要求程序运行前必须全部装入内存但在运行过程中不必一直驻留在内存
虚拟存储器的基本思想是利用大容量的外存来扩充内存,使得程序在运行前不必全部装入内存,仅将当前运行所需的部分程序和数据装入内存即可启动运行。在程序运行过程中,根据需要再将其他部分从外存调入内存,同时,一些暂时不用的程序和数据也可以被换出到外存,不必一直驻留在内存中。这样可以在有限的内存空间中运行比内存容量大得多的程序,提高了内存的利用率和系统的并发处理能力。因此,选项 B 正确。
18 、采用段式存储管理的系统中,若地址用 24 位表示,其中 8 位表示段号,则允许每段
的最大长度是(
)。
A.2^ 24
B.2^ 16
C.2^ 8
D.2^ 32
答案是 B。在段式存储管理中,24 位地址里 8 位为段号,则段内偏移量占 16 位。段内偏移量位数决定段的最大长度,16 位偏移量对应最大长度为2^16,所以每段最大长度是2^16 。
19 、在可变式分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区
合并,为此需修改空闲区表,造成空闲区数减 1 的情况是(
)。
A. 无上邻空闲区,也无下邻空闲区
B. 有上邻空闲区,但无下邻空闲区
C. 有下邻空闲区,但无上邻空闲区
D. 有上邻空闲区,也有下邻空闲区

答案是D.当有上邻空闲区和下邻空闲区时,系统收回作业的主存空间后,会将这三个区域合并成一个更大的空闲区,原来的两个相邻空闲区和新收回的空间合并为一个,所以空闲区数会减 1。

20 MS-DOS 系统中的磁盘文件物理结构属于(
)。
A. 连续文件
B. 链接文件
C. 索引文件
D. 散列文件
MS - DOS 系统中的磁盘文件物理结构属于链接文件。在 MS - DOS 中,文件以簇为单位进行存储,文件的各个簇在磁盘上不一定是连续的,通过文件分配表(FAT)来记录文件各簇之间的链接关系,从而实现对文件的存储和访问。因此,MS - DOS 系统中的磁盘文件物理结构是链接文件,选项 B 正确。
二、填空题
21、 操作系统是计算机系统中的一个___ 系统软件 _______,它管理和控制计算机系统中
的___ 资源 _________。
22、 进程主要由__ 程序 _____、___ 数据 _____和_____ PCB _______三部分内容组成,其中
____ BPC ___是进程存在的惟一标识,而_____ 数据 _____部分也可以为其它进程共享。
23、在一个具有 2 个处理器的操作系统中共有 n 个进程,在不考虑进程状态过渡的情况 下,阻塞进程队列中最多有__ n ___ 个进程。某一时刻,处于执行状态的进程为 0 个,且
当前处理机空闲,处于就绪状态的进程有___ 0 ____ 个。
24、当处理器空闲时,调度程序从 __ 就绪 _____ 进程队列中选择一个进程给其分配 CPU,
处于____ 阻塞 ________状态的进程是不会获得 CPU 的。
25、在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,_____ 运行时间短
_____ 的作业将得到优先调度;当各个作业要求运行的时间相同时,___ 等待时间长 ___
的作业得到优先调度。
26、某系统中共有 10 台磁带机被 m 个进程竞争,每个进程最多要求 3 台磁带机,那么当
m 的取值为_ 不超过 4 的整数 ___时,系统不会发生死锁。
系统中有10台磁带机供m个进程使用,每个进程最多要3台。为避免死锁,考虑极端情况,假设每个进程先都拿到2台磁带机,此时只要再有1台磁带机,不管给哪个进程,该进程就能凑够3台去运行,运行完释放资源后其他进程也能顺利运行。由此得到不等式2m+1⩽10,解出m⩽4.5,由于m是整数,所以m取不超过4的整数时,系统就不会发生死锁。
27、 设有 8 页的逻辑空间,每页有 1024 字节,它们被映射 32 块的物理存储区中,那么,
逻辑地址的有效位是__ 13 ________位,物理地址至少是_____ 15 _____位。
在这个存储系统中,逻辑空间有8页,因为8 = 2^3,所以表示页号需3位;每页1024字节,1024 = 2^10,表示页内偏移量需10位,两者相加,逻辑地址有效位是13位。物理存储区有32块,32 = 2^5,块号需5位,而页内偏移量与逻辑空间中每页大小对应,同样是10位,所以物理地址至少是5位块号与10位页内偏移量之和,即15位。
28、 在一个分页存储管理系统中,页长为 4KB
某一作业的页表如图 1 所示,虚拟地址 3000 对应的物理地址为
12K+3000=152888
操作系统期末试卷(一)_第1张图片
29、虚拟设备是通过__ SPOOLING __ 技术把独占设备变成能为若干用户
__ 共享 _的设备。
30、已知某文件采用串联结构,它由 10 个逻辑记录组成,每个逻辑记录刚好存放于一个
磁盘块上,都为 1024 字节,并依次存放在 10、61、32、75、87、98、46、37、33 和 11
号磁盘块上。若要存取文件相对于文件头偏移 7654 字节处的信息,则要访问的磁盘块块
号为____ 37 _____,块内的偏移量是____ 486 ________。
31、什么是进程?什么是线程?进程与线程有何区别?
答:
1 )进程是具有独立功能程序在某个数据集合上的一次执行过程。( 2 分)
2 )线程是进程内的一个执行实体或执行单元。( 2 分)
3 )进程和线程的区别:
        (a )不同进程的地址空间是独立的,而同一进程内的线程共享同一地址
           空间。一个进程的线程在另一个进程内是不可见的。
          (b) 在引入线程的操作系统中,进程是资源分配和 调度的单位,
          线程是处理机调度和分配的单位,资源是分配给进程的,线程只拥有很少资源,因而切
          换代价比进程切换低。(2 分)
说明: 论述条理清晰,包含上述要点,本题即可得满分
32 、什么是死锁?产生死锁的原因和必要条件是什么?
答:
1 )在多道程序系统中,当一组进程中的每个进程均无限期地等待被改组进程中的另一进程所占 有且永远不会释放的资源,此时的系统处于死锁状态,简称死锁。(2 分)
2 )死锁产生的原因:( a )系统提供的资源有限;( b )进程推进顺序不当。( 2 分)
3 )产生死锁的必要条件:互斥条件、不可剥夺条件、请求和保持条件、循环等待条件。( 2 分)
说明 :论述条理清晰,包含上述要点,本题即可得满分
33、说明作业调度,中级调度和进程调度的区别,并分析下述问题应由哪一级调度程序负
责。
(1) 在可获得处理机时,应将它分给哪个就绪进程;
(2) 在短期繁重负载下,应将哪个进程暂时挂起。
答:
(1) 作业调度用于决定把外存中处于后备队列中的哪些作业调入内存,并为它们创建进程,分配资源,然后将新创建进程插入就绪队列;中级调度负责将内存中暂时不具备运行条件的进程换到外存交 换区存放,但内存空闲时,又将外存中具备运行条件的进程重新换入内存;进程调度决定将处理机分 配给就绪进程队列的哪个进程。(4 分)
2 )进程调度、中级调度( 2 分)
说明 :论述条理清晰,包含上述要点,本题即可得满分
四、综合题(本大题共 2 小题,第 1 题 9 分,第 2 题 13 分,计 22 分)
34、(9 分)在一个请求分页系统中,假设系统分配给某进程的物理块数为 3 ,开始时内存
为空,执行如下访问页号序列:
1 2 3 4 1 2 5 1 2 3 4 5
试说明采用先进先出 (FIFO) 、最近最少使用( LRU )和最佳置换算法 (OPT) 进行页面置换
时,缺页次数各是多少?
答: 1 FIFO: 9 次   (3 分)
       ( 2 LRU 10 次 ( 3 分)
       ( 3 OPT 7 次   (3 分)
说明 :没有计算过程,本题不得分。如果结果有误,根据步骤酌情给分。
35 、( 13 分)如图  所示,系统中有三个进程 GET、PRO 和 PUT,共用两个缓冲区 BUF1 和 BUF2。
假设 BUF1 中最多可放 11 个信息,现已放入了两个信息;BUF2 最多可放 5 个信息。GET 进程
负责不断地将输入信息送入 BUF1 中,PRO 进程负责从 BUF1 中取出信息进行处理,并将处理
结果送到 BUF2 中,PUT 进程负责从 BUF2 中读取结果并输出。试写出正确实现 GET、PRO、PUT 的同步与互斥的算法
(要求:(1)用类 C 语言描述,条理清楚,注释恰当;(2)信号量原 语统一使用 wait 和 signal。)
答:
semaphore
empty1=9;// buf1 的数目
full1=2; // 有数据的 buf1 的数目
empty2=5; // buf2 的数目
full1=0; // 有数据的 buf2 的数目
mutex1=mutex2=1; // 互斥信号量
int main(){
Cobegin // 并发开始
GET();
PRO();
PUT();
Coend
// 并发结束
return 0;
} (3 )
//GET 进程
void GET () {
while(1)
{
wait(empty1);
wait(mutex1);
将信息送入 buf1;
signal(mutex1);
signal(full1);
}
}
(3 )
//PRO 进程
void PRO () {
while(1)

{
wait(full1);
wait(mutex1);
buf1 中取出信息 ;
signal(mutex1);
signal (empty1);
wait(empty2);
wait(mutex2);
将信息送入 buf2;
signal(mutex2);
signal(full2);
}
}
(4 )

//PUT 进程
void PUT () {
while(1)
{
wait(full2);
wait(mutex2);
buf2 中取出信息 ;
signal(mutex2);
signal (empty2);
}
(3 )

你可能感兴趣的:(c++)