简介这是一份计算机操作系统课程配套的课后习题答案解析文档覆盖第一章与第二章的核心考点适合计算机科学与技术专业学生课后自测、期末复习及备考使用。资源包内共1个docx文件大小约53KB内容为两章共33道经典选择题的完整题干、标准答案与逐题解题思路说明。目前已有1313人学习浏览过此资源。第一章习题主要围绕操作系统的定义、用户与计算机的接口、多道程序设计技术、批处理与分时系统等基础概念展开第二章则重点讲解进程的特征、进程基本状态及其转换、进程调度与状态变迁等核心难点。每道题均附带简明解析不仅能帮助读者快速核验学习效果还能通过解析理解易错点例如进程的静态性与动态性区分、就绪态与阻塞态的转换条件、时间片对响应时间的影响等。文档按章节顺序编排答案紧跟题目适合作为操作系统入门阶段的同步练习与考前冲刺材料。1. 操作系统课后习题第一章和第二章的考点分布与拿分策略操作系统这门课第一章和第二章的课后习题就是整门课的考点压缩包。第一章考操作系统是什么——定义、作用、三大类型、时间片计算全是选择和填空第二章考进程怎么管——进程特征、状态转换、PCB、信号量P/V操作难度直接上一个台阶也是期末和面试里最容易翻车的地方。这两章的分值占比大概是这样基础概念题约30%状态转换题约25%信号量题约35%计算和填空约10%。拿分的关键不是背定义而是吃透三张表操作系统类型对比表、进程状态转换表、信号量取值含义表。这份课后题答案资料覆盖了第一章全部10道选择、第二章全部判断题、填空和进程控制题适合在备考研期末、补考重修或者准备操作系统岗位面试的人。把这些题过一遍相当于给整本操作系统教材的地基做了一遍加固。2. 第一章高频考点操作系统定义、类型判断与时间片计算模板2.1 操作系统的定义与双重身份从第1题到第6题的送分逻辑第一章前六道题都围绕操作系统的定义展开看似送分实际上每道题都埋了一个选项陷阱。第1题问操作系统是对什么进行管理的软件答案是C计算机资源。注意OS管理的不是单纯的硬件也不是单纯的软件而是整个计算机资源——CPU、内存、外设、文件和数据都在管辖范围内选项A和B都只覆盖了一半。第2题从用户观点看OS是什么答案是A用户与计算机之间的接口。这道题考的是OS的对外身份对用户来说OS就是一层翻译官把鼠标点击、键盘输入转换成机器能执行的指令再把结果翻译回人能看懂的界面。第3题问哪个不是OS关心的主要问题答案是D高级程序设计语言的编译器。编译器的作用是翻译程序代码它运行在OS之上OS不直接关心编译器本身OS关心的是为编译过程提供运行环境。第4题问配置了OS的计算机是逻辑上的什么计算机答案是C虚拟。裸机是物理计算机加上OS之后功能增强、用户使用更方便这台增强后的机器在逻辑上存在所以叫虚拟计算机。第5题和第6题继续考OS的基本功能。第5题多道程序设计技术提高了CPU和外部设备的利用率答案是A。多道程序设计让多个程序同时驻留内存当一个程序等待I/O时CPU转去执行另一个程序CPU和外设都不闲着这就是利用率三个字的来源。第6题OS提供给程序员的接口是系统调用答案是B。程序员通过系统调用请求OS服务比如打开文件、申请内存、创建进程库函数是封装在系统调用之上的用户程序直接面对的是系统调用这一层。这类题的答题思路很固定看到管理两个字优先选计算机资源这个完整范围看到用户观点或接口直接匹配用户与计算机之间的接口看到逻辑上更强选虚拟看到多道程序设计选利用率看到程序员接口选系统调用。不要在定义题上纠结超过10秒答案几乎都能在教材第一章前两节的原话里找到。提示第1题最常见的误选是B硬件。OS确实管理硬件但题干考的是完整表述对计算机资源进行管理少了软件、数据这些范围就不完整审题时注意选项的覆盖面。2.2 批处理、分时、实时三大类型判断题与场景题的判别依据第7题到第9题集中考操作系统类型的特征。第7题选A批处理作业必须具有作业控制信息。这是批处理系统能自动成批运行的前提——作业缺少控制信息系统就不知道何时运行、如何运行、运行后怎么处理结果。第8题是场景判断题订购机票系统处理各个终端的服务请求处理后通过终端回答用户答案是D实时信息处理系统。机票预订对响应时间有硬性约束必须在规定时间内完成查询和出票处理这是实时系统的典型应用场景。第9题选B批处理系统的主要缺点是缺少交互性用户提交作业后无法干预运行过程要等一批作业全部跑完才能拿到结果。三类系统的区分我从历年考题里总结了一个快速判据。批处理看关键词成批作业控制信息无交互分时看关键词时间片轮转多个终端用户响应时间实时看关键词规定时间内完成及时响应外部事件。可以把三类系统的主要特征放在一起对比类型核心特征典型关键词主要缺点批处理成批自动运行、无交互作业控制信息、成批提交缺少交互性分时时间片轮转、多用户共享时间片、响应时间、终端响应时间随用户数增多而恶化实时响应时间硬约束机票预订、银行交易、工业控制专用性强、通用性差第8题很多同学误选分时系统就是只看到各个终端没看到处理完后通过终端回答用户这句话暗示的实时性要求。记住一个场景判断口诀出现必须及时响应规定时间内完成这类硬性时间约束选实时出现时间片轮转这类共享CPU机制的词选分时出现成批无交互这类批处理特征选批处理。2.3 时间片最大值计算第一章唯一一道必须动笔的题第10题是第一章唯一涉及计算的选择题分时系统中用户数为50为保证响应时间不超过1秒时间片最大值为多少答案是B20ms。推导过程分时系统按时间片轮转每个用户在一轮中恰好获得一个时间片的CPU时间。最坏情况下最后一个用户要等前面49个用户各跑完一个时间片才轮到自己所以一轮的总耗时是50个时间片。要保证任何用户在1秒内都能得到响应必须满足时间片 × 用户数 ≤ 响应时间上限。代入数据时间片 ≤ 1000ms ÷ 50 20ms取最大值就是20ms。如果题目变形为用户数为80、响应时间不超过2秒就用同一个公式2000ms ÷ 80 25ms。再变形为时间片固定20ms、1秒内必须响应最多支持的用户数是1000 ÷ 20 50。这类题考试几乎年年出考场上的操作只有两步先把单位统一换算成ms再做除法。千万不要把用户数直接乘时间片再除以响应时间——那是把因果关系搞反了。时间片越大单个用户单次运行时间越长但其他用户等待时间也越长系统要保证的是最坏情况下的响应时间所以用响应时间上限除以用户数得到的是时间片的上限值。3. 第二章高频考点上进程特征、状态转换与PCB管理3.1 进程与程序静态与动态的辨析题第二章开头三题全是进程与程序的辨析。第1题问哪个不是进程的特征选C静态性。进程的特征包括动态性、并发性、独立性、异步性唯独没有静态性——静态是程序的属性。第2题说进程是指令的集合是错误的因为指令的集合是程序进程是程序在一个数据集合上的一次执行。第3题问哪个说法不能描述进程与程序的区别选D进程不能包含多个不同的程序。反过来才对一个程序可以被多个进程执行比如多个用户同时打开同一个编辑器产生多个进程共享同一份程序代码。这组题对应两个填空考点。第一组进程的基本特征是动态性、并发性、独立性、异步性进程与程序的主要区别在于进程是动态的、程序是静态的一个程序可以对应多个进程。第二组进程由程序段、数据段、PCB三部分组成PCB是进程存在的唯一标志程序段可以被其他进程共享。还有一个常考的填空来自第二章复习题程序的顺序执行通常在单道程序的工作环境中具有程序的可再现性特征程序的并发执行通常在多道程序的工作环境中具有资源共享特征。可再现性是顺序执行的关键词换成并发环境就变成资源共享这两个词经常被出卷人互换测试。把这些填空答案背下来选择题里凡是把静态性安到进程头上、把指令集合说成是进程的、把进程不能包含多个程序当正确表述的直接判错。3.2 三种基本状态就绪、运行、阻塞的判断标志第7题到第13题考进程的三种基本状态。第7题分配到必要的资源并获得处理机时的进程状态是执行状态关键词是获得处理机——只有真正拿到CPU才叫运行光有资源没CPU只能算就绪。第8题进程正等着输入一批数据时处于阻塞状态阻塞的本质是等待某事件发生比如I/O完成、数据到达、信号量唤醒。第9题运行中的进程申请打印机会变为阻塞态因为打印机由OS管理申请动作本身就是一次I/O请求进程必须等打印机分配完成才能继续执行。第10题不正确的转换是C就绪转换为等待就绪态进程在就绪队列里排队它缺的是CPU而不是某个事件谈不上等待。第11题进程从执行状态转为就绪状态发生在时间片到的时候另一个触发原因是高优先级进程抢占。把六条合法转换和两条非法转换背下来这一组题就全通了。合法转换就绪→运行进程调度、运行→就绪时间片到或被抢占、运行→阻塞等待事件、阻塞→就绪事件完成。非法转换就绪→阻塞、阻塞→运行。其中阻塞→运行必须经过就绪态中转I/O完成的进程只能先进入就绪队列排队不能直接跳回CPU。状态转换触发者是否合法就绪 → 运行进程调度程序合法运行 → 就绪时间片到 / 高优先级抢占合法运行 → 阻塞进程自身发起I/O请求合法阻塞 → 就绪I/O完成 / 事件发生合法就绪 → 阻塞无非法阻塞 → 运行无必须经就绪非法对应填空进程状态由就绪状态转化到运行状态是由进程调度引起的进程的基本状态有执行、就绪、阻塞三个。第12题一个基本状态可以从其他两种基本状态转变过来这个状态一定是就绪——就绪可以由运行时间片到和阻塞I/O完成两个方向转入而运行只能从就绪来阻塞只能从运行来。第13题说一个正在运行进程的时间片终结会转入就绪状态与第11题完全一致只是换了一种问法。3.3 状态转换判断题组从第14题到第22题的触发者规律第14题到第22题是一整组状态转换判断题统一用一个规律就能全答对除了运行→阻塞是进程自己发起的其余转换都是被外部触发的。第14题读盘操作完成后进程从等待变为就绪注意不是直接变运行必须先回就绪队列排队。第15题一次I/O操作的结束可能导致一个进程由阻塞变为就绪——只有一个进程不是多个也不会直接进入运行态。第16题一个进程从就绪状态变成了运行状态是进程调度的结果它本身就代表调度已经发生所以不能作为引起调度的情况来选。第17题有新进程进入就绪队列不是引起操作系统选择新进程的直接原因因为当前运行进程还在使用CPU直到它时间片用完、出错或等待事件才轮到系统去选新进程。第18题单处理机系统中运行状态进程只能有一个这是单处理机三个字决定的与有多少个进程无关。第19题必会引起进程切换的是一个进程从运行态变为就绪态——运行进程让出CPU系统必然要选一个新进程进入运行CPU持有者发生了变化。第20题进程调度主要负责选一个进程占有CPU注意区分作业调度选作业进入内存和进程调度选进程占有CPU。第21题进程自身决定的是从运行状态到阻塞状态只有进程自己知道自己需要等待什么事件所以这道题的答案是A。第22题运行变等待的原因是I/O请求与第9题、第14题是同一逻辑链I/O请求导致阻塞I/O完成导致就绪。做题时先问一句谁触发了这个转换。触发者是调度程序、时间片、I/O完成这类外部实体答案就在被动转换里找触发者是进程自身只有运行→阻塞一种情况。这个规律能解决第二章接近半数选择题。3.4 进程控制与PCB创建、入队、唤醒的完整流程进程控制部分有五道题和PCB的四道题可以放在一起理解。进程被创建后立即进入就绪队列排队而不是运行队列答案A。创建进程的必要步骤包括建立PCB、为进程分配内存、将PCB链入就绪队列唯独不需要由调度程序为进程分配CPU——CPU是进程被调度时才分配的创建阶段只负责造出来、排好队。第23题每个进程只能有唯一的PCB第24题OS通过PCB对进程进行管理第25题PCB是操作系统分配并维护、记录进程信息的内存块第26题PCB中保存进程标识符、进程当前状态、代码段指针、通用寄存器值不保存磁盘目录和变量结构。问卷考不会引起进程创建的是设备分配答案C因为设备分配是运行中进程发出的I/O请求不产生新进程而用户登录成功、启动程序运行都会创建新进程。进程被唤醒意味着进程变为就绪状态答案D唤醒的本质是把PCB从等待队列移到就绪队列不是直接占有CPU。把这些串起来就是一条完整的进程生命周期创建→就绪队列→调度→运行→等待I/O→阻塞→I/O完成→就绪→调度→运行→撤销。填空考点进程在系统中存在的唯一标志是PCB基本年年出现把PCB的三句话背熟唯一标志、OS通过它管理进程、保存标识符状态现场信息。4. 第二章高频考点下信号量语义与P/V操作推演4.1 临界资源、临界区与同步机制四原则信号量部分前六题是概念地基。第1题临界资源是互斥的共享资源——它本身是共享的但同一时刻只允许一个进程使用所以加互斥修饰答案是C。第2题不属于共享资源的是非共享数据打印机、共享变量、共享缓冲区都是共享资源。第3题临界区是一段程序不是缓冲区也不是数据区是访问临界资源的那段代码这个定义经常被选项伪装成一个缓冲区一段共享数据区来干扰。第4题不属于同步机制原则的是无限等待四条原则是空闲让进、忙则等待、让权等待、有限等待。第5题P、V操作这类执行过程中不能被中断的程序叫原语答案B。第6题P、V操作是进程同步、互斥的原语答案A。四原则的细节容易被忽略考试常把其中一条替换成无限等待或立即进入来凑干扰项。答题时把四原则当顺口溜背空闲让进、忙则等待、让权等待、有限等待。其中让权等待说的是进程等不到资源时主动让出CPU这个概念在后面理解阻塞态的时候也用得上——进程阻塞就是让权等待的体现。4.2 P/V操作的值变化规则先操作、后判断第7题和第8题是P/V操作的规则题用先操作、后判断六个字就能拿下。P操作先执行s减1再判断若s≥0则进程继续执行若s0则该进程被阻塞插入到该信号量对应的等待队列中。所以第7题第一空选Bs0第二空选Cs0。V操作先执行s加1再判断若s0则进程继续执行若s≤0则从等待队列中取出一个进程使其进入就绪状态。第8题第一空选As0第二空选Ds0。注意P操作的继续条件是s≥0V操作的继续条件是s0一个是大于等于、一个是大于边界值千万别记混。用一段伪代码把规则固定下来P(s): s s - 1 if s 0: 进程继续执行 else: 进程阻塞加入s的等待队列 V(s): s s 1 if s 0: 进程继续执行 else: 从s的等待队列中取出一个进程置为就绪这套规则里最容易错的两处一是P操作判断的是减1之后的值不是减之前的值二是V操作唤醒的是等待队列里的一个进程该进程进入就绪态但不一定立即运行。第9题进程从阻塞进入就绪可能是因为正在运行的进程执行了V操作——V把等待队列里的进程唤醒正好对应阻塞→就绪这个合法转换。第13题P原语使进程进入等待队列的条件是s0和伪代码里的判断分支完全一致。4.3 信号量数值的含义可用资源数与等待进程数通过第10题到第12题掌握信号量数值的翻译规则。信号量s的语义分两段s≥0时s表示当前可用资源数s0时s的绝对值表示正在等待该资源的进程数。第10题s初值为2、当前值为-1说明有1个等待进程选B。第11题初值3、当前值1可用资源数M1没有进程在等待N0因为s还是正数。第12题最综合n个进程、某资源允许m个进程同时进入临界区nm1信号量初值为m取值范围是m-n到m处于等待状态的进程数最多是n-m。推导过程m个进程成功进入后s从m减到0剩余n-m个进程继续执行P操作s从0降到-(n-m)最小值就是m-n所有进程退出后s回到最大值m。信号量当前值含义s 0有s个可用资源s 0资源全部被占用无进程等待s 0资源被占用且有s的绝对值个进程在等待第20题用P、V操作管理临界区时互斥信号量初值应定义为1。只有初值为1第一个P操作后s0表示临界区被占用第二个P操作后s-1表示有进程在等待。第21到23题考查mutex的三种取值mutex1表示没有进程进入临界区mutex0表示有一个进程进入临界区、没有进程等待mutex-1表示有一个进程进入临界区、另一个进程在临界区外等候。这三道题是信号量部分的必背结论答题时按P操作次数推初始1首次P后变0二次P后变-1V操作后回0或1。4.4 综合判断题同步、互斥与生产者消费者模型第14到第27题里有一组综合判断题。第14题不需要信号量就能实现的功能是进程的并发执行——并发执行是系统天然支持的同步、互斥、前趋关系才需要信号量来约束。第15题进程A正在使用磁带机时进程B又申请这是互斥资源的正常竞争情形B会阻塞等待而不会导致系统错误答案选D无所谓的。第16题互斥型信号量的最大值不超过1也就是二进制信号量资源型信号量的最大值可以是大于零的有限值所以选B。第17题单处理机系统中有20个进程运行状态的进程最多1个——又考了一遍单处理机约束。第18题一个程序经过多次创建后产生的进程是不同的每次创建都是新的执行实例。第19题要对并发进程进行同步根本原因是并发进程推进的不确定性——不用信号量约束谁先谁后无法预知。第24题两个进程合作完成一个任务一个进程要等合作伙伴发来消息或建立某个条件后再向前执行这种制约性合作关系叫同步答案A。同步和互斥的区别在于同步是等条件——A等B完成某件事互斥是争资源——A和B不能同时进入临界区。第25题正在访问临界资源的进程因申请等待I/O而被中断时可以允许其他就绪进程抢占处理器继续运行——释放了CPU但没有释放临界区所以其他进程不能进该临界区但可以运行与临界区无关的就绪进程。第26题信号量S的含义归纳题逐项对照分段语义只要抓住S≥0表示资源数、S0表示等待进程数的绝对值就能排除干扰。第27题是生产者消费者模型的最简形式进程A读数据放入缓冲器进程B加工数据。可能出现B尚未取走旧数据时A又写入新数据覆盖或者A还没放入新数据时B重复加工旧数据重读根本原因是A和B的速率无法同步。这正是用信号量解决同步问题的典型场景需要一个空位信号量记录缓冲区剩余容量初值为缓冲器可容纳的数据个数一个满位信号量记录已有数据的个数初值为0。A写数据前P(空位)、写完后V(满位)B取数据前P(满位)、取完后V(空位)再用一个mutex保证同一时刻只有一个进程访问缓冲区。考试中考到这个模型先画出数据流向再标出P、V的位置分数就到手了。5. 易错题盘点五个最常踩的选项陷阱5.1 陷阱一时间片计算把除数和被除数颠倒错在哪第10题算时间片有人列式成50用户 ÷ 1秒得出50ms或者直接选10ms当人均时间片还有人把1秒当成100ms换算。为什么错时间片是每个用户每次获得CPU的时长一轮下来50个用户各跑一个时间片总耗时50×时间片。要保证最坏情况下1秒内响应必须让总耗时不超过1秒所以是响应时间上限÷用户数不是用户数÷响应时间。怎么答对先统一单位1秒1000ms再套公式时间片最大值响应时间上限÷用户数。1000ms÷5020ms。变形题也一样比如响应时间2秒、用户80个就是2000÷8025ms。考场上一旦出现分时系统用户数响应时间这三个词同时出现就认定是时间片计算题直接用除法。5.2 陷阱二把就绪→等待当成合法转换错在哪第10题四个状态转换里有人把就绪转换为等待当成合法转换选进去。为什么错就绪态进程缺的是CPU它已经在就绪队列里排着队不存在等待某个事件的需求。等待事件阻塞只能从运行态发起因为只有运行中的进程才能执行I/O请求、才能申请资源。一个还没拿到CPU的进程拿什么去申请打印机、申请读盘怎么答对背下六条转换表看到就绪→阻塞和阻塞→运行直接排除。I/O完成只能让进程进入就绪态这个必须经就绪中转的规则在选择题和判断题里反复出现记住一句话任何进程想从阻塞回到运行中间必须过一趟就绪队列。5.3 陷阱三信号量负值时数错等待进程错在哪第10题信号量初值2、当前值-1判断等待进程数时写成2理由是初值是2现在-1差3个所以等待3个。为什么错把初值当成已有的等待数。初值是初始可用资源数当前值是运行过程中的动态结果。s-1的含义是有一个进程在s已经减到0之后又执行了一次P操作把s压到-1这个进程进入等待队列。所以等待进程数是1不是2也不是3。怎么答对等待进程数|当前值|当前值为负时一句话解决。更稳妥的做法是数P操作次数从初值2到当前值-1中间执行了3次P操作前2次有资源可用s从2到0第3次无资源可用s从0到-1失败的那1次对应的进程在等待。把初值、当前值、等待数三个数写出来再选答案基本不会错。5.4 陷阱四mutex0与mutex-1的含义混淆错在哪第21题mutex-1误选两个进程均进入临界区第22题mutex0误选一个进程进入临界区、另一个进程等待进入。为什么错互斥信号量的语义没吃透。mutex0表示临界区被占用但无人排队mutex-1表示临界区被占用且有1个进程在排队。两个进程同时进入临界区是绝对不可能的——互斥信号量的存在就是为了杜绝这种情况选这个选项等于否定了互斥本身。怎么答对按P操作次数顺着推。初始mutex1无进程进入第一个进程执行P后mutex0一个进程进入第二个进程执行P后mutex-1一个进入、一个等待执行V后回到0或1。把0和-1这两个状态各配一个场景反复背0有人在屋里、门外没人-1有人在屋里、门外排着一个。题目问当mutexX时表示什么先想清楚X对应的P操作次数再翻译成场景。5.5 陷阱五实时系统与分时系统场景混淆错在哪第8题订购机票系统被误判为分时系统理由是处理各个终端的服务请求看起来像分时的多终端交互。为什么错分时的关键词是时间片轮转和交互式响应强调的是每个用户都能用上计算机实时的关键词是响应时间硬约束强调在规定时间内必须处理完。机票预订要求查询、出票在限定时间内完成属于实时信息处理。类似的还有银行取款、股票交易、工业过程控制。怎么答对场景题先找硬约束。出现必须在规定时间内及时响应处理完后立即回答选实时出现时间片轮转保证每个用户响应选分时出现成批执行无交互作业控制信息选批处理。三个关键词组各背一组见到场景就往关键词组上靠不要凭终端两个字猜答案。6. 考前冲刺状态转换、信号量推演的答题模板与押题方向6.1 概念题的三步排除法所有概念选择题用三步排除第一步划掉包含绝对化错误的选项比如进程是静态的进程是指令的集合第二步划掉范围错误选项比如OS只管理硬件编译器是OS的主要关心对象第三步对剩下的选项逐字核对教材原文表述。这套方法对第一章定义题和第二章进程特征题几乎百发百中。6.2 状态转换题与信号量题的答题模板状态转换题用四问模板问当前状态、问目标状态、问谁触发、问是否合法。触发者判断规则就四条调度程序→就绪转运行时间片/抢占→运行转就绪进程自身→运行转阻塞外部事件完成→阻塞转就绪。信号量题用三步模板先写初值再按P/V操作逐次推当前值最后看符号翻译含义。当前值≥0是可用资源数当前值0是等待进程数。每道信号量题都把这题三步写在草稿纸上比干想要稳得多。6.3 四个最可能的变形方向从这两章课后题的命题规律看考试变形集中在这四个方向一是时间片计算的变体把用户数、响应时间、时间片三者中任意两个作为已知条件求第三个二是状态转换判断给四个转换描述让判断正误陷阱放在阻塞→运行和就绪→阻塞这两条非法转换上三是信号量推演给初值和一串P/V序列求最终值顺带问有几个进程在等待四是生产者消费者综合题用空位信号量、满位信号量加mutex实现同步互斥让考生标出P、V的位置。把这四个方向各练三遍这两章的分数基本就稳了。说句备考时的血泪经验这两章本身不难难的是手滑。我把时间片算成10ms、把mutex-1当成两个进程进临界区、把机票系统当成时分系统这三个坑全踩过一遍每次都对答案时才发现错得冤枉。从那以后我每次做信号量题都强制自己先写初值、再推当前值、最后数等待进程做状态转换题先画三条圈再选答案。这套习惯帮我稳住了后面进程管理的大题也希望帮到你。本文还有配套的精品资源点击获取