news 2026/10/24 19:20:46

操作系统课后习题拆解:从进程状态到PV操作的考点精讲

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
操作系统课后习题拆解:从进程状态到PV操作的考点精讲

简介:面向计算机科学与技术及相关专业学生的操作系统课后习题解析资料,聚焦《计算机操作系统》第一章与第二章的核心考点,覆盖操作系统定义与作用、多道程序设计技术、批处理/分时/实时系统特点、时间片计算,以及进程特征、进程状态转换、进程调度等关键内容。文档采用“题目+答案+解析”的形式,第一章重点辨析操作系统管理对象、用户接口、批处理作业控制信息、实时信息处理系统等易混淆概念;第二章则围绕进程的静态性辨析、进程基本状态、就绪/执行/阻塞转换条件、I/O请求与时间片到对调度的影响展开,适合期末复习与考研基础阶段反复对照学习。资源仅包含1个docx文档,压缩包大小为53KB,体积小巧,结构清晰;文档版式规整,选择题答案以括号标注,解析文字简短明确,便于按章节定位查阅、打印或按需摘录。该资料目前已有1313人浏览学习,对希望快速梳理操作系统前两章知识脉络、提升选择题解题能力的学习者来说,是一份轻量实用的复习材料。

1. 计算机操作系统课后习题值得逐题拆解:从“背答案”到“会推答案”

计算机操作系统这门课,第一章和第二章的课后习题几乎是所有期末试卷的“题库来源”,尤其第二章进程管理,选择题十道里有七八道是从这些原题变形来的。手里这份《计算机操作系统 第一章和第二章课后习题(写有答案)》看起来只是题目加答案,但真正有价值的地方在于:每道题的选项设置都对应一个容易混淆的知识点,比如“就绪与阻塞”“程序与进程”“P操作与V操作”。如果只是把答案背下来,遇到选项顺序一换、数值一改,照样会翻车。这篇笔记把第一章十道题、第二章复习题加进程控制加信号量共七十多道题按考点拆开,讲清楚每类题背后的判断逻辑,再给出可复现的做题步骤和易错点排查,适合期末复习、考研刷题或者刚开始学操作系统、想建立知识框架的初学者。

2. 第一章 OS 概述:十个考点背后的记忆主线

2.1 从定义出发:为什么选 C、选 A、选 D 都有同一根主线

第一章十道题,表面上是考操作系统定义、接口、特点,实际上全部围绕一个核心认知:操作系统是对计算机资源进行管理的软件,它向上给用户和程序员提供接口,向下管理硬件资源。抓住这条主线,前五道题基本不用背。

第 1 题“操作系统是对(C)进行管理的软件”,答案选“计算机资源”。很多初学者会在“硬件”和“计算机资源”之间犹豫。注意题干问的是“管理的软件”管理什么——操作系统管理的不只是 CPU、内存这些硬件,还包括文件、设备、作业等软件资源,所以“计算机资源”才是完整表述。第 2 题“从用户的观点看,OS 是(A)用户与计算机之间的接口”,这里限定词是“从用户的观点看”,强调的是交互界面,而不是资源管理。同一台计算机,从用户角度看是接口,从系统角度看是资源管理者,这就是第一章最重要的双视角原则。

第 3 题“不是操作系统关心的主要问题”,答案是“高级程序设计语言的编译器”。编译器确实要运行在操作系统之上,但编译器本身是应用程序,它的实现细节不归操作系统管。操作系统关心的是编译器运行所需的资源分配、进程调度、文件读写,而不是语法分析、代码生成这些编译原理的内容。做题时抓住“管理资源”而不是“实现应用”这个判断标准,这类“不是”题就能快速排除。

第 4 题“配置了操作系统的计算机称为(C)虚拟计算机”,关键在“逻辑上”三个字。物理计算机加上操作系统后,呈现给用户的是一个更方便使用的扩展机器,这个扩展机器是逻辑概念,不是物理实体。第 5 题“多道程序设计技术提高了 CPU 和外部设备的(A)利用率”,多道程序设计的核心价值就是让 CPU 和 I/O 设备尽量同时工作,缩短空闲时间。如果选“可靠性”或“稳定性”,那是把多道程序设计和容错技术混淆了。

