Skip to content

选择题

1.若处理器有32位地址,则它的虚拟地址空间为( )字节。

A 2GB B 4GB C 100KB D 640KB

答案: B

详细解析: 在计算机系统中,虚拟地址空间的大小由地址总线的位数决定。根据参考资料,“在32位平台上,每个Windows用户进程拥有独立的32位地址空间,允许每个进程使用4GB的虚拟内存(2322^{32} 字节 = 4GB)”。因此,32位地址处理器可以寻址的最大虚拟地址空间为4GB。

2.支持程序浮动的地址转换机制是( )

A 动态重定位 B 段式地址转换 C 页式地址转换 D 静态重定位

答案: A

详细解析: “程序浮动”指的是程序在执行过程中可以在内存中移动或被换出到磁盘后换入到新的物理位置。参考资料指出:“为了让程序能在运行过程中被换出并在随后加载到内存的其它位置,不能在初始加载时就把内存引用绑定为绝对地址... 只有在指令真正执行时,才由特殊的处理器硬件动态地进行物理地址的计算”。这种在运行时将相对逻辑地址翻译成物理主存地址的机制,即为动态重定位(动态运行时加载/Dynamic run-time loading),它为程序在内存中浮动提供了完全的灵活性。

3.UNIX中的文件系统采用( )。

A 网状文件 B 记录式文件 C 索引文件 D 流式文件

答案: D

详细解析: 参考资料指出:“UNIX内核将所有的文件视为字节流(streams of bytes),文件内部的任何逻辑结构完全由具体的应用程序来决定”。因此,UNIX文件系统采用的是无结构字节流组成的流式文件(Stream file)。

4.段页式管理每取一数据,要访问( )次内存。

A 1 B 2 C 3 D 4

答案: C

详细解析: 在结合了分段和分页的存储管理系统(段页式管理)中,逻辑地址被划分为段号、页号和页内偏移量。根据参考资料中段页式地址转换的流程图及说明,系统首先要访问驻留在内存中的“段表”(第一次访存)以获取该段对应的页表基址;然后利用页号访问所在的“页表”(第二次访存)获取对应的物理页框号;最后,将物理页框号加上偏移量结合成真实物理地址,去访问内存中所需的数据(第三次访存)。所以共需要访问3次内存。

5.文件系统的主要目的是( )。

A 实现对文件的按名存取 B 实现虚拟存贮器C 提高外围设备的输入输出速度 D 用于存贮系统文档

答案: A

详细解析: 文件系统的核心目的在于方便用户和程序对数据进行组织与访问。参考资料指出:“文件系统的主要职能是实现长期存储,将信息存储在被称为‘文件’的命名对象中。文件对程序员而言是个极其方便的概念”,并且“文件被用户和应用程序视为单个实体,可以通过名称被引用(referenced by name)”。这就意味着其主要目的是提供“按名存取”的机制。

6. 某基于动态分区存储管理的计算机,其主存容量为55mb(初始为空),采用最佳适配算法,分配和释放的顺序为:分配15mb,分配30mb,释放15mb,分配8mb,分配6mb,此时主存中最大空闲分区的大小是( )

A 7mb B 9mb C 10mb D 15mb

答案: B

详细解析: 我们逐步推演动态分区和最佳适配(Best-fit)算法的分配过程:

  1. 初始状态:空闲 55MB。
  2. 分配15MB:主存分为 占用15MB,剩余空闲 40MB。
  3. 分配30MB:主存分为 占用15MB,占用30MB,剩余空闲 10MB。
  4. 释放15MB:此时主存有两个空闲区:15MB 和 10MB(中间隔着被占用的30MB,无法合并)。
  5. 分配8MB:最佳适配算法要求选择与请求大小最接近的空闲块。因此在15MB和10MB中,选择10MB的空闲区。分配后,该区域剩余 2MB 的空闲区。此时空闲区为:15MB 和 2MB。
  6. 分配6MB:同样使用最佳适配算法,在15MB和2MB中只能选择15MB。分配后,该区域剩余 9MB。 最终此时系统中的空闲区大小分别为 9MB 和 2MB,其中最大空闲分区的大小为 9MB。

7.设计批处理多道系统时,首先要考虑的是( )。

A 灵活性和可适应性 B 系统效率和吞吐量
C 交互性和响应时间 D 实时性和可靠性

答案: B

详细解析: 操作系统的调度和设计目标因系统类型而异。参考资料在对比操作系统的调度策略时指出:“分时多道系统(time sharing, multiprogramming system)的主要目的是优化响应时间,而批处理多道系统(multiprogrammed batch system)的目的是优化系统效率和吞吐量”。

8.进程调度的对象和任务分别是( )。

A 作业,从就绪队列中按一定的调度策略选择一个进程占用CPUB 进程,从后备作业队列中按调度策略选择一个作业占用CPUC 进程,从就绪队列中按一定的调度策略选择一个进程占用CPUD 作业,从后备作业队列中调度策略选择一个作业占用CPU

答案: C

详细解析: 操作系统的调度分为多个层级。参考资料指出,“短程调度器(short-term scheduler,即进程调度器)是最频繁执行的调度”。“调度的任务就是随着时间推移将处理器分配给进程”,“进程调度策略会从就绪队列(Ready queue)中选择一个给定的进程来执行,并让其占用处理器”。因此,进程调度的对象是“进程”,任务是“从就绪队列中选择一个进程占用CPU”。

9.一种既有利于短小作业又兼顾到长作业的作业调度算法是( )。

A 先来先服务 B 轮转 C 最高响应比优先 D 均衡调度

答案: C

