一、操作系统基础与分类(第1-10题)
第1题
现代操作系统的四个基本特征中,最基本、最核心的特征是( )。 A. 并发 B. 共享 C. 虚拟 D. 异步
答案:A
考点定位:一、操作系统基础与分类——操作系统的四个基本特征,难度★☆☆☆☆,是计算机基础卷的入门级送分题,国企笔试与互联网笔试几乎年年出现。
【结论】 四大特征中“最基本、最核心”的帽子只能给并发,选 A。因为内存中一旦只有一道程序在跑,共享、虚拟、异步就都失去了讨论对象,并发是其余三者的共同前提。
【逐项辨析】
- A 正确——并发使内存中同时存在多道程序,是资源管理与其余三大特征得以成立的前提。
- B 错误——共享以并发为存在条件,没有并发就只有一个程序在跑,谈不上“多个进程共同使用”,地位上从属于并发。
- C 错误——虚拟是并发与共享带来的技术手段(虚拟处理机、虚拟存储器、虚拟设备),是效果不是根基。
- D 错误——异步是并发执行的结果性特征,指进程以不可预知的速度向前推进,更谈不上核心。
【知识点】 四大特征必须成对记住含义与相互关系:
| 特征 | 含义 | 与其他特征的关系 | 典型手段 |
|---|---|---|---|
| 并发 | 两个或多个事件在同一时间间隔内发生,宏观同时、微观交替 | 基础,其余三者以它为前提 | 时间片轮转 |
| 共享 | 系统资源可供多个并发进程共同使用 | 以并发为存在条件,又为并发提供支撑 | 互斥共享 / 同时共享 |
| 虚拟 | 把一个物理实体映射为多个逻辑对应物 | 并发与共享的技术效果 | 虚拟处理机、虚拟存储器、虚拟设备 |
| 异步 | 进程以不可预知的速度走走停停地推进 | 并发执行的必然结果 | 进程同步机制加以约束 |
共享有两种方式要分清:互斥共享(如打印机,一段时间内只允许一个进程访问)、同时共享(如磁盘上的文件,允许多个进程在同一时间段内读)。
【记忆锚点】 口诀——“并发是根,共享是叶,虚拟是影,异步是果”。判断“最基本”一律选并发;判断“由并发引起的结果”一律选异步。
【易混对比】
| 并发 | 共享 | |
|---|---|---|
| 描述对象 | 事件在时间上的推进方式 | 资源被多个进程使用的方式 |
| 是否互为条件 | 并发是共享的存在条件 | 共享是并发得以实现的支撑 |
| 谁是“最基本” | 是 | 否 |
换个问法:“下列哪项不属于操作系统的四大特征?”——“用户接口”是五大功能之一,不是特征,这是最常见的干扰项。与第 5 题(并发与并行的细化)连考。
【自测】 操作系统四大特征中,因并发执行而必然产生、表现为进程“走走停停”的特征是?
答:异步。并发使多道程序交替推进,每个进程何时获得 CPU、何时被 I/O 阻塞都无法预知,只能以不可预知的速度前进。〈出处:国网真题库同型题〉
【易错提醒】 ①并发是宏观同时、微观交替,并行才是同一时刻真正同时;②共享与并发互为条件,但“最基本”只给并发;③虚拟处理机、虚拟存储器、虚拟设备是手段,别当成特征之首;④四大特征里没有“用户接口”,那是五大功能之一。
【知识关联】 本题考点:OS 四大特征——并发是最基本、最核心。同库题群:第5题(并发 vs 并行/异步辨析)、第11题(进程特征中动态性打头,勿与本题混淆)、第22题;补题进程/线程追问(补-01、补-05/06)。面试:为何共享以并发为存在条件、异步只是结果性特征?
【拓展延伸】 变式:问「结果性特征」→异步;问「存在条件」→共享;问「技术手段」→虚拟。工程:多核、容器、协程语境下仍用并发框架讨论资源共享与推进顺序。(本题答案 A,以题干选项为准)
第2题
操作系统的五大功能中,负责内存的分配与回收、地址映射和存储保护的是( )。 A. 处理机管理 B. 设备管理 C. 存储器管理 D. 文件管理
答案:C
考点定位:一、操作系统基础与分类——操作系统的五大功能,难度★☆☆☆☆,属于计算机基础必背框架题,国企笔试出现频率极高。
【结论】 内存的分配与回收、地址映射、存储保护三项都归存储器管理,选 C。它管的对象是主存,与管外存文件的文件管理互不越界。
【逐项辨析】
- A 错误——处理机管理管的是进程(创建、调度、同步、通信),不碰内存分配。
- B 错误——设备管理管 I/O 设备的分配、驱动、缓冲与中断处理。
- C 正确——内存分配与回收、地址映射、内存扩充、存储保护四项全部在存储器管理名下。
- D 错误——文件管理面向外存上的文件,管逻辑结构、目录与存取控制,不管内存。
【知识点】 五大功能各管一摊,用一张表锁死:
| 功能 | 主要任务 | 关键词 |
|---|---|---|
| 处理机管理 | 进程控制、进程同步、进程通信、进程调度 | 进程 |
| 存储器管理 | 内存分配与回收、地址映射、内存扩充、存储保护 | 内存 |
| 文件管理 | 文件存储空间管理、目录管理、文件读写、存取控制 | 外存文件 |
| 设备管理 | 缓冲管理、设备分配、设备处理、虚拟设备 | I/O |
| 用户接口 | 命令接口(联机 / 脱机)、程序接口(系统调用)、图形接口 | 人机 |
地址映射指逻辑地址到物理地址的转换,有静态重定位(装入时一次完成,运行中不能移动)与动态重定位(运行时由重定位寄存器完成,可移动)两种。存储保护靠上下界寄存器或基址-限长寄存器,防止进程越界访问他人区域。
【记忆锚点】 口诀——“处理机管进程,存储器管内存,文件管外存,设备管 I/O,接口管人机”。地址映射与存储保护这两顶帽子永远戴在存储器管理头上。
【易混对比】
| 存储器管理 | 文件管理 | |
|---|---|---|
| 作用对象 | 主存(内存) | 外存上的文件 |
| 核心任务 | 分配回收、地址映射、存储保护 | 目录结构、文件读写、存取控制 |
| 典型技术 | 分页、分段、虚拟存储 | 索引节点、位示图 |
换个问法:“内存扩充(虚拟存储器)属于哪一功能?”——仍属存储器管理,不要因为带“虚拟”二字就归到虚拟技术上。与第 1 题(四大特征之虚拟)、第 8 题(OS 层次)连考。
【自测】 下列任务中不属于存储器管理的是? A. 逻辑地址到物理地址的转换 B. 防止进程越界访问 C. 为文件分配磁盘块 D. 内存的分配与回收
答:C。为文件分配磁盘块属于文件管理中的文件存储空间管理;A、B、D 分别对应地址映射、存储保护、内存分配回收。〈出处:国网真题库同型题〉
【易错提醒】 ①地址映射与存储保护明确归存储器管理,别推给硬件或处理机管理;②用户接口是五大功能之一,最容易漏记;③存储器管理管主存,文件管理管外存文件,二者不要混淆。
【知识关联】 本题考点:操作系统五大功能——处理机管理、存储器管理、设备管理、文件管理、用户接口。同库题群:第1题(四大特征)、第52题(内存管理四大功能:分配回收、地址变换、扩充、存储保护);存储器管理各细节见第 51–68 题内存簇。面试:地址映射与存储保护归谁管、主存管理与文件管理的边界在哪?
【拓展延伸】 变式:五大功能里「进程管理 / 设备管理 / 文件管理 / 作业管理」各自负责什么——命题常在功能与子任务的对应关系上换皮。(本题答案 C,以题干选项为准)
第3题
分时系统与实时系统的主要区别是( )。 A. 分时系统不支持多用户,实时系统必须支持多用户 B. 分时系统的响应速度一定快于实时系统 C. 分时系统不需要时钟中断,实时系统必须有 D. 实时系统更强调对随机事件的及时响应和高可靠性,分时系统以多用户的公平交互为主要目标
答案:D
考点定位:一、操作系统基础与分类——分时系统与实时系统的区别,难度★★☆☆☆,是操作系统分类中最经典的对比例题,国企笔试常以“下列说法正确的是”的形式出现。
【结论】 分时系统的目标是多用户公平交互,实时系统的目标是及时性与高可靠性,选 D。二者的本质差别是响应时限的严格程度,而不是用户数量。
【逐项辨析】
- A 错误——分时系统本身就是典型的多用户系统;实时系统既有单用户(如导弹制导)也有多用户(如飞机订座),用户数不是本质区别。
- B 错误——实时系统对响应时间的要求比一般分时系统更严苛,说分时一定更快不成立。
- C 错误——分时系统正是靠时钟中断产生时间片才能轮转,该说法与事实相反。
- D 正确——准确概括了两者在设计目标与时限要求强度上的差异。
【知识点】 对照表是本题的全部考点:
| 分时系统 | 实时系统 | |
|---|---|---|
| 设计目标 | 多用户公平共享、良好交互性 | 及时性、高可靠性 |
| 响应要求 | 用户可接受即可(秒级) | 严格规定时限内(硬实时毫秒乃至微秒级) |
| 分类 | 一般不分 | 硬实时、软实时 |
| 典型例子 | UNIX 分时终端、Linux 多用户登录 | 导弹制导、工业控制、飞机订座 |
| 是否需时钟中断 | 需要(产生时间片) | 需要 |
| 用户数 | 典型多用户 | 单用户、多用户都有 |
硬实时错过时限即视为系统失败(飞行控制);软实时偶尔超时可容忍,只降低服务质量(视频流)。分时系统另有四个常考特点:多路性、独立性、及时性、交互性。
【记忆锚点】 口诀——“分时求公平交互,实时求限时可靠”。判题只看两条:时限严格程度 + 可靠性要求,用户数一概不管。
【易混对比】
| 批处理 | 分时 | 实时 | |
|---|---|---|---|
| 交互能力 | 无 | 强 | 弱(多为专用) |
| 主要目标 | 吞吐量、资源利用率 | 公平交互 | 时限与可靠 |
| 响应时间 | 最长 | 中等 | 最严 |
换个问法:“硬实时系统错过时限会怎样?”——视为系统失败,这是及时性最极端的体现。与第 4 题(多道批处理)连考,三者常在同一道多选题中一起出现。
【自测】 某系统要求外部事件发生后必须在 5ms 内完成响应,否则视为失效。该系统属于?
答:硬实时系统。有严格时限、且超时即判定失败,正是硬实时的定义特征;若超时只降低服务质量则可容忍,那才是软实时。〈出处:408 真题同型题〉
【易错提醒】 ①判据是时限严格程度与可靠性,不是用户数;②分时系统同样离不开时钟中断,别以为只有实时系统才需要;③硬实时错过时限即失败,这是及时性最极端的体现;④实时系统交互性反而弱,别把“实时”理解成“交互快”。
【知识关联】 本题考点:OS 类型与调度定位。与第 29–38 题调度算法簇连考;国网/软考常考分时与实时对比。
【拓展延伸】 变式:给出场景选分时/实时/批处理。工程上桌面偏分时,工控偏实时。(本题答案 D,以题干选项为准)
第4题
关于多道批处理系统,下列说法正确的是( )。 A. 它让多道程序同时进入内存交替执行,资源利用率高、系统吞吐量大,但作业周转时间长且缺乏交互能力 B. 它必须依靠用户与计算机实时对话才能运行 C. 它的主要缺点是内存利用率低,CPU经常处于空闲状态 D. 它的调度单位是线程,与作业的提交和调度无关
答案:A
考点定位:一、操作系统基础与分类——多道批处理系统的特点与优点,难度★☆☆☆☆,是操作系统发展历程中的高频对比题。
【结论】 多道批处理让多道作业同时进入内存交替执行,资源利用率与吞吐量高,但周转时间长、缺乏交互,选 A。这是“三优点配三缺点”的固定组合。
【逐项辨析】
- A 正确——完整给出核心机制(多道作业交替执行)、优点(利用率与吞吐量)与缺点(周转时间长、无交互)。
- B 错误——实时对话是分时系统的特征,批处理恰恰不能交互,作业提交后用户无法干预。
- C 错误——多道程序设计的初衷就是提高内存与 CPU 利用率,该说法把优点说成了缺点,那是单道系统的毛病。
- D 错误——多道批处理以作业为基本单位进行提交、调度与运行,与线程无关。
【知识点】 单道与多道必须分清:
| 单道批处理 | 多道批处理 | |
|---|---|---|
| 内存中作业数 | 1 道 | 多道 |
| CPU 与 I/O | 串行,CPU 常空闲 | 并行,I/O 时 CPU 转去执行他道程序 |
| 资源利用率 | 低 | 高 |
| 吞吐量 | 小 | 大 |
| 周转时间 | 较长 | 更长(需排队等待) |
| 交互能力 | 无 | 无 |
三大优点:资源利用率高、系统吞吐量大、CPU 与外设并行工作。三大缺点:作业平均周转时间长、无交互能力、用户无法干预运行过程。吞吐量 = 单位时间内完成的作业数。
【推导过程】 用甘特图看“CPU 与 I/O 并行”到底并行在哪里:
时间轴 ---------------------------->
单道批处理:
CPU [=J1计算=][ 空闲 ][=J2计算=][ 空闲 ] <- 等 I/O 时 CPU 空转
设备 [ 空闲 ][J1 I/O][ 空闲 ][J2 I/O]
多道批处理:
CPU [=J1计算=][=J2计算=][=J3计算=] <- CPU 几乎不空闲
设备 [ 空闲 ][J1 I/O][J2 I/O][J3 I/O] <- I/O 与计算重叠关键在于:当 J1 因 I/O 暂停时,CPU 立即切换去执行 J2,同一时间间隔内计算与 I/O 同时在推进。
【记忆锚点】 口诀——“多道批处理:利用率高、吞吐大、不交互、周转长”。优点记“两高一并行”,缺点记“一长一无交互”。
【易混对比】
| 多道批处理 | 分时 | |
|---|---|---|
| 交互 | 无 | 有 |
| 追求 | 吞吐量、资源利用率 | 公平交互、响应及时 |
| 调度单位 | 作业 | 用户 / 进程 |
| 响应时间 | 长 | 短(秒级) |
换个问法:“多道批处理系统的主要缺点是什么?”——周转时间长、无交互能力。与第 3 题(分时 / 实时)、第 5 题(并发)连考。
【自测】 某多道批处理系统内存中同时有 3 道作业,当作业 1 请求 I/O 时,CPU 会?
答:立即转去执行作业 2 或作业 3,使 CPU 与 I/O 设备并行工作。这正是多道程序设计提高资源利用率、增大吞吐量的机制。〈出处:国网真题库同型题〉
【易错提醒】 ①“多道”提高的是资源利用率和吞吐量,代价是周转时间变长、不能交互;②不要把批处理的缺点说成内存浪费或 CPU 空闲,那是单道系统的毛病;③作业与进程是两个层次的概念,批处理调度的是作业;④多道是“交替执行”,不是“同时执行”。
【知识关联】 本题考点:OS 类型与调度定位。与第 29–38 题调度算法簇连考;国网/软考常考分时与实时对比。
【拓展延伸】 变式:给出场景选分时/实时/批处理。工程上桌面偏分时,工控偏实时。(本题答案 A,以题干选项为准)
第5题
关于并发与并行,下列说法正确的是( )。 A. 并发与并行的含义完全相同,可以互相替换使用 B. 并行是宏观上同时、微观上交替执行,单处理机即可实现 C. 并发是宏观上多个程序同时运行、微观上交替执行,并行要求同一时刻真正同时执行,通常需要多个处理机 D. 单处理机系统中既不能实现并发,也不能实现并行
答案:C
考点定位:一、操作系统基础与分类——并发与并行的区别,难度★★☆☆☆,是操作系统最基础也最容易失分的概念题,各类笔试反复出现。
【结论】 并发是宏观同时、微观交替,并行是同一时刻真正同时,选 C。并行一定并发,并发不一定并行。
【逐项辨析】
- A 错误——二者描述的是不同层面的事情,不能互相替换。
- B 错误——把并行的定义说成了并发,且单处理机只能实现并发而非并行。
- C 正确——准确界定了并发的宏观 / 微观表现,以及并行对硬件同时性的要求。
- D 错误——单处理机完全可以实现并发(靠时间片轮转),只是不能实现并行。
【知识点】 两个“同时”的区别就是全部考点:
| 并发 | 并行 | |
|---|---|---|
| 时间尺度 | 同一时间间隔内 | 同一时刻 |
| 微观表现 | CPU 在多个程序间快速交替 | 多个处理机各自执行一个程序 |
| 硬件要求 | 单处理机即可 | 需多处理机 / 多核 |
| 宏观效果 | 多个程序“都在运行” | 多个程序“真的同时运行” |
| 相互关系 | 并行是并发的一种特殊情形 | 并行一定是并发 |
判定口诀:看题目说的是“时刻”还是“时间间隔”。并发是操作系统的四大特征之一(见第 1 题),并行是硬件层面的能力。
【记忆锚点】 口诀——“并发是时间间隔上的交替,并行是同一时刻的同时”;再补一句方向:并行必并发,并发不并行。
【易混对比】
| 场景 | 属于 |
|---|---|
| 单核上两个进程交替推进 | 并发 |
| 双核上两个进程各自占一核推进 | 并行 + 并发 |
| 单核上两个进程同一时刻同时推进 | 不可能发生 |
换个问法:“同一时刻有两个程序分别在两个 CPU 核上执行,这属于?”——并行,同时也构成并发。与第 1 题(四大特征之并发)、第 4 题(多道批处理)连考。
【自测】 单核 CPU 系统中,进程 P1 正在运行,此时 P1 请求读磁盘,系统随即调度 P2 运行。该过程体现了?
答:并发。P1 与 P2 在同一时间间隔内交替推进,单处理机依靠时间片与调度实现,不构成并行。〈出处:大厂面试高频〉
【易错提醒】 ①口诀是“并发是时间间隔上的交替,并行是同一时刻的同时”;②并行必然并发,并发不一定并行,方向不要颠倒;③多核 CPU 可以真正并行,单核只能并发;④多道批处理中的“多道”是并发,不是并行。
【知识关联】 本题考点:并发与并行的区别——并发是同一时间间隔内交替推进,并行是同一时刻真正同时执行。同库题群:第1题(并发是 OS 四个基本特征中最基本的一个)、第4题(多道批处理的“多道”属并发)、第11题(进程自身的最本质特征是动态性);补题进程/线程追问。面试:单处理机能否实现并行?
【拓展延伸】 变式:单核能不能并发(能,靠时间片轮转)?并行才需要多核。「并发性」是操作系统主动制造的能力,「并行性」取决于硬件。(本题答案 C,以题干选项为准)
第6题
用户程序请求操作系统内核提供服务所使用的接口是( )。 A. 中断 B. 作业控制语言 C. 高级语言函数 D. 系统调用
答案:D
考点定位:一、操作系统基础与分类——系统调用的概念与作用,难度★☆☆☆☆,是理解用户态与核心态切换的前置考点,出现频率很高。
【结论】 用户程序请求内核服务的编程接口就是系统调用,选 D。它是用户态与核心态之间的桥梁,靠执行访管指令引发内中断来进入内核。
【逐项辨析】
- A 错误——中断是外部或内部事件引发的处理过程,它是系统调用进入内核的触发机制,不是接口本身。
- B 错误——作业控制语言用于批处理系统中描述作业的控制信息,属命令接口(脱机)范畴。
- C 错误——高级语言函数多由库在用户态实现,不构成请求内核服务的接口;只有少数库函数内部封装了系统调用。
- D 正确——系统调用正是用户程序请求内核服务的编程接口。
【知识点】 操作系统接口分四类,别张冠李戴:
| 接口类型 | 形式 | 使用者 | 例子 |
|---|---|---|---|
| 命令接口·联机 | 交互式命令 | 用户直接敲 | Linux shell、Windows cmd |
| 命令接口·脱机 | 作业控制语言 JCL | 批处理用户 | 批处理作业说明书 |
| 程序接口 | 系统调用 | 应用程序 | open、read、write、fork |
| 图形接口 | GUI | 用户 | 窗口、图标 |
系统调用的完整过程:用户程序准备参数 → 执行访管指令(陷入指令 trap) → 触发一次内中断 → CPU 从用户态切换到核心态 → 内核按系统调用号查表并执行相应服务 → 返回用户态继续执行。注意:访管指令本身在用户态执行,却会引发状态切换,这是它最特殊的地方。
【记忆锚点】 口诀——“系统调用是桥梁,访管指令是门铃”;再补一句:库函数不一定进内核,系统调用一定进内核。
【易混对比】
| 库函数 | 系统调用 | |
|---|---|---|
| 运行态 | 多数在用户态 | 核心态 |
| 是否切换态 | 不切换 | 切换 |
| 例子 | strlen、strcpy | read、write、fork |
| 关系 | 部分库函数内部封装系统调用 | 内核提供的最底层接口 |
换个问法:“printf 调用中哪一步会进入内核?”——最终的 write 系统调用,格式化等其余工作在用户态完成。与第 9 题(内中断)、第 10 题(特权指令与态切换)连考。
【自测】 用户程序中执行一条访管指令后,CPU 的状态变化是?
答:从用户态切换到核心态,由内核处理完请求后再返回用户态。访管指令是用户态可执行、但会主动引发内中断的特殊指令。〈出处:408 真题同型题〉
【易错提醒】 ①系统调用引发的是内中断,常与普通外中断混淆;②系统调用运行在核心态,而调用它的程序运行在用户态,别把两者状态搞反;③库函数与系统调用不是一回事,只有涉及内核服务的库函数才封装系统调用;④系统调用属于程序接口,不是命令接口。
【知识关联】 本题考点:系统调用——用户态请求内核服务的编程接口。同库题群:第9题(中断/异常分类)、第10题(特权指令与态切换)、第96题(用户态与内核态隔离);补题相关:补-04(陷入内核三条途径及开销)。面试:系统调用与库函数差在哪?一次 open/write 的陷入路径?
【拓展延伸】 变式:从用户态进入核心态的三条途径(系统调用、内中断/异常、外中断)。Linux:strace -c 统计 syscall;glibc 封装 vs 直接 syscall()。(本题答案 D,以题干选项为准)
第7题
关于原语,下列说法正确的是( )。 A. 原语在执行过程中允许被中断,以便及时响应优先级更高的进程 B. 原语运行在用户态,由用户程序直接调用 C. 原语是由若干条指令组成的、执行过程不可被中断的原子操作,常用于实现临界资源的互斥访问 D. 原语只能用于创建进程,在其他场合没有用途
答案:C
考点定位:一、操作系统基础与分类——原语的概念与原子性,难度★★☆☆☆,是理解进程同步与 P、V 操作的必备基础,笔试常见。
【结论】 原语是由若干条指令构成的、执行过程不可被中断的原子操作,常用于临界资源互斥,选 C。它的实现手段是关中断 + 开中断把整段代码包裹起来。
【逐项辨析】
- A 错误——可被中断就破坏了原子性,原语恰恰要求执行过程中不可中断。
- B 错误——原语属于内核程序,运行在核心态,用户程序不能直接执行。
- C 正确——完整给出了原语的定义、原子性特征与典型用途。
- D 错误——原语用途广泛,进程控制、同步互斥、设备驱动等场合都离不开它。
【知识点】 原语的全部要点压缩成一张表:
| 项目 | 说明 |
|---|---|
| 定义 | 由若干条机器指令构成的、完成特定功能的原子操作 |
| 核心性质 | 原子性:要么全做,要么全不做,执行中不可被中断 |
| 实现手段 | 关中断 + 开中断把原语包裹起来 |
| 运行状态 | 核心态 |
| 典型原语 | 进程创建 / 撤销、阻塞 / 唤醒、P 操作 / V 操作、设备驱动 |
| 用途 | 临界资源互斥、进程同步与通信 |
补充:硬件层面也可用 TestAndSet、Swap 等原子指令实现互斥,不一定非要关中断;但传统操作系统实现原语的标准做法就是关中断。原语与“原子操作”在考试中基本可以画等号。
【记忆锚点】 口诀——“原语三件套:多指令、不可断、核心态”;再加一句形象说法:关中断包住,一条道走到黑。
【易混对比】
| 原语 | 普通函数 | 系统调用 | |
|---|---|---|---|
| 原子性 | 有,执行中不可中断 | 无 | 一般可响应中断 |
| 运行态 | 核心态 | 用户态 | 核心态 |
| 调用者 | 内核内部 | 用户程序 | 用户程序 |
| 例子 | P 操作 | strlen | fork |
换个问法:“为什么对信号量的 P、V 操作不需要额外加锁?”——因为 P、V 本身就是原语,执行过程不可中断,天然原子。与第 6 题(系统调用)连考。
【自测】 下列操作中通常不采用原语实现的是? A. 进程的阻塞与唤醒 B. 信号量 P 操作 C. 用户程序的字符串比较 D. 进程的创建
答:C。字符串比较是用户态普通函数,不具备原子性要求;A、B、D 都是典型的内核原语。〈出处:国网真题库同型题〉
【易错提醒】 ①原语的关键词是“原子”“不可中断”,实现靠关中断,不要与普通函数混淆;②原语处于核心态,用户程序只能通过系统调用间接触发;③P 操作和 V 操作本身就是原语,所以对信号量的操作不会被打断;④系统调用执行中一般可响应中断,原语则不可,别一概而论。
【知识关联】 本题考点:原语——不可中断的原子操作,常靠关中断实现。同库题群:第39–47题(同步互斥与 PV/管程)、第10题(开关中断是特权指令)、第48–50题(死锁与资源互斥)。面试:原语如何保证原子性?与临界区、锁的关系?
【拓展延伸】 变式:下列哪些常用原语实现(进程创建/撤销、P/V、I/O 启动)。工程:Linux 自旋锁/关抢占保护短临界区,互斥量用于可能睡眠的场景。(本题答案 C,以题干选项为准)
第8题
操作系统在计算机系统层次结构中的位置是( )。 A. 位于应用软件之上,直接面向最终用户 B. 与硬件处于同一层次,属于裸机的一部分 C. 介于应用软件与硬件之间,但不属于系统软件 D. 位于裸机之上,是最贴近硬件的第一层系统软件,向下管理硬件、向上提供接口
答案:D
考点定位:一、操作系统基础与分类——操作系统在计算机系统层次中的地位,难度★☆☆☆☆,属于概念定位题,国企笔试常考。
【结论】 操作系统位于裸机之上,是最贴近硬件的第一层系统软件,向下管理硬件、向上提供接口,选 D。
【逐项辨析】
- A 错误——操作系统位于应用软件之下,并不直接面向最终用户,面向用户的是应用软件与命令接口。
- B 错误——操作系统是软件而非硬件,裸机之上才有操作系统。
- C 错误——操作系统是最典型的系统软件,该说法自相矛盾。
- D 正确——准确描述了操作系统的层次位置,以及向下、向上两个方向的作用。
【知识点】 层次结构自上而下排布如下:
+--------------------------------------------+
| 用户 / 最终用户 |
+--------------------------------------------+
| 应用软件 (浏览器、办公软件、游戏) |
+--------------------------------------------+
| 其他系统软件 (编译程序、数据库、链接器) |
+--------------------------------------------+
| 操作系统 (处理机/存储/文件/设备/用户接口) | <- 裸机之上第一层
+--------------------------------------------+
| 裸机 (CPU、内存、外设等硬件资源) |
+--------------------------------------------+操作系统有双重角色:向下是硬件资源的管理者,把复杂的物理设备抽象成便于使用的逻辑资源;向上是用户与应用程序的服务者,提供命令接口与程序接口。前者对应五大功能,后者对应各类接口,两个方向不要写反。
【记忆锚点】 口诀——“裸机第一层,下管上服务”;再记一句经典比喻:操作系统是硬件与用户之间的桥梁。
【易混对比】
| 系统软件 | 应用软件 | |
|---|---|---|
| 目的 | 管理资源、支撑运行 | 解决具体应用问题 |
| 例子 | OS、编译程序、数据库管理系统、驱动程序 | 微信、WPS、浏览器 |
| 与硬件距离 | 近 | 远 |
| OS 归属 | 属系统软件,且在最底层 | 否 |
换个问法:“编译程序属于哪一层?”——其他系统软件层,位于操作系统之上。与第 2 题(五大功能)、第 1 题(四大特征)连考。
【自测】 下列说法正确的是? A. 操作系统是裸机的组成部分 B. 操作系统属于应用软件 C. 操作系统是裸机之上的第一层系统软件 D. 操作系统直接面向最终用户
答:C。操作系统是软件不是硬件,属系统软件而非应用软件,且不直接面向最终用户。〈出处:国网真题库同型题〉
【易错提醒】 ①操作系统是裸机之上的第一层软件,不是裸机的组成部分;②它向下管硬件、向上提供服务,方向别写反;③操作系统属于系统软件,不是应用软件,更不是硬件;④编译程序、数据库管理系统是 OS 之上的其他系统软件,别与 OS 混为一层。
【知识关联】 本题考点:OS 在计算机系统中的层次——裸机之上的第一层系统软件。同库题群:第2题(存储器管理职责)、第6题(向上提供系统调用接口)、第10题(向下以特权指令管理硬件)。面试:OS 既是「资源管理者」又是「硬件扩展」,如何统一理解?
【拓展延伸】 变式:给出层次图问 OS 位置;「属于系统软件还是应用软件」。工程:宏内核/微内核/外核都是「第一层系统软件」的不同切分,向上接口可为 POSIX/系统调用 ABI。(本题答案 D,以题干选项为准)
第9题
下列事件中属于内中断的是( )。 A. 时钟中断 B. I/O设备完成中断 C. 键盘输入产生的中断 D. 除零错误或访存越界引起的故障
答案:D
考点定位:一、操作系统基础与分类——中断与异常的分类,难度★★☆☆☆,是操作系统与计算机组成原理交叉的高频考点。
【结论】 除零、访存越界这类由 CPU 内部在执行指令过程中产生的中断属于内中断(异常),选 D。判据只有一条:来源在 CPU 外还是内。
【逐项辨析】
- A 错误——时钟中断来自 CPU 外部的定时部件,属于外中断。
- B 错误——I/O 设备完成中断来自外部设备,属于外中断。
- C 错误——键盘输入中断由外部输入设备触发,属于外中断。
- D 正确——除零和访存越界都由 CPU 内部在执行指令时发现,属于典型的内中断,也就是异常。
【知识点】 两类中断的差别要逐条对齐:
| 类别 | 别名 | 来源 | 与当前指令关系 | 典型例子 | 可屏蔽性 |
|---|---|---|---|---|---|
| 外中断 | 中断 | CPU 外部 | 无关 | 时钟、I/O 完成、键盘 | 多数可屏蔽 |
| 内中断 | 异常 | CPU 内部 | 相关 | 除零、越界、非法操作码、缺页、系统调用陷入 | 不可屏蔽 |
内中断(异常)再分三类:故障 fault(可修复,如缺页,处理后重新执行被中断的指令)、陷阱 trap(有意为之,如系统调用,处理后执行下一条指令)、终止 abort(不可恢复,如硬件错误,终止程序)。外中断按可否屏蔽分为可屏蔽中断(INTR,如 I/O 完成)与不可屏蔽中断(NMI,如电源故障)。
【记忆锚点】 口诀——“外中断来自门外(CPU 外),内中断来自心里(CPU 内)”;举例记:时钟、I/O、键盘是外,除零、越界、缺页是内。
【易混对比】
| 外中断 | 内中断 | |
|---|---|---|
| 检测时机 | 每条指令执行结束后 | 指令执行过程中 |
| 是否可屏蔽 | 多数可屏蔽 | 不可屏蔽 |
| 是否与当前指令相关 | 无关 | 相关 |
| 处理后返回 | 返回下一条指令 | fault 返回本指令,trap 返回下一条 |
换个问法:“系统调用引发的陷入属于哪类?”——内中断中的陷阱 trap。与第 6 题(系统调用)、第 10 题(态切换)连考。
【自测】 下列事件中属于外中断的是? A. 缺页故障 B. 非法操作码 C. 电源故障 D. 除零错误
答:C。电源故障由 CPU 外部事件引起且不可屏蔽,属外中断中的 NMI;A、B、D 均由 CPU 内部在指令执行中产生,属内中断。〈出处:408 真题同型题〉
【易错提醒】 ①判据是“来源在 CPU 内还是外”,不要只盯着是否可屏蔽;②时钟中断、I/O 中断、键盘中断是常考的三大外中断;③系统调用由访管指令引发,属于内中断,这一点极易与普通中断混淆;④缺页属于故障 fault,处理后要重新执行被中断的那条指令。
【知识关联】 本题考点:内中断(异常/陷入)与外中断的区分。与第 80、81 题(中断驱动方式与 DMA 的中断时机)同属中断族;面试追问:缺页属于哪一类?(内中断中的「故障」,不是外中断)
【拓展延伸】 变式:从查询到 DMA 的演进逻辑。Linux 中断下半部/tasklet 是延伸。(本题答案 D,以题干选项为准)
第10题
下列指令中属于特权指令的是( )。 A. 加法指令 B. 开中断或关中断指令 C. 取数指令 D. 无条件转移指令
答案:B
考点定位:一、操作系统基础与分类——用户态与核心态、特权指令,难度★★☆☆☆,是操作系统必考的基础概念题。
【结论】 开中断 / 关中断指令会改变整个系统的中断响应行为,只能在核心态执行,属于特权指令,选 B。
【逐项辨析】
- A 错误——加法属于普通算术运算指令,在用户态即可执行。
- B 正确——开中断与关中断直接影响系统安全与调度,只能在核心态执行,是典型的特权指令。
- C 错误——取数指令是普通访存运算指令,用户程序可以执行。
- D 错误——无条件转移指令只改变程序执行顺序,用户程序正常使用。
【知识点】 特权指令与非特权指令的边界:
| 特权指令 | 非特权指令 | |
|---|---|---|
| 执行态 | 仅核心态 | 用户态与核心态均可 |
| 涉及资源 | 系统级关键资源 | 程序自身计算 |
| 典型例子 | 开关中断、置时钟、清内存、修改 PSW、置中断屏蔽字、切换进程、I/O 指令 | 算术运算、取数存数、转移、访管指令 |
特别注意访管指令(trap)是特殊的:它在用户态执行,却会引发状态切换,因此它本身不算特权指令——这正是本题最容易失分的延伸点。
【推导过程】 用户态与核心态的切换途径,方向不对就全盘皆错:
用户态 (目态) 核心态 (管态)
+---------------------------+ +---------------------------+
| 应用程序 / 库函数 | | 内核程序 |
| 非特权指令 + 访管指令 | | 特权指令 + 非特权指令 |
+---------------------------+ +---------------------------+
| ^
| (1) 系统调用:执行访管指令 trap |
+-------------------------------------+
| (2) 内中断:除零 / 越界 / 缺页 |
+-------------------------------------+
| (3) 外中断:时钟 / I/O 完成 / 键盘 |
+-------------------------------------+
|
+---------------------------+ |
| 返回用户态: | <--------------------+
| 内核执行特权指令改 PSW | 中断 / 异常处理完毕,内核置 PSW
+---------------------------+两条铁律:用户态 → 核心态只能由中断、异常、系统调用这类事件“被动”触发,用户程序无法自行进入;核心态 → 用户态由内核执行特权指令(修改 PSW)主动完成。
【记忆锚点】 口诀——“开关中断、置时钟、清内存、改 PSW 是特权”;切换方向记“进内核靠事件,出内核靠内核”。
【易混对比】
| 用户态 | 核心态 | |
|---|---|---|
| 可执行指令 | 仅非特权指令 | 全部指令(含特权指令) |
| 能否访问全部内存 | 否 | 是 |
| 如何进入对方 | 只能靠中断 / 异常 / 系统调用进入核心态 | 执行特权指令返回用户态 |
| 谁在运行 | 应用程序 | 内核程序 |
换个问法:“用户程序能否直接执行 I/O 指令?”——不能,I/O 指令是特权指令,必须经系统调用由内核代劳。与第 6 题(系统调用)、第 9 题(内中断)连考,三题合起来就是“态切换”的完整链条。
【自测】 下列指令中,用户程序可以执行的是? A. 置中断屏蔽字 B. 修改程序状态字 PSW C. 访管指令 D. 置时钟指令
答:C。访管指令在用户态执行并引发陷入,本身不是特权指令;A、B、D 均为典型特权指令。〈出处:国网真题库同型题〉
【易错提醒】 ①特权指令的关键是“只能在核心态执行”,而不是“核心态才能用到的所有指令”;②用户程序不能直接执行特权指令,必须经系统调用陷入内核;③置时钟、清内存、修改 PSW、开关中断都是常见的特权指令,要能一眼认出;④访管指令不是特权指令,别与普通特权指令混为一谈。
【知识关联】 本题考点:特权指令与用户态/核心态边界。同库题群:第6题(系统调用接口)、第9题(外中断/内中断)、第96题(用户态与内核态隔离);补题相关:补-04(陷入内核三条途径与开销)、补-12(安全加固与态隔离)、补-01(关联第90题 ps/kill 命令场景)。Linux机制:用户程序经 syscall/int 0x80 陷入内核,strace 可观察;/proc/<pid>/status 的 CapEff、Seccomp 反映进程特权与沙箱;内核中 sti/cli 对应开关中断。面试追问:①访管指令为何本身不是特权指令(它在用户态执行、只负责引发陷入)?②用户程序如何间接完成 I/O(必须走系统调用由内核代劳)?
【拓展延伸】 变式:问「用户程序可以执行的是」→ 指向访管指令/trap;问「属于特权指令的是」→ 开关中断、置时钟、改 PSW、I/O 指令。工程:seccomp/Landlock 进一步收窄可发起的系统调用面;容器逃逸与危险特权(SYS_ADMIN、挂载 /proc 等)配置直接相关。对照阅读:补-04 把「态切换代价」讲到面试深度。(本题答案 B,以题干选项为准)