2.2 分时系统的时间片计算:一道必考的算术题

第一章里最有计算含量的是第 10 题:“在分时系统中,当用户数为 50 时,为了保证响应时间不超过 1 秒,选取的时间片最大值为(B)20ms”。

这道题的推导逻辑是这样的:分时系统采用时间片轮转,每个用户在一个轮转周期内至少被服务一次。响应时间 = 用户数 × 时间片。现在要求响应时间 ≤ 1 秒,用户数是 50,所以时间片 ≤ 1000ms ÷ 50 = 20ms。

常见错误是直接选 100ms,因为 100ms × 50 = 5 秒,超出了 1 秒的限制。还有人选 50ms,同样超限。做题时先看题目给出的用户数,再看响应时间上限,用除法算出最大值,不要凭感觉。如果题目改成“响应时间不超过 0.5 秒”,答案就是 10ms。数值会变,公式不变。

这类题在考试中属于送分题,但前提是你记得公式,并且注意单位换算。我一般会先在草稿纸上写成:时间片 = 响应时间上限 ÷ 用户数,然后再看选项里哪个小于等于这个值,选最大的那个。

提示:分时系统的响应时间不是“每个用户的实际等待时间”,而是“轮转一圈的总时间”。理解这一点,就不会把 20ms 理解成“每个用户只能运行 20ms”。

2.3 第一章习题速查表与易混点对比

把第一章十道题按考点归类,可以整理成下面这张速查表,考前扫一眼比翻书快得多:

题号考点答案关键词
1操作系统的管理对象C计算机资源
2用户视角的 OSA接口
3非 OS 关心的内容D编译器
4扩展后的逻辑计算机C虚拟
5多道程序设计的目的A利用率
6程序员接口B系统调用
7批处理作业特性A作业控制信息
8订票系统类型D实时信息处理
9批处理系统缺点B缺少交互性
10时间片计算B20ms

第 6 题和第 7 题值得单独说一下。第 6 题问“OS 提供给程序员的接口”,答案是“系统调用”。库函数是运行在用户态的,程序员通过库函数间接调用系统调用,但直接接口是系统调用本身。第 7 题“下面关于 OS 的叙述中正确的是”,A 选项“批处理作业必须具有作业控制信息”是对的。批处理作业不像分时作业可以交互,它必须在提交时附带完整的控制信息,告诉系统怎么执行。B 选项“分时系统不一定都具有人机交互功能”是错的,分时系统就是靠交互才存在的。C 选项“从响应时间的角度看,实时系统与分时系统差不多”也是错的,实时系统的响应时间要求远高于分时系统,通常是毫秒级甚至微秒级。

3. 第二章前半:进程概念与状态转换——先画状态图再做题

3.1 进程与程序的区别:四句话解决八道题

第二章复习题前六道全部围绕“进程与程序的区别”展开。把这层关系理清,这些题不需要逐题背。

进程是程序在一个数据集合上的一次执行过程,它是动态的、有生命期的;程序是静态的指令集合,它可以长期保存在磁盘上。一个程序可以被多个进程共用,比如同时开三个编辑器窗口,对应三个进程,但磁盘上只有一份编辑器程序。反过来,一个进程在执行过程中可以调用多个程序段,所以“进程不能包含多个不同的程序”这种说法是错的。

第 1 题“不是进程特征的是(C)静态性”,动态性、并发性、异步性都是进程的特征,静态性是程序的特征。第 2 题“对进程的描述中,错误的是(D)进程是指令的集合”,这是把进程和程序的定义搞混了。第 3 题“不能描述程序和进程区别的是(D)进程不能包含多个不同的程序”,这个选项本身就错了,因为一个进程确实可能执行多个程序段。第 4 题“操作系统分配资源以(C)进程为基本单位”,在多道程序环境下,资源分配的单位是进程,不是程序也不是作业。