详细解析: 最高响应比优先(HRRN)算法每次调度前都会计算响应比:响应比=1+(等待时间/服务时间)\text{响应比} = 1 + (\text{等待时间} / \text{服务时间})。因为包含了服务时间在分母,所以对短小作业非常有利;而因为包含了等待时间在分子,长作业随着等待时间的延长,响应比也会逐渐升高,从而避免了长作业发生“饥饿”现象(兼顾了长作业)。其他选项中,先来先服务对短作业不利;轮转调度主要用于分时系统。

10.两个进程合作完成任务。在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系称为进程的( )。

A 互斥 B 同步 C 调度 D 伙伴

答案: B

详细解析: 参考资料提到:“当一个进程因为等待某个事件(如子进程终止或输入/输出操作等某种条件的建立)而无法继续前进时,它会阻塞并把控制权交还给调度器”。为了协调这类并发事件的合作和先后顺序,需要由进程同步(Process synchronization)与进程间通信来支持。由于协作进程需等待条件满足,这种明确的制约关系即为进程“同步”。

11.当每类资源只有一个个体时,下列说法中不正确的是( )。

A 有环必死锁 B 死锁必有环 C 有环不一定死锁 D 被锁者一定全在环中

答案: C

详细解析: 在资源分配图中,如果图中包含环路:

  1. 若每类资源只有一个个体,环路是死锁存在的充分必要条件。也就是说,“有环必死锁”,“死锁必有环”。
  2. 若某类资源有多个个体,环路只是死锁存在的必要条件,此时有环不一定死锁。 题目中明确前提是“每类资源只有一个个体”,所以有环则必定发生死锁,因此“有环不一定死锁”的说法是错误的。

12.在现代操作系统中引入了( ),从而使并发和共享成为可能。

A 单道程序 B 磁盘 C 对象 D 多道程序

答案: D

详细解析: 参考资料指出:“现代操作系统的中心主题,建立在内存中多个程序间进行切换的概念之上,这种机制被称为多道程序设计(multiprogramming)”。正是因为多道程序设计的引入,多个应用程序能够同时处于活动状态(并发),并高效共享处理器、内存及其他硬件资源。

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

A T1+T2+T3 B (T1+T2+T3)/3 C T1+T2/3+2T3/3 D T3/3+2T2/3+T1

答案: D

详细解析: 按照短作业优先(SJF)调度算法,由于同时到达,系统会按运行时间从小到大执行,即顺序为:作业1、作业2、作业3。

  • 作业1的周转时间为:T1T1
  • 作业2的周转时间为:T1+T2T1 + T2 (作业1结束后开始)
  • 作业3的周转时间为:T1+T2+T3T1 + T2 + T3
  • 平均周转时间 = T1+(T1+T2)+(T1+T2+T3)3=3T1+2T2+T33=T1+23T2+13T3\frac{T1 + (T1 + T2) + (T1 + T2 + T3)}{3} = \frac{3 \cdot T1 + 2 \cdot T2 + T3}{3} = T1 + \frac{2}{3}T2 + \frac{1}{3}T3 该计算结果正是选项 D 所列公式的重新排列。

14.若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许( )个进程参于竞争,而不会发生死锁。

A 5 B 2 C 3 D 4

答案: D

详细解析: 假设系统中有 KK 个进程参与竞争,采用极端的最坏情况分析(预防死锁):每个进程都已经申请并获得了 11 台绘图仪,且全都在请求各自的第 22 台绘图仪。 如果此时被占用的绘图仪总数为 1×K=K1 \times K = K 台。为了打破可能发生的死锁(避免循环等待),至少要剩下 1 台绘图仪能分配给其中一个进程,使其完成任务后释放所占资源给其它进程。 因此,总资源数 5 需要大于等于极端情况下已分配出去的 KK 台绘图仪,即 5>K5 > K,于是 KK 的最大值为 4。如果有5个进程就会陷入全部分配1台、谁也无法拿到第二台的死锁状态。

15.CPU输出数据速度远远高于打印机的打印速度,为解决矛盾,可采用( )

A 并行技术 B 缓冲技术 C 虚拟存储器技术 D 覆盖技术

答案: B

详细解析: 参考资料在I/O管理一节明确指出:“使用多重缓冲试图缓解吸收快速I/O突发问题的情景,通常被称为缓冲技术(buffering)”。“为了改善I/O设备的利用率和解决处理器管理I/O传输效率低下的问题,可以利用缓冲技术(Buffering techniques)”。因此引入缓冲技术可平滑CPU和慢速外设(打印机)之间的速度不匹配。

16.为了允许不同用户的文件具有相同的文件名,通常在文件系统中采用( )

A 重名翻译 B 多级目录 C 约定 D 文件名

答案: B

详细解析: 参考资料指出,多级目录或树形结构的目录使得不同所有者的文件可以被有效组织并隔离。“这不仅提高了安全性、完整性,也避免了文件名冲突(name clashes)的问题”。每个用户可以拥有自己的子目录,从而在不同目录中可以存在同名的文件。

17.在可变分区存储管理中,最优适应分配算法要求对空闲区表项按( )排列。

A 地址从大到小 B 地址从小到大 C 尺寸从小到大 D 尺寸从大到小

答案: C

详细解析: “最佳适应(Best-fit)布局算法指的是选择那些在大小上最接近请求内存量(closest in size to the request)的空闲内存块进行分配”。为了加快查找最合适空闲块的速度并快速停止遍历,实际实现中往往将空闲区表项按照内存块尺寸(大小)从最小到最大进行排列。

18.支持程序浮动的地址转换机制是( )

(此题与第2题重复)A 动态重定位 B 段式地址转换 C 页式地址转换 D 静态重定位

答案: A

详细解析: 同第2题。使用“动态运行时加载”和动态地址转换使得程序在内存中浮动和动态重定位变为可能。

19.在可变式分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是( )

A 无上邻空闲区,也无下邻空闲区 B 有上邻空闲区,但无下邻空闲区C 有下邻空闲区,但无上邻空闲区 D 有上邻空闲区,也有下邻空闲区

