判断题
1.文件系统中分配存储空间的基本单位不是记录。
答案: 正确 (True)
- 概念核对: 文件系统的物理分配与逻辑组织。
- 原理解析: 从用户的逻辑视角来看,文件可以是由“记录”组成的。但是,当文件系统将数据真正存入磁盘时,它是以“物理块(Block)”为基本分配和传输单位的。磁盘是典型的面向块的设备(Block-oriented device),数据传输总是以块为单位进行,而不是以逻辑记录为单位。
- 常见易错点: 很多学生会混淆“逻辑视图”和“物理视图”。记录是讲给程序员听的逻辑单位,而物理块是讲给磁盘和操作系统听的物理分配单位。
2.具有多道功能的操作系统一定是多用户操作系统。
答案: 错误 (False)
- 概念核对: 多道程序设计 (Multiprogramming) 与 多用户 (Multi-user) 的区别。
- 原理解析: 多道程序设计指的是在内存中同时驻留多个进程,让它们交替使用CPU以提高资源利用率。这仅仅是一种“运行机制”。一个系统完全可以是单用户的但具备多道功能(例如,一个用户在个人电脑上一边听音乐,一边下载文件,一边写文档)。参考资料也明确指出,多道程序设计是现代操作系统的中心主题,但并未强制绑定必须有多个用户终端。
- 常见易错点: 把“多任务(多个进程同时跑)”和“多用户(多个账号同时登录)”画等号。
3.虚拟存储器是由操作系统提供的一个假想的特大存储器,它并不是实际的内存,其大小可比内存空间大得多。
答案: 正确 (True)
- 概念核对: 虚拟内存 (Virtual Memory) 的定义。
- 原理解析: 虚拟内存是一种存储分配方案,它允许辅存(如磁盘)被当作主存来寻址。程序员感觉到自己拥有一个极其庞大的内存空间(其大小受限于计算机的地址位数和磁盘容量,而不是实际物理内存的大小)。操作系统和硬件通过动态地址转换和缺页中断机制,在这个假想的存储器和真实的物理内存之间玩了“移花接木”的魔术。
- 常见易错点: 误以为插在主板上的内存条才是虚拟内存。虚拟内存本质上是“磁盘空间+地址映射机制”营造的幻觉。
4.批处理系统的主要优点是系统的吞吐量大、资源利用率高、系统的开销较小。
答案: 正确 (True)
- 概念核对: 批处理系统 (Batch Systems) 的设计目标。
- 原理解析: 简单批处理系统和多道批处理系统的核心目标,就是为了最大限度地提高处理器的利用率和系统吞吐量。通过让作业无缝衔接运行,消除了人类交互带来的缓慢等待时间。因为不需要频繁处理交互式中断,其调度和进程切换开销相对时间分时系统来说确实较小。
- 常见易错点: 将批处理系统与分时系统(强调响应时间和交互性)的优缺点弄反。
5.文件系统中源程序是有结构的记录式文件。
答案: 错误 (False)
- 概念核对: 文件的逻辑结构:流式文件 vs. 记录式文件。
- 原理解析: 源程序(如C语言、Python代码)本质上是一连串无格式的字符或字节流(Stream of bytes),系统并不关心其内部的逻辑界限。因此,源程序属于“无结构文件(流式文件)”。而有结构的“记录式文件”通常是由一组结构相似的记录(包含特定字段)组成,常见于数据库文件。
- 常见易错点: 以为代码有“缩进、行号”就是系统眼中的“有结构”。在OS眼里,只要不是固定字段组成的记录,统统视为无结构的字节流。
6.在多道程序环境下,普通用户也能设计用内存物理地址直接访问内存的程序。
答案: 错误 (False)
- 概念核对: 逻辑地址与物理地址、内存保护。
- 原理解析: 在多道程序系统中,程序会被动态加载甚至换入换出,程序员无法提前知道程序会被放在哪个物理地址。因此,用户程序只能使用“逻辑地址(虚拟地址)”。硬件的内存管理单元(MMU)会在运行时将逻辑地址翻译为物理地址。如果允许用户直接操作物理地址,就彻底破坏了操作系统的“内存保护(Protection)”机制,恶意程序可以轻易篡改操作系统或其他用户的内存数据。
- 常见易错点: 以为C语言中的指针拿到的就是真实的物理引脚地址。其实指针里存的依然是逻辑地址。
7.顺序文件适合建立在顺序存储设备上,而不适合建立在磁盘上。
答案: 错误 (False)
- 概念核对: 文件物理结构与存储介质特性的匹配。
- 原理解析: (注:此解析结合了给定的参考资料以及操作系统的通用外部补充知识进行讲解)顺序存储设备(如磁带)确实只能建立顺序文件;但是,磁盘作为一种支持随机存取的直接存储设备,它同样可以用来建立顺序文件,并且存取速度远快于磁带。只是说磁盘还能支持更高级的索引文件而已。
- 常见易错点: 认为“高级设备不能兼容低级文件组织”。实际上磁盘能够完美兼容顺序读写。
8.SPOOLing系统实现设备管理的虚拟技术,即:将独占设备改造为共享设备。它由专门负责I/O的常驻内存进程以及输入、输出井组成。
答案: 正确 (True)
- 概念核对: 假脱机技术 (SPOOLing)。
- 原理解析: SPOOLing的核心功能正是利用高速大容量的磁盘,在上面开辟出输入井和输出井。当用户进程想使用独占设备(比如打印机)时,它实际上只是把数据发送到了磁盘的输出井中。后台的常驻守护进程会负责排队并将这些数据真正发送到物理设备。这样,所有进程都不会因为等待独占设备而阻塞,独占设备在逻辑上被改造为了虚拟的共享设备。
- 常见易错点: 误以为输入/输出井是开辟在内存(RAM)中的。它们必须在磁盘上,以便提供巨大缓冲。
9.系统调用是操作系统与外界程序之间的接口,它属于核心程序。在层次结构设计中,它最靠近硬件。
答案: 错误 (False)
- 概念核对: 系统调用 (System Call) 与 OS 层次结构。
- 原理解析: 系统调用确实是应用程序请求OS服务的接口。但是,在层次结构设计中,系统调用接口位于操作系统的最外层(紧贴着用户程序),而不是最靠近硬件!最靠近硬件的应该是硬件控制层(如硬件抽象层HAL、设备驱动程序、中断处理程序等)。
- 常见易错点: 觉得系统调用权限大,就一定放在底层。实际上它是高层的API,用于屏蔽底层的复杂性。
10.若系统中存在一个循环等待的进程集合,则必定会死锁。
答案: 错误 (False)
- 概念核对: 死锁的四个必要条件 (Necessary conditions for Deadlock)。
- 原理解析: 产生死锁有四个条件:互斥、请求和保持、不剥夺、循环等待。这四个条件是死锁的必要条件。(注:结合通用OS知识补充:只有当每种资源都只有一个实例时,循环等待才是死锁的充分条件。如果某种资源有多个实例,即使出现了循环等待环路,环路外的某个进程依然可能释放资源从而打破僵局,此时并不会死锁)。
- 常见易错点: 将必要条件当成了充分条件。
11.并发性是指若干事件在同一时刻发生。
答案: 错误 (False)
- 概念核对: 并发 (Concurrency) vs. 并行 (Parallelism)。
- 原理解析: 在计算机科学中,“并发”是指在宏观的同一个时间段(时间间隔)内有多个程序交替推进,它们是在同一实体上通过时分复用(走走停停)实现的。“在同一时刻(微观上的同时)发生”的物理概念叫做“并行(Parallelism)”,这通常需要多处理器(Multiprocessor)或多核支持。
- 常见易错点: 日常生活中这两个词通用,但在OS学科中它们界限森严。
12.虚存容量的扩大是以牺牲CPU工作时间以及内、外存交换时间为代价的。
答案: 正确 (True)
- 概念核对: 虚拟内存的性能开销。
- 原理解析: 虚拟内存通过将程序切分为页或段并在主存和磁盘之间动态换入换出,从而扩大了逻辑上的内存容量。然而,这个魔术的代价是:一旦发生缺页(Page fault),系统必须挂起进程,执行磁盘I/O(内外存交换),并且操作系统必须花费CPU时间来执行复杂的页置换算法、更新页表和处理中断。如果管理不当,甚至会导致抖动(Thrashing)使得CPU利用率暴跌。
- 常见易错点: 认为虚拟内存是“免费的午餐”。一切虚拟化都是以时间换空间。
13.用户为每个自己的进程创建PCB,并控制进程的执行过程。
答案: 错误 (False)
- 概念核对: 进程控制块 (Process Control Block, PCB) 的管理权限。
- 原理解析: PCB包含了处理器寄存器、优先级、内存指针等极度核心的信息。它由操作系统负责创建和专门管理,以防止用户程序互相干扰。用户程序无权直接操作PCB,也不能直接控制进程的底层调度与执行过程,这些都属于操作系统的特权功能(在内核态执行)。
- 常见易错点: 以为“自己的进程”就可以自己控制。在OS的“家长”模式下,用户只是提交任务,一切管理权归OS。
14.树型目录结构能够解决文件重名问题。
答案: 正确 (True)
- 概念核对: 目录结构的隔离性。
- 原理解析: 单级目录所有文件挤在一起,非常容易重名。而树型目录允许不同的用户或项目创建自己的子目录(分支),不同子目录下的文件即使名字相同,其完整的绝对路径(Pathname)也是独一无二的。这种层次结构不仅便于分离管理,也彻底避免了文件名冲突(Name clashes)的问题。
- 常见易错点: 对文件系统的基础认识不足,可能会误以为系统强行要求所有磁盘文件不能重名。
15.原语是一种不可分割的操作。
答案: 正确 (True)
- 概念核对: 原语 (Atomic Operation) 的定义。
- 原理解析: 原语(原子操作)是指由一个或多个指令组成的函数或动作,在执行过程中表现为“不可分割(indivisible)”。即它要么全做,要么全不做,且在执行过程中绝对不会被硬件中断或其它进程打断,这保证了并发环境下的隔离性。
- 常见易错点: 误以为原语只是某种基础函数。它的灵魂在于它的不可中断性。
16.通道一旦被启动就能独立于CPU运行,这样可使CPU和通道并行操作。
答案: 正确 (True)
- 概念核对: I/O 通道 (I/O Channel) 的工作原理。
- 原理解析: I/O通道(或I/O处理器)本质上是一台专门负责I/O的“小电脑”。CPU只需要向通道发出一组I/O程序的起始地址,然后就可以去执行其他进程了。通道会自动从内存中取出指令并控制外设执行,直到整个复杂的I/O任务全部完成后,才向CPU发出一次中断。这极大释放了CPU,实现了真正的CPU与I/O并行。
- 常见易错点: 低估了通道的自主性,认为仍需CPU循环介入。
17.页式的地址是一维的,段式的地址是二维的
答案: 正确 (True)
- 概念核对: 分页与分段的逻辑地址结构差异。
- 原理解析: 对于分页:分页是由硬件自动完成的,对程序员透明。程序员写代码时使用的是一个单一的、线性的连续地址(一维)。硬件MMU会自动把这个一维地址截断成“页号”和“页内偏移”。 对于分段:分段是程序员可见的。程序员(或编译器)必须显式地指出模块(段)和偏移量,即地址形式为
(段名/段号, 段内偏移)。因为它保留了程序的逻辑结构,因此逻辑上被称为二维地址。 - 常见易错点: 因为两者的物理翻译机制都有“号+偏移”,就误以为两者对程序员来说都是二维的。
18.位示图方法可用于磁盘的调度管理。
答案: 错误 (False)
- 概念核对: 位示图 (Bit map) 的用途。
- 原理解析: (注:此解析结合了给定的参考资料以及操作系统的通用外部补充知识进行讲解)位示图是一种利用二进制位(0或1)来表示资源使用情况的数据结构,主要用于磁盘空闲存储空间的分配与管理(记录哪个块被用了,哪个块是空的)。而磁盘的调度管理(Disk Scheduling)指的是决定磁头移动顺序以优化寻道时间的算法(如FCFS、SSTF、SCAN等)。两者概念风马牛不相及。
- 常见易错点: 看到“磁盘”和“管理”就觉得是对的。
19.虚拟设备是指把一个物理设备变换成多个对应的逻辑设备,它通过逻辑设备表来实现的。
答案: 错误 (False)
- 概念核对: 虚拟设备 (Virtual Device) 与 设备独立性 (Device Independence)。
- 原理解析: 命题的前半句描述的是虚拟设备(即通过SPOOLing技术,将一个物理打印机变为了多个逻辑打印机,让每个进程感觉自己独占设备)。但是,这并非通过“逻辑设备表(LUT)”实现的。SPOOLing依靠的是大容量的辅助存储器(磁盘井)和多道程序设计来截获缓冲;而“逻辑设备表”主要是用来实现“设备独立性”(让代码中的逻辑设备名映射到当前系统插着的物理设备驱动上)。两者机制被张冠李戴了。
- 常见易错点: 将操作系统中的不同映射机制弄混。
20.页式管理易于实现不同进程间的信息共享。
答案: 错误 (False)
- 概念核对: 分段与分页在共享和保护上的优劣。
- 原理解析: 页是物理单位,大小固定,一页里面可能前半截是代码,后半截是私有数据。如果把这页共享出去,就会把不该共享的数据也暴露了。相反,分段管理(Segmentation)按照程序的逻辑结构(如某个完整的函数、某个数组)进行切分。因为段具有完整的逻辑意义,所以段式管理才易于实现进程间的信息共享与保护。
- 常见易错点: 以为分页是最现代的技术,就在任何指标上都优于分段。
21.在虚拟存储方式下,程序员编制程序时不必考虑主存的容量,但系统的吞吐量在很大程度上依赖于主存储器的容量;
答案: 正确 (True)
- 概念核对: 虚拟内存的编程透明性及其物理瓶颈。
- 原理解析: 虚拟内存给程序员提供了一个比实际物理内存大得多的地址空间(哪怕只有2GB内存,也能跑4GB的程序)。因此编程时不必考虑物理内存限制。但如果在多道程序下物理内存太小,进程被分配的页框不足,就会引发极高的缺页中断率,导致CPU大量时间浪费在等磁盘I/O上(即系统“抖动” Thrashing),吞吐量会急剧下降。
- 常见易错点: 认为虚拟内存完全摆脱了对物理硬件的依赖。
22.可重定位分区管理可以对作业分配不连续的内存单元;
答案: 错误 (False)
- 概念核对: 分区管理 (Partitioning) 与 连续分配。
- 原理解析: “可重定位分区管理(通过紧凑/Compaction技术解决碎片)”依然属于连续分配方式。它要求一个作业在内存中必须占有一整块连续的区域。紧凑技术只是把作业搬来搬去,但在任意时刻,作业在内存里依然是紧挨着的。只有“分页”或“分段”技术才能实现真正的非连续分配。
- 常见易错点: 把动态重定位中的“可移动性”与“非连续分配”混淆。
23.采用动态重定位技术的系统,目标程序可以不经任何改动,而装入物理内存;
答案: 正确 (True)
- 概念核对: 动态重定位 (Dynamic Relocation)。
- 原理解析: 采用动态重定位时,程序装入内存的过程不需要修改二进制代码中的逻辑地址。一切地址翻译工作都被推迟到了指令真正执行的那一瞬间。此时,处理器硬件(MMU)会自动将指令中的相对地址加上基址寄存器中的值,实时生成绝对物理地址。正因如此,目标程序自身不经任何改动即可执行,且可以随时在内存中搬家。
- 常见易错点: 分不清静态重定位(装入时必须修改程序内部地址)和动态重定位。
24.页式存储管理中,一个作业可以占用不连续的内存空间,而段式存储管理,一个作业则是占用连续的内存空间。
答案: 错误 (False)
- 概念核对: 分段技术的非连续性。
- 原理解析: 在段式存储管理中,一个段内部是连续的,但是同一个作业的不同段是无需连续存放的(它们可以散落在内存的各个不同分区里)。无论是页式还是段式管理,它们相比于老式的分区管理,最大的突破就在于允许一个进程被打散并存放在非连续的内存空间中。
- 常见易错点: 误以为只有分页能打散,分段就必须整块连续。
25.线程是最小的拥有资源的单位。
答案: 错误 (False)
- 概念核对: 进程与线程的职能划分。
- 原理解析: 传统的操作系统设计中,进程(Process)是资源分配和保护的最小单位(它拥有自己独立的虚拟地址空间、文件句柄等);而线程(Thread)是CPU调度和执行的最小单位。同一个进程内的所有线程都共享该进程拥有的资源,线程自身基本不拥有独立的系统资源(除了一点必不可少的栈和寄存器上下文)。
- 常见易错点: 概念颠倒。记住:进程管“家产(资源)”,线程管“干活(执行)”。
26.文件系统最基本的功能是实现按名存取。
答案: 正确 (True)
- 概念核对: 文件系统抽象。
- 原理解析: 文件是对磁盘数据的逻辑抽象,用户只需要给文件起个“名字”即可。文件系统的核心机制就是维护“文件名”到“物理磁盘块位置”的映射目录。因此,将复杂的物理块寻址隐藏起来,向用户提供“按名存取”的服务,是文件系统最根本的功能和存在意义。
- 常见易错点: 纠结于读写权限或缓存优化,这些都是附加的高级功能。
27.存取控制表是每个用户一张,表明该用户对不同文件的存取权限。
答案: 错误 (False)
- 概念核对: 访问控制列表 (Access Control List, ACL)。
- 原理解析: (注:此解析结合了给定的参考资料以及操作系统的通用外部补充知识进行讲解)存取控制表(ACL)通常是每个文件(或客体)一张,表中列出了系统里哪些用户对“该特定文件”拥有哪些权限。与之相对的,按用户来维护的叫做“能力表”(Capability List),它才是给每个用户发一张清单,上面列出了该用户能访问哪些文件。
- 常见易错点: 弄混了访问矩阵的行和列。ACL是“挂在门上的名单”,能力表是“揣在身上的钥匙串”。
28.SPOOLing技术可以解决进程使用设备死锁问题。
答案: 正确 (True)
- 概念核对: 死锁预防机制与SPOOLing。
- 原理解析: 发生死锁的一个重要原因是进程申请了独占性设备,如果不放手又去申请别的资源,就容易满足“请求和保持”条件。SPOOLing技术将打印机这种独占设备改造成了虚拟的共享设备。进程不再直接去独占物理设备,而是迅速将数据写入到磁盘缓存井中然后立刻返回。这就彻底消除了进程由于争夺此类独占设备而长期阻塞的现象,从而从根本上预防了该环节的死锁。
- 常见易错点: 认为SPOOLing只是用来提高打印速度的。在系统层面上,它也是死锁防范的利器。
29.对于一个具有三级索引表的文件,存取一个记录需要访问三次磁盘。
答案: 错误 (False)
- 概念核对: 多级索引(如UNIX inode)的访存次数。
- 原理解析: (注:此解析结合了给定的参考资料以及操作系统的通用外部补充知识进行讲解)如果文件采用三级(间接)索引,要拿到最终的数据块,一共需要访问四次磁盘:第一次读取一级索引表所在块,第二次读取二级索引表所在块,第三次读取三级索引表所在块,第四次才是真正去读取最终指向的那个数据记录块本身。(前提是假设这些索引块均没有缓存在内存中)。
- 常见易错点: 忘记了“索引只是指路牌”,找完路之后最后还要踏出那一步去拿“数据本身”。
30.在I/O控制的多种方式中,传输速率高,对主机影响少的方式最好。
答案: 正确 (True)
- 概念核对: I/O 控制方式的演进目标。
- 原理解析: 从早期的程序直接控制(CPU死循环轮询),到中断控制(解除了死等,但CPU还要搬运数据),再到DMA(直接内存访问,只需在开始和结束时打扰CPU),再到独立性极高的通道/I/O处理器技术。整个I/O发展史的核心目标就是两个:提高外设与内存之间的数据传输速率,以及尽可能地减少CPU(主机)的介入和开销。
- 常见易错点: 对于设计原则的把控不够宏观,系统设计的终极追求永远是解放CPU和提高效率。
31.进程可以删除自己的PCB表。
答案: 错误 (False)
- 概念核对: 进程控制块(PCB,Process Control Block)的作用与管理权限。
- 原理解析: PCB 包含了处理器寄存器、进程优先级、内存指针等极其核心的系统信息,它不仅是操作系统(OS)管理进程的唯一凭证,而且完全由操作系统负责创建和维护。用户进程只能在“用户态(User mode)”下运行,而读取和修改 PCB 属于特权操作,必须在“内核态(Kernel mode)”下由 OS 来执行。如果允许进程自己删除自己的 PCB,将会直接导致操作系统崩溃或系统状态彻底失控。
- 易错点: 学生常误以为“既然是‘我的’进程,我就有权限掌控它的所有数据”。在操作系统的“家长式”管理下,用户进程连自己的“身份证(PCB)”都摸不到,更别提删除了。
32.可重定位分区法能够支持虚拟存储器的技术。
答案: 错误 (False)
- 概念核对: 虚拟内存(Virtual Memory)的实现前提。
- 原理解析: 虚拟内存的核心突破在于:允许进程被切分成许多小块(页或段),并且不需要连续存放,甚至不需要全部装入内存即可运行。而可重定位分区法(即带有内存紧凑/Compaction技术的动态分区)虽然允许进程在内存中移动,但它本质上依然属于连续分配方案,要求一个进程必须完整且连续地霸占一整块内存区域。因此,它无法支持按需调页的虚拟存储技术。
- 易错点: 极易将“动态重定位(能在内存里搬家)”与“虚拟内存(能把部分身子放在硬盘上)”这两个概念混淆。
33.单级目录结构能够解决文件重名问题。
答案: 错误 (False)
- 概念核对: 目录结构对命名空间的隔离作用。
- 原理解析: 在单级目录(Single-level directory)中,整个系统只有一个存放所有文件的“大平层”列表。这意味着系统中所有的文件都必须拥有独一无二的名字,一旦两个用户恰好取了相同的名字,就会发生冲突或覆盖。只有引入树形结构目录(Tree-structured Directory),允许不同用户或项目创建自己的子文件夹,才能通过不同的“绝对路径”来完美隔离并解决同名冲突(前文背景)。
- 易错点: 高估了单级目录的管理能力。只要都在同一个列表里,就不可能允许重名。
34.分页式存储管理中,页的大小是可以不相等的。
答案: 错误 (False)
- 概念核对: 分页(Paging)与 分段(Segmentation)的基本定义。
- 原理解析: 分页的本质就是将内存和进程生硬地切割成固定且相等大小(fixed-size, equal-size)的块(物理上叫页框 frame,逻辑上叫页 page)。如果大小不相等,就失去了分页用来消除外部碎片、简化硬件地址映射的初衷。大小可以不相等的是分段(Segmentation),因为段是根据程序的逻辑意义切分的。
- 易错点: 概念张冠李戴。记住:页是硬件强制的“均分蛋糕”,段是程序员按逻辑切的“大小不一的披萨”。
35.执行原语时不会响应任何中断。
答案: 正确 (True)
- 概念核对: 原语(Primitive / Atomic Operation)的原子性。
- 原理解析: 原语是由若干条机器指令组成的一个过程,它被设计为不可分割的原子操作(indivisible)。这意味着在原语执行的整个过程中,处理器会通过硬件手段(例如关中断)来屏蔽所有外部干扰,绝对不会响应任何中断。如果原语被打断,可能会导致系统内核的数据结构(如信号量队列)处于不一致的中间状态。
- 易错点: 以为原语只是一种普通的 C 语言函数。它的核心灵魂就在于“要么全做,要么全不做,且绝不被打断”。
36.段页式管理实现了段式、页式两种存储方式的优势互补。
答案: 正确 (True)
- 概念核对: 段页式虚拟内存(Combined Paging and Segmentation)。
- 原理解析: 分页的优势在于对程序员透明且彻底消灭了外部碎片,使得内存利用率高;分段的优势在于可见于程序员,方便实现数据共享、保护以及动态增长。操作系统设计者通过将用户地址空间“先分段,段内再分页”,完美地将这两种方案的优势结合在了一起。
- 易错点: 这是操作系统设计中“折中与融合”的经典案例。
37.对临界资源应采取互斥访问方式来实现共享。
答案: 正确 (True)
- 概念核对: 临界资源(Critical Resource)与互斥(Mutual Exclusion)。
- 原理解析: 临界资源是指那些一次只允许一个进程安全使用的资源(如打印机、共享全局变量)。如果大家同时去乱抢乱写,数据就会崩溃。因此,我们必须在代码的临界区(Critical section)施加互斥访问机制——即“排队轮流使用”,以此在保证数据一致性的前提下,实现宏观上的系统资源共享。
- 易错点: 有些同学会觉得“互斥”和“共享”是反义词。其实在 OS 中,“互斥”恰恰是为了实现安全的“分时共享”。
38.文件系统中分配存储空间的基本单位是记录。
答案: 错误 (False)
- 概念核对: 逻辑单位 vs. 物理分配单位。
- 原理解析: “记录(Record)”是文件在逻辑上呈现给用户的有结构单位。但是,从底层文件系统对磁盘存储空间的分配和传输来看,所有的外围存储设备(特别是磁盘)都是面向块的设备(Block-oriented devices)。因此,操作系统与磁盘交换数据、分配空间的基本物理单位是块(Block)或物理块(前文背景)。
- 易错点: 将人类视角的逻辑结构强加给底层的物理硬件。
39.若系统中存在一个循环等待的进程集合,则必定会死锁。
答案: 错误 (False)
- 概念核对: 死锁的四个必要条件(Necessary conditions for Deadlock)。
- 原理解析: 循环等待(Circular wait)仅仅是产生死锁的四个必要条件之一。只有当系统中的每类资源都只有 1 个实例时,循环等待才是必定死锁的充分条件。如果某些资源拥有多个实例,即便进程之间构成了循环等待的闭环图,环路外的其他进程依然可能释放资源,从而打破僵局,这种情况下就不会发生死锁 (图 6.5d 即为有环但无死锁的例子)。
- 易错点: 逻辑学中的“必要条件”不等于“充分条件”。有环不一定死锁,除非资源都是单实例的。
40.具有多道功能的操作系统一定是多用户操作系统。
答案: 错误 (False)
- 概念核对: 多道程序设计(Multiprogramming)的概念。
- 原理解析: 多道功能指的是内存中能够同时存放多个进程,让处理器交替执行以提高效率。这与是否有多个用户终端(多用户)没有必然联系。你手头的个人电脑(Windows/macOS)只有一个用户(你),但它绝对是一个支持多道程序并发的系统。
- 易错点: 混淆了“任务数量(多任务)”和“终端/登录账号数量(多用户)”。
41.用磁带作为文件存储介质时,文件只能组织成顺序文件。
答案: 正确 (True)
- 概念核对: 存储介质物理特性对文件结构的影响。
- 原理解析: 磁带是一种典型的顺序存取设备。受限于物理机械结构,磁带只能通过卷轴向前或向后连续卷动来读取数据,根本无法实现瞬间跳跃式的随机访问。因此,建立在磁带上的文件,其逻辑和物理结构都只能是严格的顺序文件。
- 易错点: 忽略了底层硬件的机械限制。
42.交换技术的单位是段。
答案: 错误 (False)
- 概念核对: 交换(Swapping)的传统定义。
- 原理解析: 传统的交换技术(Swapping)是指将整个进程(part or all of a process)从主存移出到磁盘的挂起队列中,或者把整个进程从磁盘移回主存。虽然在虚拟内存的细化管理下出现了请求调页/调段,但宏观意义上的“交换技术”的基本单位是整个进程,而不是单独的段。
- 易错点: 将内存管理策略(分段)与中级调度的换入换出技术(交换进程)混淆。
43.SPOOLing将独占设备改造为共享设备。
答案: 正确 (True)
- 概念核对: 假脱机技术(SPOOLing)的核心目的。
- 原理解析: SPOOLing 通过在高速磁盘上开辟缓冲井,并安排专门的后台进程来接管所有的 I/O 请求。这样,多个进程想要使用打印机(独占设备)时,就不必死死阻塞等待,而是直接把数据输出到磁盘井中即可继续运行。在宏观逻辑上,原本只能一人独占的设备被成功改造成了允许多人同时发请求的“虚拟共享设备”。
- 易错点: 这是一个十分经典的正确结论,必须牢记。
44.具有多道功能的操作系统一定是多用户操作系统。
(注:此题与第40题完全重复)答案: 错误 (False)
- 解析参考第40题。
45.页式请求是以段为单位进行内存与外存的信息交换。
答案: 错误 (False)
- 概念核对: 请求分页虚拟内存(Demand Paging)。
- 原理解析: 顾名思义,“请求页式”管理(Demand Paging)的机制是:当程序运行缺页时,操作系统会向磁盘发出请求,将缺失的数据以**页(Page)**为单位调入内存。它与“段”没有任何关系。
- 易错点: 题目本身前后矛盾,页式机制的交换单位必然是页框/页。
46.段页式管理实现了段式、页式两种存储方式的优势互补。
(注:此题与第36题完全重复)答案: 正确 (True)
- 解析参考第36题。
47.对临界资源应采取互斥访问方式来实现共享。
(注:此题与第37题完全重复)答案: 正确 (True)
- 解析参考第37题。
48.文件系统中文件的内容只能是源代码。
答案: 错误 (False)
- 概念核对: 文件(File)的定义。
- 原理解析: 文件是对持久化数据的一种通用逻辑抽象。在文件系统中,文件的内容包罗万象,既可以是源代码,也可以是编译后的可执行机器指令、图片、视频、音频流、甚至是目录本身(在 UNIX 中目录也是文件)。
- 易错点: 对文件的理解过于狭隘。
49.外存对换空间保存的是虚拟内存管理系统调出的程序。
答案: 正确 (True)
- 概念核对: 对换区(Swap Space)的用途。
- 原理解析: 磁盘通常被划分为文件区和对换区。对换空间(Swappable space)专门被操作系统用来存放那些被中级调度器挂起(Swapped out)或被虚拟内存管理器置换出内存的进程页面和程序段。它充当了主存的直接逻辑扩充。
- 易错点: 极少部分同学会误以为对换空间存的是操作系统的备份,实际上它是用户进程在硬盘上的“临时休息室”。
50.计算机系统为每一台设备确定一个用以标识它的编号,被称为设备的绝对号。
答案: 正确 (True)
- 概念核对: 设备的绝对号与逻辑设备名。
- 原理解析: 在计算机底层硬件中,为了让 I/O 控制器能够精准地寻址到挂载的每一台物理外设,系统会为每台具体的设备分配一个硬性的、唯一的物理标识编号,这在操作系统理论中统称为“设备绝对号”。而在编程时我们使用的是“逻辑设备名”,OS负责将逻辑名映射为这个绝对号。
- 易错点: 这是设备独立性原理的基础知识点,绝对号代表物理实体。
51.Linux文件分为用户文件、目录文件和特殊文件。
答案: 正确 (True)
- 概念核对: UNIX/Linux 文件分类。
- 原理解析: 这是经典 UNIX/Linux 文件系统的“三分法”。
- 用户文件(通常也译作“普通文件” Regular file):包含普通数据、代码、文本等。
- 目录文件(Directory file):包含文件名到 inode 指针的映射表。
- 特殊文件(Special file):代表系统中的硬件设备(包括字符设备文件和块设备文件),这也是 Linux “一切皆文件”哲学的体现。
- 易错点: 很多从 Windows 过来的用户不知道 Linux 把鼠标、键盘、硬盘统统抽象成了“特殊文件”。
52.UNIX/Linux系统中的文件名不区分大小写。
答案: 错误 (False)
- 概念核对: Linux 命名约定。
- 原理解析: 与 Windows (DOS/NTFS 默认习惯) 完全不同,UNIX/Linux 系统是严格区分大小写(Case-sensitive)的。在 Linux 中,
File.txt、file.txt和FILE.TXT被视为三个完全独立的不同文件。 - 易错点: 被 Windows 操作系统的长年使用习惯所误导。
53.文件系统要负责文件存储空间管理,但不能完成从文件名到物理地址的转换。
答案: 错误 (False)
- 概念核对: 文件系统的核心功能(目录管理)。
- 原理解析: 恰恰相反!实现“按名存取”正是文件系统存在的最根本原因。文件系统通过维护目录表(File Directories),将用户提供的逻辑文件名,翻译转换为对应文件在磁盘上的物理地址(或对应的 FCB/inode,进而在其中找到物理块号)(前文背景)。
- 易错点: 目录管理是文件系统的中枢神经,没有名字到物理地址的转换,文件系统就毫无意义。
54.在文件系统的支持下,用户需要知道文件存放的物理地址。
答案: 错误 (False)
- 概念核对: 操作系统提供的高层抽象(Abstraction)。
- 原理解析: 操作系统通过文件系统向上层掩盖了磁盘的物理结构(磁道、扇区、柱面等恶心细节)。程序员和用户被这种抽象“保护”了起来,他们完全不需要知道文件的物理地址,只需要记住一个具有人类逻辑的“文件名”即可。
- 易错点: 操作系统存在的最大价值之一就是隐藏硬件细节。
55.顺序结构是一种逻辑记录顺序和物理块的顺序相一致的文件结构。
答案: 正确 (True)
- 概念核对: 连续分配(顺序文件结构)的特征。
- 原理解析: 如果一个文件采用连续分配的物理结构(即所谓的顺序物理结构),文件中的第一条逻辑记录存放在分配到的第一个物理块中,第二条记录紧挨着放在随后的物理空间中。此时,逻辑记录的排列顺序与它们在磁盘物理块上的排列顺序是完全一一对应的。
- 易错点: 在链接分配和索引分配中,逻辑相邻的记录在物理磁盘上往往是散乱分布的。只有顺序分配能做到高度一致。
56.可顺序存取的文件不一定能随机存取;但可随机存取的文件都可以顺序存取。
答案: 正确 (True)
- 概念核对: 文件的存取方式(Sequential Access vs. Random/Direct Access)。
- 原理解析:
- 前半句: 建立在磁带这种严格顺序介质上的文件,只能顺序存取,不能高效随机存取。
- 后半句: 如果一个文件支持随机存取(比如磁盘上的索引文件,你可以直接跳到第100条记录),那么你当然可以选择“随机地”先访问第1条,再访问第2条、第3条……通过这种笨方法,完全可以实现逻辑上的“顺序存取”。
- 易错点: 逻辑推理题,高阶功能总是向下兼容低阶行为。
57.一般的文件系统都是基于磁盘设备的,而磁带设备可以作为转储设备使用,以提高系统的可靠性。
答案: 正确 (True)
- 概念核对: 二级/辅助存储设备的职能划分。
- 原理解析: 磁盘设备支持高效的随机访问,因此现代的活跃文件系统全都建立在磁盘(或闪存SSD)上。而磁带容量巨大、成本极低,虽然读取速度慢且只能顺序访问,但它非常适合做定期的冷备份和灾难恢复转储(Dump),从而极大提高系统数据的持久可靠性。
- 易错点: 不了解企业级服务器和大型机对磁带(Tape)的大量使用现状。
58.在文件系统的支持下,用户需要知道文件存放的物理地址。
(注:此题与第54题完全重复)答案: 错误 (False)
- 解析参考第54题。
59.随机访问文件也能顺序访问,但一般效率较差。
答案: 正确 (True)
- 概念核对: 特殊文件结构(如哈希文件/直接文件)的遍历成本。
- 原理解析: 诸如哈希文件(Hashed File)这样的结构,专门为了极致的“随机访问”而生——它是通过哈希函数将逻辑记录随机打散在磁盘的各个物理块中。如果你想按某种逻辑顺序(如ID从小到大)把它们遍历(顺序访问)一遍,磁头就必须在磁盘上剧烈地来回跳跃、疯狂寻道,因此其顺序访问的效率往往极其低下。
- 易错点: 学生容易忽略物理存储的连续性对磁盘寻道时间的巨大影响。
60.在索引文件中,建立索引表会占用额外的存储空间和访问时间。
答案: 正确 (True)
- 概念核对: 索引分配的性能与空间权衡(Trade-offs)。
- 原理解析: 天下没有免费的午餐。为了实现高效的定长或变长记录的随机查找,系统必须为索引文件构建专门的“索引表”。这个索引表本身是一个数据结构,首先,它需要存储在磁盘的额外物理块上(占用额外空间);其次,在读取最终数据前,系统必须先发起一次磁盘 I/O 去读取这个索引块查表,这就导致了额外的访存/访盘时间开销(类比多级页表的额外开销)。
- 易错点: 对数据结构的运行开销缺乏实感,误以为引入机制都是百利而无一害的。