第 5 题和第 6 题涉及并发和进程特性。第 5 题“并发进程指的是(C)可同时执行的进程”,注意“可同时执行”不等于“同一时刻都在运行”,单 CPU 下同一时刻只能有一个进程真正运行,但多个进程可以在时间片上交替执行,宏观上看是同时进行的。第 6 题“不属于进程基本特性的是(A)”,A 选项“进程是具有特定功能的一组指令的集合”描述的是程序,不是进程特性。

3.2 三态模型:从选项反推状态转换的合法性

第 7 题到第 17 题几乎全部围绕进程三态模型。先把三个状态和四个转换画清楚:

  • 就绪态:进程已分配到除 CPU 外的一切必要资源,只等调度。
  • 运行态:进程已获得 CPU,正在执行指令。
  • 阻塞态:进程因等待某事件(如 I/O 完成)而暂停执行。

四个合法转换是:就绪→运行(调度选中)、运行→就绪(时间片到或被抢占)、运行→阻塞(等待事件)、阻塞→就绪(事件完成)。

第 7 题“分配到必要的资源并获得处理机时的进程状态是(B)执行状态”,已经拿到 CPU 了,当然是运行态。第 8 题“当一个进程正等着输入一批数据时,它处于(A)阻塞状态”,等待 I/O 就是典型的阻塞场景。第 9 题“运行中的进程要申请打印机,它将变为(B)阻塞态”,打印机属于慢速设备,申请后进程要等待分配,进入阻塞。第 10 题“下列进程状态的转换中,(C)是不正确的”,就绪→等待是非法转换,就绪态进程还没运行,不存在等待事件的问题。

第 11 题“当(B)时间片到时,进程从执行状态转为就绪状态”,这是运行→就绪的合法转换。第 12 题“一个进程的基本状态可以从其他两种基本状态转变过来,这个基本状态一定是(C)就绪状态”,就绪态可以由运行态(时间片到)转过来,也可以由阻塞态(事件完成)转过来,其他两个状态都只有一个来源。第 13 题“关于进程状态变化的说法中正确的是(C)一个正在运行进程的时间片如果终结,该进程将转入就绪状态”,A 选项错在进程创建后先进入就绪队列,不是直接运行;B 选项错在进程同一时刻只能处于一种状态;D 选项错在进程可能直接从运行态转向阻塞态再结束,不一定经历全部三种状态。

3.3 进程特征与 PCB:填空题的得分点

第二章还有一组填空和选择,集中在进程基本特征和 PCB 上。第 18 题“在单处理机系统中,处于运行状态的进程(A)只有一个”,单 CPU 同一时刻只能执行一条指令,所以运行态进程最多一个。第 19 题“(B)必会引起进程切换”,运行态→就绪态意味着当前进程让出 CPU,必然触发进程切换。阻塞态→就绪态只是进入了就绪队列,真正切换还要等调度。第 21 题“进程自身决定(A)从运行状态到阻塞状态”,进程可以主动请求 I/O 进入阻塞,但能否从就绪到运行、从阻塞到就绪,都是调度程序或事件完成决定的,不是进程自己能决定的。

第 22 题“进程从运行状态变为等待状态的原因是(A)I/O 请求”,这是最常见的阻塞原因。第 23 题“进程控制块是描述进程状态和特性的数据结构,一个进程(D)只能有唯一的进程控制块”,每个进程有且仅有一个 PCB,PCB 是进程存在的唯一标志。第 24 题“OS 通过(B)PCB 对进程进行管理”,操作系统管理进程就是通过管理 PCB 来实现的,创建进程先建 PCB,撤销进程先撤 PCB。第 26 题“下列信息中,保存在 PCB 结构中的是(C)进程标识符、进程当前状态、代码段指针、通用寄存器值”,磁盘目录和变量结构不属于 PCB 的内容。

填空题部分同样围绕这些概念:并发运行的基本单位是进程,就绪→运行由进程调度引起,进程存在的唯一标志是 PCB,进程由程序段、数据段、PCB 三部分组成,进程与程序的区别在于进程是动态的、程序是静态的。这些空在试卷里出现频率极高,属于必须得分的基础。

4. 第二章后半:进程控制与信号量——PV 操作的符号判断法

4.1 进程控制:创建、唤醒与调度的边界