答案: D

详细解析: 作业释放内存时产生的合并有4种情况:

  1. 无上邻且无下邻: 回收区将作为新的独立空闲区加入表中,空闲区总数 +1
  2. 仅有上邻 或 仅有下邻: 回收区仅与上一个(或下一个)空闲区合并,使原空闲区块变大,空闲区总数 不变
  3. 有上邻空闲区,也有下邻空闲区: 回收区充当了桥梁,将它上面的空闲区与它下面的空闲区连成了一片。原先表中的两个空闲区合并成了一个大空闲区,所以空闲区总数 -1

20.在下面关于虚拟存储器的叙述中,正确的是( )

A 要求程序运行前必须全部装入内存且在运行过程中一直驻留在内存B 要求程序运行前不必全部装入内存且在运行过程中不必一直驻留在内存C 要求程序运行前不必全部装入内存但是在运行过程中必须一直驻留在内存D 要求程序运行前必须全部装入内存但在运行过程中不必一直驻留在内存

答案: B

详细解析: 根据参考资料中虚拟内存的论述:“由于动态运行时的地址转换...没必要在程序执行时将其所有的页或段全部驻留在内存中。进程可以被打散成各个部分,且在执行时无需全部在内存中”。并且“如果不再被使用或为了腾出空间,内存中的页面会被操作系统显式或隐式地调出”。因此,虚拟内存既不要求运行前全部装入,也不要求运行过程中一直全部驻留。

21.文件系统中用( )管理文件。

A 堆栈结构 B 指针 C 页表 D 目录

答案: D

详细解析: 参考资料明确表明文件系统的组织:“文件目录的地址信息元素会维护文件所有者的信息以及其它控制权限信息”,“目录允许文件被很好地组织并清晰地按照不同准则分离...”。操作系统依靠文件目录(Directory)来实现文件系统对大量文件的组织、存取和管理。

22.在多进程的并发系统中,肯定不会因竞争( )而产生死锁。

A 打印机 B 磁带机 C CPU D 磁盘

答案: C

详细解析: 死锁常常涉及不可剥夺的临界排他资源(例如打印机、磁带机等)。CPU属于典型的“可剥夺性(Preemptible)资源”,即操作系统可以通过时间片中断(调度程序)随时从正在运行的进程手中收回CPU使用权并分配给其他进程。因此,多进程永远不会因为竞争CPU而永久阻塞陷入死锁。

23.程序员利用系统调用打开I/O设备时,通常使用的设备标识( )

A 从设备号 B 物理设备名 C 主设备号 D 逻辑设备名

答案: D

详细解析: 根据I/O管理的逻辑结构:“逻辑I/O模块(Logical I/O)把设备视为逻辑资源...允许用户进程仅仅通过‘设备标识符(即逻辑设备名)’和简单的命令(如open、close、read、write)来进行I/O访问,而无需关注具体的物理细节”。这样实现了设备独立性。

24.分段存储管理系统中,地址长度为32位,其中段号占8位,则段长最大( )

A 282^8 B 2162^{16} C 2242^{24} D 2322^{32}

答案: C

详细解析: 在分段存储系统中,逻辑地址由“段号”和“段内偏移量”两部分组成。已知地址总长为32位,段号占据其中的8位,那么留给段内偏移量的位数为:328=2432 - 8 = 24位。段内偏移量决定了段能够寻址的最大长度范围,因此每个段的段长最大为 2242^{24} 个存储单元。

25.设与某资源相关联的信号量初值为3,当前值为1,若M表示该资源的可用个数,N表示等待资源的进程数,则M,N分别是( )

A 1,0 B 0,1 C 1,2 D 2,0

答案: A

详细解析: 信号量(Semaphore)的值代表资源的当前可用状况:

  • 当信号量值 >0> 0 时,该数值代表系统中目前可用的资源个数
  • 当信号量值 0\le 0 时,它的绝对值代表正在排队等待该资源的阻塞进程数。 当前信号量的值为正数 11,说明该资源尚有 11 个可用 (M=1M=1),目前没有任何进程因为请求该资源而被阻塞等待 (N=0N=0)。

26.某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K的最小值( )

A 2 B 3 C 4 D 5

答案: C

详细解析: 发生死锁的最坏情况是:每个进程都只差最后一台打印机就能运行(即每个进程都占有了2台)。 如果此时系统中所有的8台打印机都已被分配完毕,且没有剩余(或不够),所有进程都将相互等待。 对于 KK 个进程,每人都占用2台,总共需要 2×K2 \times K 台。要让这 KK 个进程可能陷入死锁,必须满足:它们占有的资源数大于等于系统的总资源数,即 2K82K \ge 8。 由此解出 K4K \ge 4。如果 K=3K=3,它们最坏总共占有 3×2=63 \times 2 = 6台,系统还剩2台可以完全满足其中一个进程让其运行结束,就不会发生死锁。所以最小的可能死锁的K为4。

27.设文件F1当前引用计数值为1,先建立F1的符号链接文件F2,再建立F1的硬链接文件F3,然后删除F1。此时,F2和F3的引用计数值分别是( )

A 0,1 B 1,2 C 1,1 D 2,1

答案: C

详细解析: 在文件系统(如UNIX)中,引用计数(Reference count)通常指的是指向 inode(索引节点)的硬链接数:

  1. F1 初始计数值为 1。
  2. 建立 F1 的符号链接(软链接)F2。这不会改变 F1 inode的硬链接计数;软链接本身是一个全新文件并有自己的独立inode,其计数初始为 1。
  3. 建立 F1 的硬链接 F3。由于硬链接直接指向目标文件的 inode,因此原 inode(即 F1/F3 共用的数据节点)的引用计数加1,变为 2。
  4. 删除 F1 目录项。该操作移除了名字为 F1 的硬链接,原 inode 引用计数减 1,变为 1(因为 F3 仍指向它)。 因此,F2 本身的引用计数依然是它自己目录项的 1,而 F3 所在的 inode 引用计数也是 1。两者均为 1。