进程控制部分的三道选择题,核心是搞清楚“谁负责什么”。第 1 题“进程被创建后即进入(A)就绪队列排队”,新进程创建完 PCB 后进入就绪队列等待调度,不会直接进入运行或等待。第 2 题“以下步骤中,(A)不是创建进程所必须的”,创建进程需要建立 PCB、分配内存、将 PCB 链入就绪队列,但不需要“由调度程序为进程分配 CPU”——分配 CPU 是进程被调度选中之后的事,进程创建时还没轮到它。第 3 题“(C)不会引起进程创建”,设备分配是设备管理的工作,不会直接导致创建新进程。用户登录和作业调度都会产生新进程,因为每个登录用户和每个被调入的作业都需要一个进程来代表。

第 5 题“一个进程被唤醒意味着(D)进程变为就绪状态”,唤醒的本质是把进程从阻塞队列移到就绪队列,并不代表它立刻获得 CPU。这里容易误选 A“该进程重新占有了 CPU”,但唤醒和调度是两个步骤:唤醒只是让进程进入就绪态,之后还要等调度程序选中它才会占有 CPU。

4.2 信号量的核心符号规则:P 减 V 加

信号量部分是第二章的绝对重点,选择题数量最多,而且数值判断题特别容易错。先说最核心的规则:

P 操作(wait):信号量值减 1。如果减 1 后信号量 >= 0,进程继续执行;如果减 1 后 < 0,进程被阻塞,进入等待队列。

V 操作(signal):信号量值加 1。如果加 1 后 > 0,进程继续执行;如果加 1 后 <= 0,从等待队列中取出一个进程,使其变为就绪状态。

对应题目就是第 7 题和第 8 题。第 7 题“每执行一次 P 操作,信号量 s 减 1,如果减 1 后(B)则该进程继续执行,若(C)则该进程将被阻塞”——s>=0 继续,s<0 阻塞。第 8 题“每执行一次 V 操作,信号量 s 加 1,如果加 1 后(A)则该进程继续执行,若(D)则从等待队列取出进程”——s>0 继续,s<=0 唤醒一个等待进程。

为什么会有这样的边界差异?因为信号量的值代表“可用资源数”。P 操作是申请资源,只要申请后资源数不小于 0,说明还有资源或者刚好用完,进程可以继续;一旦变成负数,说明有进程在等待。V 操作是释放资源,释放后如果资源数大于 0,说明没有进程在等;如果小于等于 0,说明还有进程在等待队列里,需要唤醒一个。

第 10 题“若信号量 s 的初值为 2,当前值为 -1,则表示有(B)1 个等待进程”。当前值为负数时,负数的绝对值就是等待进程数。初值 2 表示一开始有 2 个可用资源,当前值 -1 说明有一个进程在等待资源释放。第 11 题“信号量初值 3,当前值 1,M 表示可用资源个数,N 表示等待进程数”——当前值大于 0 时,当前值就是可用资源数,没有等待进程,所以 M=1,N=0。

第 12 题“在具有 n 个进程的系统中,某资源允许 m 个进程(n>m>1)同时进入临界区,则信号量 s 值的变化范围是(A)m-n<s<m,处于等待状态的进程数最多是(n-m)”。信号量初值为 m,进程不断申请资源导致值减小,最多减少到 m-n(当其余 n-m 个进程都在等待时),所以变化范围是从 m-n 到 m。等待进程数最多是 n-m,因为已经有 m 个进程进入了临界区,剩下的 n-m 个都可能在等待。

4.3 临界资源与互斥:借助简单场景理解

临界资源是互斥的共享资源,比如打印机、共享缓冲区,同一时刻只能有一个进程使用。第 1 题“关于临界资源的叙述中,正确的是(C)临界资源是互斥的共享资源”,既不是非共享资源,也不是任意共享资源。第 2 题“(B)不属于共享资源”,非共享数据不属于共享资源,打印机、共享变量、共享缓冲区都是共享资源。第 3 题“临界区是(C)一段程序”,注意临界区不是数据区也不是缓冲区,而是访问临界资源的那段代码。