28.当进程因时间片用完而让出处理机时,该进程应转变为( )状态。

A 等待 B 就绪 C 运行 D 完成

答案: B

详细解析: 参考资料指出:“在轮转调度(Round-robin)策略中,每个队列里的进程都被分配一个时间片(a certain amount of time)来执行,除非它发生阻塞,否则时间片用完时它会被返回到调度队列中(returned to the queue)”。“由于不是因为等待某些输入/输出事件而被阻塞,它会将控制权交回给调度程序,状态转为可被再次调度的就绪状态”。因此,进程因时间片用完被迫挂起时,会转入就绪(Ready)状态,等待下一次分配CPU。

29.文件的保密是指防止文件被( )。

A 篡改 B 破坏 C 窃取 D 删除

答案: C

详细解析: 文件安全涵盖了多个方面:

  • 防止未经授权的读取或复制,通常称为保密性(Confidentiality),针对的是被窃取
  • 防止未经授权的修改,被称为完整性,针对的是被篡改或破坏。
  • 防止数据丢失,涉及的是可用性和可靠性,针对的是被删除或破坏。 因此,“文件的保密”明确对应的是防止未经授权的浏览、访问或被窃取。

30.为了允许不同用户的文件具有相同的文件名,通常在文件系统中采用( )。

(此题与第16题完全一致)A 重名翻译 B 多级目录 C 约定 D 文件名

答案: B

详细解析: 参见第16题解析。通过构建树形的层次化多级目录结构(如/home/userA/file.txt/home/userB/file.txt),可以很好地分离具有同样名称的文件,从根本上解决文件名冲突的问题。

31. 用户程序读取文件第100个逻辑块时,使用操作系统提供( )接口。

A 系统调用 B 图形用户接口 C 原语 D 键盘命令

答案: A

详细解析: 根据参考资料指出:“操作系统向程序员屏蔽了硬件的具体细节,并提供了一个方便的接口供程序员使用……应用程序可以通过系统调用(System calls)接口,使用简单的命令(如read、write、open等)来访问系统提供的服务”。因此,当用户程序需要读取文件的逻辑块时,必须通过操作系统提供的“系统调用(API)”接口来向内核发出读取请求。

32.数据文件存放在到存储介质上时,采用的逻辑组织形式是与( )有关的。

A 文件逻辑结构 B 存储介质特性 C 主存储器管理方式 D 分配外设方式

答案: B

详细解析: 在操作系统中,文件的组织形式分为逻辑结构和物理结构。当数据文件具体“存放到存储介质上”时,讨论的实际上是其物理组织形式(如顺序、链接、索引等)。参考资料在介绍文件组织时特别提到:“顺序文件组织形式(Sequential file)是唯一一种既容易存储在磁带上,又容易存储在磁盘上的形式”。这说明,文件在存储介质上采用何种组织结构,受到具体“存储介质特性”(如磁带仅支持顺序存取,而磁盘支持随机存取)的强烈限制和影响。

33.实时操作系统必须在 ( ) 内处理完来自外部的事件。

A. 响应时间 B. 周转时间 C. 规定时间 D. 调度时间

答案: C

详细解析: 参考资料对实时操作系统的定义是:“实时系统是指其正确性不仅取决于计算的逻辑结果,还取决于产生结果的时间。因此,实时任务通常都有一个相关的截止时间(Deadline)”。对于硬实时任务,必须在“规定的截止时间(规定时间)”内满足要求并完成事件处理;否则将导致不可接受的破坏或致命的系统错误。

34.用户程序向系统提出使用外设的请求方式是()。

A. 作业申请 B. 原语 C. 系统调用 D. I/O指令

答案: C

详细解析: 参考资料指出,I/O指令属于特权指令(Privileged instructions),“特权指令只能由操作系统中的监控程序(内核)执行……如果用户程序希望执行I/O操作,它必须请求监控程序代为执行”。用户程序提出这种请求的标准方式就是通过“系统调用(System call)”。

35.( ) 是一种只能进行P操作和V操作的特殊变量。

A. 同步 B. 互斥 C. 信号量 D. 管程

答案: C

详细解析: 参考资料明确定义:“信号量(Semaphore)是一个用于进程间发送信号的整数值。对信号量只能执行三种操作(且均为原子操作):初始化、递减和递增”。在Dijkstra最初的论文以及大量的文献中,“字母P被用于等待(递减)操作,而字母V被用于发信号(递增)操作”。因此,只能进行P操作和V操作的特殊变量是信号量。

36.以下关于死锁的必要条件的叙述中错误的是 ( ) 。

A. 只要具备了死锁的必要条件,就一定发生死锁现象B. 解决死锁问题可以从死锁的必要条件出发C. 一旦出现死锁现象,处于死锁状态的进程一定同时具备死锁的必要条件D. 死锁的四个必要条件之间不是完全独立的,但也不是等价的

答案: A

详细解析: 死锁产生的四个条件(互斥、占有且等待、非剥夺、循环等待)是死锁发生的“必要条件”。参考资料解释道:“前三个条件是死锁存在的必要条件,但不是充分条件……只有当第四个条件(循环等待)也发生时,这四个条件放在一起才构成了死锁存在的充分必要条件”。更准确地说,即便四个必要条件可能达成,也必须是进程资源请求的具体推进顺序进入了“致命区域(Fatal region)”才会真实触发死锁。因此,“只要具备了死锁的必要条件,就一定发生死锁”的说法是错误的。

37.在 ( ) 中,不可能产生系统抖动现象。

A. 请求页式存储管理 B. 段式存储管理C. 固定式分区存储管理 D. 段页式存储管理

答案: C

详细解析: 系统抖动(Thrashing)是指在虚拟内存系统中,系统花费了大量的时间在内外存之间频繁地进行页面或段的换入换出,而实际执行指令的时间却很少的现象。参考资料指出,抖动问题是由按需调入碎片的“虚拟内存机制”引发的。而“固定式分区存储管理(Fixed Partitioning)”在装入程序时会直接把整个程序装入到一个固定的内存分区中,不涉及运行时程序部分页面的动态置换,所以根本不可能产生页面置换引发的系统抖动现象。

38.下面是关于重定位的有关描述,其中错误的是 ( ) 。

A. 绝对地址是主存空间的地址编号B. 用户程序中使用的从0地址开始的地址编号是逻辑地址C. 动态重定位中装入主存的作业仍保持原来的逻辑地址D. 静态重定位中装人主存的作业仍保持原来的逻辑地址

答案: D

详细解析: 这道题考查程序的地址重定位技术。

  • 静态重定位: 是在程序装入内存时,由装入程序一次性把指令和数据的逻辑地址全部修改为内存中的绝对(物理)地址。因此,装入主存后的作业不再保持原来的逻辑地址。所以选项D错误。(注:此特性属于操作系统的通用外部基础理论)。
  • 动态重定位: 参考资料中提到,“系统提供了虚拟地址(Logical Address)到真实物理地址(Real Address)的动态映射(Dynamic mapping)”。在动态重定位下,程序装入内存时依旧保持原来的逻辑地址,地址转换是在每条指令真正执行时,由硬件(MMU)临时完成的。

39.通过硬件和软件的功能扩充,把原来独占的设备改造成若干用户共享的设备,这种设备称为 ( ) 。

A. 存储设备 B. 系统设备 C. 虚拟设备 D. 用户设备

答案: C

详细解析: (注:此题涉及的SPOOLing概念属于操作系统通用外部知识)。操作系统通过SPOOLing(假脱机)技术,例如在打印机等独占设备前设置磁盘缓冲区,使得多个进程可以同时向磁盘发送打印请求。操作系统对这些请求进行排队和调度,从而在逻辑上把一台独占的物理设备改造成了多台可以同时供多个用户使用的设备。在操作系统术语中,这种被改造后的共享设备称为“虚拟设备(Virtual Device)”。

40.对磁盘而言,输入输出操作的信息传送单位为 ( ) 。

A. 字符 B. 字 C. 块 D. 文件

答案: C

详细解析: 参考资料在对I/O设备分类的讲解中指出:“在数据传输单位(Unit of transfer)方面:数据可以作为字节或字符流进行传输(例如终端I/O),也可以在更大的‘块(Blocks)’中进行传输(例如磁盘I/O)”。此外也明确指出,磁盘和磁带是典型的“面向块的设备(Block-oriented devices)”,信息的存取与传输均是以“块”为单位进行的。

41.进程所请求的一次打印输出结束后,将使进程状态从( )

A、运行态变为就绪态 B、运行态变为等待态C、就绪态变为运行态 D、等待态变为就绪态

答案: D

详细解析: 当进程请求打印机(I/O操作)时,它会被阻塞,进入“阻塞/等待(Blocked)”状态。参考资料指出:“当I/O中断发生时,操作系统会判断对应的I/O操作是否完成,如果已完成,操作系统会将所有等待该事件的阻塞进程移动到就绪态(Ready state)”。因此,I/O操作结束会使进程从等待态转变为就绪态。

42.( )不是基本的操作系统。

A、批处理操作系统 B、分时操作系统 C、实时操作系统 D、网络操作系统

答案: D

详细解析: 在操作系统的发展历程中,最具代表性、也是最基本的三大操作系统类型是:批处理操作系统(Batch Systems)、分时操作系统(Time-sharing Systems)和实时操作系统(Real-time Systems)。网络操作系统是在这三大基本操作系统的基础上,随着计算机网络技术的发展而衍生出来的现代操作系统形式,不属于传统意义上的“基本操作系统”。

43.( )不是分时系统的基本特征:

A、同时性 B、独立性 C、实时性 D、交互性

答案: C

详细解析: 分时操作系统(Time-sharing system)的核心目标是优化响应时间,它具有多路性(同时性)、独立性、及时性和交互性(Interactive)四大特征。而“实时性”要求系统在严苛的“规定时间(Deadline)”内对外部事件做出响应,这是“实时操作系统(Real-time OS)”的典型特征,并非分时系统的特征。

44.采用动态重定位方式装入的作业,在执行中允许( )将其移动。

A、用户有条件地 B、用户无条件地C、操作系统有条件地 D、操作系统无条件地

答案: C

详细解析: 在使用动态重定位(以及动态分区)时,操作系统可以通过一种称为“内存紧凑(Compaction)”的技术来移动内存中的进程,以消除外部碎片。这种移动是对用户透明的(不由用户控制)。但操作系统进行移动也需要满足一定的“条件”,例如参考资料提到的“如果进程正在被锁定在主存中(temporarily locked into main memory)用于某些I/O交互”,则系统暂时无法将其移动或换出。因此是“操作系统有条件地”允许将其移动。

45.分页式存储管理中,地址转换工作是由( )完成的。

A、硬件 B、地址转换程序 C、用户程序 D、装入程序

答案: A

详细解析: 在虚拟内存与分页式存储管理中,由于每次内存访问都需要进行虚拟地址到物理地址的转换(Logical-to-Physical translation),为了保证执行效率,这种地址映射“必须是由特殊的硬件机制(Special hardware)来实现的”。具体硬件部件通常被称为内存管理单元(MMU)。

46.如果允许不同用户的文件可以具有相同的文件名,通常采用( )来保证按名存取的安全。

A、重名翻译机构 B、建立索引表 C、建立指针 D、多级目录结构

答案: D