第 21 到 23 题用 mutex 信号量理解互斥。mutex 初值为 1,表示临界区空闲。当 mutex=1 时,没有任何进程在临界区;当 mutex=0 时,有一个进程在临界区,且没有其他进程等待;当 mutex=-1 时,有一个进程在临界区,另一个进程在临界区外等候。这三个值对应三种状态,做题时先想“临界区里有几个进程”,再看“等待队列里有几个进程”,两个数加起来就是 mutex 的绝对值变化规律。

第 25 题“一个正在访问临界资源的进程由于申请等待 I/O 操作而被中断时,(C)可以允许其他就绪进程抢占处理器,继续运行”。这里的关键是区分“非临界区代码”和“临界区代码”。进程因为 I/O 被中断时,它已经离开了临界区(I/O 操作通常不在临界区内执行),所以其他进程可以运行,但不允许其他进程进入与该进程相关的临界区——因为该进程还持有临界资源的使用权。这个场景在考试里反复出现,理解“临界区内不能调度,临界区外可以调度”就能选对。

5. 常见问题排查:做这套题最容易翻车的五个误区

5.1 误区一:把“阻塞”和“就绪”搞反

现象:做第 8 题“当一个进程正等着输入一批数据时”选成了“就绪状态”,或者做第 22 题“进程从运行状态变为等待状态的原因”选成了“时间片到”。

原因:看到“等待”就往就绪上想,忽略了“等待”的具体对象。就绪态是等 CPU,阻塞态是等 CPU 以外的事件(I/O 完成、信号量释放等)。输入数据属于外部事件,不是 CPU。

解决:判断状态时先问一句“它在等什么”。等 CPU → 就绪;等事件 → 阻塞。把这句话写在草稿纸旁边,凡是状态判断题都先过这个过滤器。

5.2 误区二:信号量初始值和当前值分不清

现象:第 10 题“信号量初值为 2,当前值为 -1,问有几个等待进程”,有人选 2 或 3。

原因:把“初值”当成“当前值”,或者忘了当前值为负时的含义。信号量当前值为负数,绝对值就是等待进程数,和初值没有直接关系。初值只是用来推断“最开始有多少可用资源”,不是用来直接算等待人数的。

解决:遇到信号量数值题,先写一行小字:当前值 > 0 → 有资源,等待数为 0;当前值 = 0 → 无资源,等待数为 0;当前值 < 0 → 无资源,等待数为 |当前值|。

5.3 误区三:时间片计算忽略了用户数

现象:第 10 题选 100ms,理由是“1 秒等于 1000ms,选个整数”。

原因:没有把响应时间的公式带进去。响应时间 = 用户数 × 时间片,100ms × 50 = 5 秒,远超 1 秒的限制。

解决:凡是时间片轮转相关题目,先写公式再代入数字。时间片最大值 = 响应时间上限 ÷ 用户数。如果题目给的是“响应时间不超过 2 秒”,时间片就是 40ms。公式永远不会变,变的只是数字。

5.4 误区四:把临界资源理解成“完全独占”或“完全共享”

现象:第 1 题“临界资源是互斥的共享资源”选成了“非共享资源”,第 2 题把“非共享数据”当成了共享资源。

原因:临界资源本质上还是共享资源,只是它要求互斥访问——换句话说,它被多个进程共享,但同一时刻只允许一个进程使用。打印机就是典型:多进程都能用,但一次只能一个进程打印。如果把它理解成“非共享”,那就把“互斥访问”和“不可共享”混为一谈了。

解决:记住这个例子——打印机。它是共享资源(所有进程都能申请),但互斥使用(同一时刻只能有一个进程占用)。遇到临界资源题,先问“多个进程能用吗”,能用就是共享资源,再看“同一时刻能用吗”,不能用就是互斥的共享资源。

5.5 误区五:把“进程调度”和“作业调度”混为一谈

现象:第 20 题“进程调度主要负责选一个进程占有 CPU”,选了“选一个作业进入内存”。

原因:作业调度发生在进程创建之前,它负责把外存中的作业调入内存并创建进程;进程调度发生在进程创建之后,它负责从就绪队列中选一个进程分配 CPU。两个调度发生在不同阶段,但初学者特别容易把“选一个进入内存”当成“调度”的全部含义。