详细解析: (此题与上一批的Q16及Q30重复)。参考资料中指出,通过构建多级目录结构(如树形目录),不仅可以依据所有者、应用程序等清晰地分离文件,“这也避免了名称冲突(name clashes)的问题”。因此多级目录结构允许不同用户的目录下具有同名文件而不会引发混淆。

47.对记录式文件,操作系统为用户存取文件信息的最小单位是( )。

A、字符 B、数据项 C、记录 D、文件

答案: C

详细解析: 参考资料在文件管理的定义中说明:“记录(Record)是一组相关字段的集合,能够被应用程序视为一个单一的单元(treated as a unit by some application program)。而文件是相似记录的集合”。因此,对于逻辑上具有结构的“记录式文件”,操作系统为应用层提供的存取、处理最小逻辑单元即是“记录”。

48.为了提高设备分配的灵活性,用户申请设备时应指定( )号。

A、设备类相对 B、设备类绝对 C、相对 D、绝对

答案: A

详细解析: (注:此题涉及的是操作系统中的设备独立性原理)。为了保证设备独立性(Device Independence)与设备分配的灵活性,用户在编程申请外设时,不应该指定某台具体的物理设备(绝对号),而应当指定需要哪一种类型的设备(如“打印机类”)以及在该类设备中的“相对号”(如要求第一台打印机)。由操作系统负责把该“设备类相对号”映射到系统中当前可用的物理设备的绝对号上。

49.一作业进入内存后,则所属该作业的进程初始时处于( )状态。

A、运行 B、等待 C、就绪 D、收容

答案: C

详细解析: 参考资料对进程状态的描述为:“新建态(New)是指刚刚被创建但尚未被操作系统接纳进入可执行进程池的进程。就绪态(Ready)是指已经准备好,只要得到机会就可以立即执行的进程”。当一个作业被完全接纳并装入内存中(即脱离了新建态/后备状态)时,它的初始活动状态是“就绪(Ready)”状态。

50.共享变量是指( )访问的变量。

A、只能被系统进程 B、只能被多个进程互斥 C、只能被用户进程 D、可被多个进程

答案: B

详细解析: 参考资料在讨论并发控制时指出:“我们必须保护共享的全局变量(shared global variables)……我们必须施加一种纪律,即同一时刻只允许一个进程进入该过程去访问共享变量”。也就是说,对于会被多个并发进程使用的共享变量(也称为临界资源),它们必须受到控制,即“只能被多个进程互斥地访问”,以避免竞态条件和数据不一致。

51. 批处理系统的主要缺点是( )。

A.CPU的利用率不高 B.失去了交互性 C.不具备并行性 D.以上都不是

答案: B

详细解析: 参考资料指出,为了最大化处理器利用率,开发出了简单的批处理操作系统(Simple Batch Systems)。在此类系统中,“用户不再对处理器拥有直接访问权限”,而是由操作员将作业分批次送入系统顺序执行。因为作业一旦提交便脱离了用户控制并自动连续处理,使得用户无法在程序运行过程中与之交互,这是它最大的缺点(失去交互性)。

52. 树型目录结构的第一级称为目录树的( )。

A.分支节点 B.根节点 C.叶节点 D.终节点

答案: B

详细解析: (注:这属于操作系统文件系统基础概念,且与下文的第60题重复)。在树型目录结构中,所有目录和文件都挂载在一个唯一的最高层级上。这第一级的起始目录在数据结构上被称为树的“根节点(Root directory / Root node)”,例如在UNIX/Linux系统中就是根目录 /

53. 虚拟内存的容量只受( )的限制。

A.物理内存的大小 B.磁盘空间的大小C.数据存放的实际地址 D.计算机地址位数

答案: D

详细解析: 虚拟内存(Virtual memory)允许程序从逻辑的角度寻址内存,而不需要关心物理内存的实际大小。理论上,程序能够生成的最大虚拟地址空间,严格取决于处理器体系结构所提供的逻辑地址总线的宽度(即“计算机地址位数”)。例如32位处理器寻址能力上限为 232=4GB2^{32} = 4GB。虽然它也受外部磁盘容量的实际制约,但在定义上,其最大逻辑容量“仅受限于计算机架构的地址位数”。

54.通道是一种( )。

A.I/O端口 B.数据通道 C.I/O专用处理机 D.软件工具

答案: C

详细解析: 参考资料追溯了I/O功能的演进过程,指出随着技术的发展,“I/O模块被增强成为一个独立的处理器(a separate processor),拥有针对I/O定制的专门指令集”。“这种能够独立获取并执行I/O指令、具有自己指令集并控制外设的I/O模块通常被称作I/O通道(I/O channel)或I/O处理器(I/O processor)”。

55. 缓冲技术用于( )。

A 提高主机和设备交换信息的速度 B 提供主、辅存接口C 提高设备利用率 D 扩充相对地址空间

答案: C

详细解析: 参考资料在I/O缓存(I/O Buffering)部分指出,缓冲(如磁盘缓存)能显著提升系统性能:“通过使用缓冲池,系统可以合并大量的磁盘读写操作(使得CPU不用长时间阻塞),使得慢速设备保持持续运转”。更准确地说,缓冲技术并没有真正改变硬件本身的传输速度(A不准确),它的根本作用是缓解CPU和I/O设备间的速度不匹配,实现两者的并行工作,从而“提高设备和CPU的利用率”。在标准OS理论中,此题通常最优选为C。

56. 采用SPOOLing技术的目的是( )。

A.提高独占设备的利用率 B.提高主机效率C.减轻用户编程负担 D.提高程序的运行速度

答案: A

详细解析: (注:此部分内容为操作系统经典外围知识)。SPOOLing(Simultaneous Peripheral Operations On-Line,假脱机技术)的核心目的就是将原本只能由一个进程占用的“独占设备”(例如打印机)改造成可以通过输入输出井进行逻辑排队的“共享设备(虚拟设备)”。这避免了进程因长时间等待独占设备而阻塞,极大地提高了“独占设备的利用率”。