解决:按时间线记忆——作业调度是“把作业变成进程”,进程调度是“把进程变成运行态”。看到题里出现“占有 CPU”“就绪队列”“运行状态”,一定是进程调度;出现“进入内存”“作业”,一定是作业调度。

6. 把答案变成自己的:一个可复现的错题复盘技巧

6.1 先建立一张“错误归因表”

做完这套题,不要只看对错,把每道错题按归因分类。我常用的分类有四种:概念混淆(两个知识点没分清)、条件遗漏(漏看了题干限制词)、计算失误(公式用错或单位算错)、记忆缺失(纯粹没背住)。比如第 10 题时间片算错,归为计算失误;第 25 题临界区选错,归为概念混淆。分类之后你会发现,大部分错误集中在某一个类别里,那就是复习的重点方向。

按题目顺序,可以画一张三列五行的表格:题号、错误选项、错误归因。做完一遍后,把每道错题填进去。这张表比错题本简单,但它能帮你快速定位知识漏洞所在章节——全是概念混淆就重新看状态转换和信号量,全是计算失误就多做几道时间片题。

6.2 用“反向出题法”检验掌握程度

一个更有效的验证方式是反向出题:把正确答案改成错误选项,看自己能不能判断出来。比如第 13 题正确答案是“时间片终结转入就绪”,你可以自己写三个错误说法——“进程一旦形成首先进入运行状态”“进程可能同时处于几种状态”“一个进程必须经过三种基本状态才能结束”,然后不看原题,试着解释每个说法为什么错。能解释清楚,说明真的理解了;解释不清楚,就是还没吃透,需要回去看原题解析。

这套习题最有价值的地方,在于它的选项设置几乎覆盖了操作系统前两章的所有易错点。与其考前熬夜背答案,不如按上面说的分类复盘法过一遍:每道题先不看答案,自己写出判断逻辑,再对照标准答案检查,最后把错题归因。这个方法我用过很多次,从第一章的“操作系统是管理计算机资源的软件”到第二章的“进程状态转换四线图”,一遍下来基本不会再有知识盲区。希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/24 19:01:02

量化交易笔试指南:十家公司真题解析与概率统计要点

简介&#xff1a;面向量化投资求职者的笔试题解析合集&#xff0c;以zip压缩包形式提供。内容围绕诚奇、概率投资、海悦、天演、衍复、佳期、平方和、集微、九坤、凯读十家公司的量化考点展开&#xff0c;涉及统计学、概率与随机过程、金融工程、机器学习、算法交易等核心领域&…

作者头像 李华
网站建设 2026/10/24 18:18:14

LTE RLC协议实战指南:从状态变量到ARQ的落地读法

简介&#xff1a;面向LTE无线接入网研发、协议栈实现与测试岗位工程师的学习资料&#xff0c;聚焦TD-LTE数字蜂窝移动通信网Uu接口中的RLC协议。内容依据中国通信标准化协会技术报告&#xff0c;系统规定E-UTRA RLC子层结构、RLC实体、上下层业务关系、功能划分&#xff0c;以及…

作者头像 李华
网站建设 2026/10/24 18:12:59

SSM框架个人健康管理系统源码实战:从部署到二次开发

简介&#xff1a;这是一份面向本科毕业设计场景的Java Web课程资源&#xff0c;围绕“个人健康信息管理系统”提供从选题分析到系统测试的完整论文方案&#xff0c;适合计算机相关专业学生以及正在入门SSM整合开发的学习者。资源压缩包内包含1个docx文档&#xff0c;大小约5.26…

作者头像 李华
网站建设 2026/10/24 18:12:55

R语言期末复习指南:从数据类型到假设检验的完整脉络与易错点

简介&#xff1a;这是一份面向R语言初学者与备考人员的试题练习文档&#xff0c;围绕R语言基础知识点组织题目并附带参考答案&#xff0c;可用于课程复习、自测检验与考前查漏补缺。内容覆盖描述性统计与推断性统计的区分、名义数据与计量数据等数据类型判断&#xff0c;以及ge…

作者头像 李华