57.在UNIX 系统中对空闲磁盘空间管理的方法是( )。

A 位示图 B 空闲空间链 C 成组链接法 D 空闲表

答案: C

详细解析: (根据操作系统通用理论补充):在经典的文件系统实现中,UNIX System V系统采用的空闲磁盘块管理方法是“成组链接法(Grouped Link Method)”。这是一种将“空闲空间链”和“空闲表”两种机制综合起来的方法,它把磁盘上每100个空闲块分为一组,极大减少了存取文件时的频繁磁盘寻道操作,提升了分配和回收速度。

58.实现虚拟存储器最关键的技术是( )。

A 内存分配 B 置换算法 C 请求调页(段) D 对换空间管理

答案: C

详细解析: 虚拟存储器的核心思想是不必在程序运行前将其全部加载入内存。参考资料表明:“如果处理器遇到一个不再主存中的虚拟地址引用(内存缺页),操作系统必须从副存储器(磁盘)将包含该引用的页面或段‘调入(bring in)’主存”。这种在运行过程中,一旦缺页就向系统发出请求从而将数据拉入内存的机制即为“请求调页(Demand Paging)或请求调段技术”,它是实现虚拟内存最核心和基础的机制。置换算法等则是其优化手段。

59. 如果文件系统中有两个文件重名,不应采用( )。

A.一级目录结构 B.树型目录结构 C.二级目录结构 D. A和C

答案: A

详细解析: 这道题与目录的文件命名隔离能力有关。 在一级目录结构(Single-level directory)中,整个文件系统只维护一张包含系统中所有文件的总表。这意味着系统中所有的文件都必须拥有绝对独特的名字,完全不允许产生任何形式的重名现象(不论是否是同一用户)。而二级目录或树型结构(Tree-structured directory)通过为不同用户分配不同的文件夹或允许建立子文件夹,隔离了命名空间,“有效地避免了名称冲突问题”。因此,若要允许重名,绝对不能采用一级目录结构。

60. 树型目录结构的第一级称为目录树的( )。

A.分支节点 B.根节点 C.叶节点 D.终节点

答案: B

详细解析: (此题与第52题完全一致)。根据参考资料,对文件系统树的遍历从文件系统的最高层级也就是起点开始,这个统领所有子目录与文件的第一级节点被称为“根节点(Root directory)”。

61.在配置多道批处理操作系统的计算机系统中(   )

A.用户可联机、调试自己的程序 B.允许用户直接干预作业的执行C.能对外部事件实时响应 D.允许多个作业同时使用不同的外围设备

答案: D

详细解析: 多道批处理系统(Multiprogrammed Batch Systems)的核心设计目标是提高系统资源的利用率和系统吞吐量

  • 在该系统中,用户将作业提交给操作员或系统后,作业便脱离了用户的直接控制,由系统自动调度执行。因此,用户无法联机调试自己的程序(排除A),也不允许直接干预作业的执行(排除B)。
  • 对外部事件的实时响应是“实时操作系统(Real-time OS)”的特征,批处理系统无法做到实时响应(排除C)。
  • 引入“多道(Multiprogramming)”技术的目的,正是为了让多个作业同时驻留在内存中,并交替使用CPU和并发使用不同的外围I/O设备,从而避免CPU等待慢速I/O设备而处于空闲状态。因此D是正确答案。

62.UNIX操作系统是一个(   )

A.交互式分时操作系统 B.多道批处理操作系统 C.实时操作系统 D.分布式操作系统

答案: A

详细解析: 根据操作系统的分类,UNIX 操作系统最初被设计并广泛应用于提供多用户、多任务的交互式环境。参考资料也明确指出:“传统的 UNIX 调度器主要针对分时交互式环境(time-sharing interactive environment)设计,旨在为交互式用户提供良好的响应时间”,且“UNIX是一个多用户操作系统(multiuser operating system)”。因此,UNIX 的经典定义是一个典型的交互式分时操作系统

63.若操作系统管理的某用户程序当前正占有中央处理器,该用户程序欲读磁盘上的文件信息,那么用户程序中相应的指令应该是(   )

A.启动I/O指令 B.等待I/O指令 C.转移指令 D.访管指令

答案: D

详细解析: 在现代操作系统中,由于安全和资源保护的需要,直接操作硬件设备的指令(如启动I/O指令)属于特权指令,只能由操作系统在内核态(管态)下执行,严禁用户程序直接调用。 当运行在用户态(目态)的用户程序需要读取磁盘文件等系统服务时,必须通过执行一种特殊的指令——访管指令(Supervisor Call,或称为陷入指令/Trap、系统调用指令/System Call)来主动触发中断,将处理器的状态从用户态切换到内核态,请求操作系统代为执行I/O操作。

64.当一次系统调用功能完成后,中央处理器的工作状态应(   )

A.保持管态 B.保持目态 C.从管态转换成目态 D.从目态转换成管态

答案: C

详细解析: 处理器的状态通常分为用户态(目态/User Mode)和内核态(管态/System Mode 或 Kernel Mode)。 当用户程序发起系统调用时,CPU 会从目态切换到管态,以便操作系统内核执行特权指令完成相应的服务。参考资料指出:“当用户调用操作系统服务时……模式被设置为内核态(管态);而从服务返回到用户进程时,模式被设置为用户态(目态)”。因此,当系统调用功能完成,要把控制权交还给用户程序时,CPU 的工作状态必须从管态转换成目态

65.分布式操作系统的特点是(   )

A.资源共享 B.资源地理位置分散 C.资源位置透明 D.多个用户的程序并行运行

答案: C

详细解析: 虽然分布式系统确实具有资源共享、地理位置分散以及多程序并发等特征(计算机网络也具备这些特征),但分布式操作系统(Distributed Operating System)最核心和独有的设计特点是“透明性(Transparency)”。 参考资料指出:“分布式操作系统为用户提供了一个单一主存空间和单一辅助存储空间的假象(illusion of a single system),以及其他统一的访问设施”。这意味着用户和应用程序在访问网络上的资源时,无需关心资源具体位于哪一台物理机器上,就像访问本地资源一样。这就是资源位置透明

66.引入进程的原因是(   )

A.提高资源的利用率和控制程序的执行B.提高资源的利用率和正确描述程序的执行情况C.提高程序的执行速度和控制程序的执行D.提高程序的执行速度和正确描述程序的执行情况

答案: B

详细解析: 在引入多道程序设计后,多个程序在内存中并发执行,这极大地提高了系统资源的利用率(如CPU和I/O设备的重叠使用)。 然而,并发执行带来了程序执行速度不可预测、资源竞争以及相互制约等复杂问题。静态的“程序”概念已经无法反映这种动态的、走走停停的执行上下文。参考资料指出:“为了解决这些问题,我们需要一种系统化的方法来监控和控制这些程序……进程的概念提供了这一基础”。引入“进程”就是为了正确地描述和记录程序在并发环境下的动态执行情况(如保存寄存器上下文、程序计数器、状态等)。因此,引入进程的原因是提高资源利用率并正确描述程序的执行情况。

67.进程有三种基本状态,可能的状态转换是(   )

A.就绪态到运行态、等待态到就绪态、运行态到等待态B.就绪态到运行态、就绪态到等待态、等待态到运行态C.就绪态到运行态、等待态到就绪态、等待态到运行态D.运行态到就绪态、就绪态到等待态、等待态到运行态

答案: A

详细解析: 进程的三种基本状态是:运行态(Running)、就绪态(Ready)和等待态(Blocked / 等待 / 阻塞)。根据参考资料中的进程状态转换模型,合法的状态转换包括:

  1. 就绪态 \rightarrow 运行态:调度程序(Dispatcher)选择一个就绪进程分配CPU。
  2. 运行态 \rightarrow 就绪态:进程的时间片用完,或被高优先级进程抢占。
  3. 运行态 \rightarrow 等待态:进程因请求I/O操作或等待某个事件而主动阻塞自己。
  4. 等待态 \rightarrow 就绪态:进程等待的事件发生(如I/O完成),被唤醒进入就绪队列。 选项A完全符合上述合法的转换关系。选项B、C、D中包含了非法的转换(如“就绪态到等待态”是不可能的,因为只有正在运行的进程才能主动请求阻塞;“等待态到运行态”也是不可能的,必须先转入就绪态等待调度)。

68.系统有某类资源5个,供3个进程共享,为保证系统的安全,应限定每个进程申请的资源数不超过(   )

A.1个 B.2个 C.3个 D.4个

答案: B

详细解析: 这道题考查的是死锁的预防与避免。我们可以使用极端的最坏情况(每个进程都拿到了它所需要的资源数减1,并且都在请求最后1个资源)来分析。 设系统有 MM 个资源(M=5M=5),有 PP 个进程(P=3P=3),限定每个进程最多申请 NN 个资源。 发生死锁的极端情况是:3个进程每个都获取了 N1N-1 个资源,且系统再也没有剩余资源可以分配。即已分配资源总数 3×(N1)53 \times (N-1) \ge 5。 要保证系统绝对安全(不会发生死锁),必须让系统在最坏分配情况下至少还剩下 1个 资源,以保证至少有一个进程能拿到所有资源并执行完毕释放资源。 因此,安全条件为:P×(N1)+1MP \times (N - 1) + 1 \le M。 代入数据:3×(N1)+153 \times (N - 1) + 1 \le 53N34    3N7    N2.333N - 3 \le 4 \implies 3N \le 7 \implies N \le 2.33。 由于申请的资源数必须是整数,所以 NN 的最大值为 2。 (验证:如果限定每人最多申请2个,最坏情况3个进程各占1个,共耗用3个资源,系统还剩2个,任意进程均可再申请1个满足需求,不会死锁;若限定申请3个,最坏情况其中两个进程各占2个,一个占1个,共耗用5个资源,此时它们都还需资源,从而死锁。)

69. 在指令系统中只能由操作系统使用的指令称为(   )。

A系统指令 B设备指令 C非特权指令 D特权指令

答案: D

详细解析: 计算机指令系统将指令分为两类以支持双重模式(目态和管态)操作以保护系统安全。 参考资料明确指出:“特权指令(Privileged instructions):某些机器级指令被指定为特权指令,只能由监控程序(操作系统/monitor)执行。如果处理器在执行用户程序时遇到此类指令,就会发生错误并将控制权转移给操作系统”。这些指令通常涉及I/O操作、内存管理、寄存器状态修改等核心功能。

70. 操作系统的基本类型主要有(   )。

A批处理系统、分时系统和多任务系统B单用户系统、多用户系统和批处理系统C批处理系统、分时系统和实时系统D实时系统、分时系统和多用户系统

答案: C

详细解析: 从操作系统的发展历史和分类来看,最具代表性且被广泛认同的三大基本操作系统类型是:

  1. 批处理系统(Batch Systems):如多道批处理系统,旨在最大化吞吐量和资源利用率。
  2. 分时系统(Time-Sharing Systems):允许多个交互式用户同时通过终端共享处理器时间,旨在最小化响应时间。
  3. 实时系统(Real-Time Systems):需要在严苛的截止时间内对外部事件做出确定性响应,如事务处理系统和工业控制系统。 其他的如多任务系统、多用户系统、分布式系统等,均是在这三大基本类型基础上衍生或复合而来的概念。
書體

本站所載,間有由 AI 所生成者。其辭義真偽,請君自審之。