ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

操作系统概念考研复习指南:思维导图拆解高频考点与易错点

操作系统概念考研复习指南:思维导图拆解高频考点与易错点 每年到了三、四月份就会有大批准备计算机考研的同学开始全网搜“王道操作系统笔记”我也不例外。第一次翻开王道《操作系统》第一章的时候说实话我是有点懵的——“操作系统概念”这一章看起来全是概念没有代码没有算法好像背一背就能过可真合上书又什么都说不出来。后来我花了大概两周时间把第一章“操作系统概念”彻底重做了一套思维导图并且在导图上标满了真题出处和易错点整个复习节奏才真正顺过来。这篇东西就是把那套笔记的思路完整拆开讲一遍第一篇章到底学什么、思维导图怎么画才能不变成“抄书”、哪些概念是考研命题的高频点、哪些细节是理解后续章节的地基。适合正在备考408或者考自命题操作系统的同学也适合期末复习想快速搭起知识框架的人。如果你是零基础跨考这篇文章同样能帮你搞明白“操作系统这门课到底在讲什么”。1. 为什么是“操作系统概念”这一篇章在整个考研复习里的位置1.1 操作系统在考研里到底占多大比重计算机考研专业课里408统考的数据结构、计算机组成原理、操作系统、计算机网络四门课操作系统通常占35分左右其中选择题约20分大题约15分。自命题学校里操作系统更是经常作为压轴科目出现考王道的学校尤其重视对基础概念的深度理解。从王道教材的章节安排来看“操作系统概念”作为第一篇内容量不算大但它决定了后面“进程管理”“内存管理”“文件管理”“输入输出管理”所有章节的学习方式。比如第二章讲进程第一句就会用到“并发”和“共享”第三章讲内存上来就要讨论“虚拟”的实现第六章讲设备管理几乎每一个策略都是在“提高资源利用率”这个目标下设计的。没有第一篇的基础后面全是悬空的概念堆叠。所以我在做笔记时没有把第一篇当成“考前背一背”的章节而是把它当成整个操作系统的总纲。思维导图的第一层分支就是整个科目后续所有章节的索引。1.2 为什么第一篇章全是概念却最容易学崩很多同学学操作系统容易栽在第一章原因很简单这一章的每个词都认识连在一起就不知道在说什么。“操作系统是管理计算机硬件与软件资源的系统软件”这句话背下来很容易但“资源”指什么“管理”管什么“为什么一定要管理”理解不到位的话整句话就是一句正确的废话。另外第一章的知识点之间隐藏着强逻辑关系教材和讲义往往按“定义—功能—特征—发展历程—运行机制—体系结构”的顺序平铺看起来平平无奇实际上每个节点都是下一节点的前提。比如只有理解了“操作系统的目标是方便用户、提高资源利用率”才能理解为什么会有分时系统、实时系统的区别只有理解了“多道程序并发执行”带来的资源竞争问题才能理解“共享”“虚拟”“异步”这些特征是怎么推导出来的。这种层层递进的结构恰好是思维导图最擅长表达的形态。节点之间不再是一行行平铺的文字而是明确的父子关系和因果连线复习时顺着分支往下走逻辑自然浮现。1.3 思维导图在这个阶段的价值把“背诵”变成“推导”我做思维导图有一个核心原则不背诵结论只记录推导路径。第一篇章的内容尤其适合这种整理方式因为它的每个概念几乎都能回答“是什么”“为什么存在”“解决了什么问题”三个问题。举一个具体的例子。“中断”这个概念我在导图里不会只写“中断是CPU对系统内发生的紧急事件的响应”这一句话而是分成三层分支第一层是“为什么需要中断”因为CPU要和慢速设备协同工作轮询浪费太严重第二层是“中断如何分类”外中断与内中断以及各自的触发源第三层是“中断之后发生了什么”保护现场、处理、恢复现场这里会连接第二章的进程切换。这样整理下来一个概念点就变成了一小棵逻辑树到了考场里遇到任何变形题都可以顺着这棵树的路径去推。2. 核心知识细节拆解把“操作系统概念”真正学透2.1 操作系统的定义与功能从三个角度理解王道教材给操作系统的定义是操作系统是控制和管理整个计算机系统的硬件与软件资源合理地组织调度计算机的工作和资源的分配进而为用户和其他软件提供方便接口与环境的程序集合。这句话很长但拆成三个角度就好记多了用户视角、资源视角、系统视角。用户视角操作系统是用户与计算机硬件之间的接口。没有操作系统的时候用户想运行一段程序得自己处理内存、磁盘、CPU调度这显然不可接受。操作系统把硬件细节掩盖起来给用户提供命令接口、程序接口系统调用和图形接口。考研选择题里经常出现“操作系统提供给应用程序的接口是什么”这类题答案就是系统调用。资源视角操作系统是系统资源的管理者。处理器资源、内存资源、IO设备资源、文件资源这四类资源分别对应后面几大管理模块。我画导图时会把“资源管理”作为二级分支下面挂四条线指向“处理器管理进程与线程”“内存管理”“文件管理”“设备管理”这样后面每学一章都能回看总图知道自己学的内容在整棵树上处于哪个位置。系统视角操作系统是最接近硬件的一层软件。所有应用软件都要通过操作系统来使用硬件换句话说操作系统是所有软件运行的支撑环境。这个视角在“操作系统的引导”和“虚拟机”相关题目中特别重要。2.2 四大特征并发、共享、虚拟、异步这四大特征是考研选择题的常客但也最容易混淆。我的导图里把每个特征都配了一个关键问题。并发Concurrence指两个或多个事件在同一时间间隔内发生。这里要死死抓住“同一时间间隔”这六个字宏观上是同时发生微观上是交替发生。考研题最爱在这个地方挖坑拿“同一时刻”来替换“同一时间间隔”一替换就错了。与并发相对的是并行Parallelism并行才要求“同一时刻”同时执行这需要多核CPU的支持。我在导图里特意用两个对比节点记录这个区别并且在旁边标注了一句话单核CPU上可以并发但不能并行。共享Sharing指系统中的资源可供内存中多个并发执行的进程共同使用。共享分为互斥共享和同时访问。互斥共享是说一段时间内只允许一个进程访问该资源比如打印机同时访问是说在一段时间内允许多个进程“同时”访问它们比如磁盘。要注意“同时访问”在微观上其实也是交替的。虚拟Virtual指把一个物理上的实体变为若干个逻辑上的对应物。最经典的例子是空分复用虚拟内存和时分复用虚拟处理器。操作系统把物理上的一个CPU虚拟成多个逻辑CPU让每个进程都觉得自己独占了CPU把物理上的内存虚拟成更大的逻辑内存就是虚拟内存。选择题里问“虚拟技术解决的问题是什么”关键答出“让用户感觉资源比实际更多”即可。异步Asynchronism指在多道程序环境下允许多个程序并发执行但由于资源有限进程的执行不是一贯到底的而是走走停停、以不可预知的速度向前推进。只要系统里有并发就必然有异步这是特征之间的连带关系导图里我会把“异步”的父节点直接连接到“并发”而不是单独存一个孤立节点。2.3 运行机制用户态与内核态、系统调用这是第一篇里最难理解、也最常考的一节。内核态也叫管态、核心态是操作系统内核程序运行的状态可以执行特权指令用户态也叫目态是用户程序运行的状态只能执行非特权指令。为什么要区分两种状态因为操作系统要保护自己和其它程序。如果用户程序能随便执行特权指令比如直接修改内存基址寄存器、直接开关中断、直接修改进程状态字系统早就乱套了。所以CPU会把指令分为特权指令和非特权指令用户态下特权指令被禁止执行只有通过系统调用或中断进入内核态才能执行特权指令。这里有个高频考点CPU状态的切换只能发生在内核态下用户态到内核态的切换必须通过中断/异常/陷入trap机制来实现而且切换入口只有这一条路。反过来内核态到用户态通过修改程序状态字寄存器PSW的标志位即可实现两种切换不是对称的。这一点我想特别强调后面做进程管理题时经常会用到。系统调用System Call是操作系统提供给应用程序的接口目的是让用户程序在用户态也能请求操作系统内核完成特权操作。它的过程可以拆成五步用户程序把系统调用号和参数放入寄存器陷入指令trap触发中断CPU进入内核态内核根据系统调用号查表定位处理程序执行处理返回用户态继续执行。顺带提醒一句现在很多内容平台会把“系统调用”和“库函数”混着说其实两者有清晰的层级关系。库函数是对系统调用的进一步封装比如C语言的printf底层调用了write系统调用但用户程序不一定非得用库函数也可以直接发起系统调用。王道教材里有一个经典的对比题凡是涉及资源分配、进程管理、文件操作的必须通过系统调用纯计算类任务和普通函数调用不需要。2.4 中断和异常操作系统“活着”的方式中断是操作系统从用户态进入内核态的唯一入口没有中断操作系统就没办法接管CPU。这个概念在第一章属于承上启下的位置前面承接运行机制后面连接进程切换和系统调用实现。中断的分类有几种标准。按信号来源分类来自CPU外部的中断称为外中断也称中断、硬中断比如IO设备完成中断、时钟中断来自CPU内部的中断称为内中断也称异常、例外比如缺页异常、除零异常、非法指令。另一种分类方法是按是否强制区分强迫性中断时钟、硬件故障和非强迫性中断访管中断、程序性异常。考研题常考的一个点就是访管中断它是用户程序主动要求进入内核态的唯一手段也就是前面提到的trap指令或陷入指令。在导图里我把中断处理流程单独做成一条纵向分支检测到中断信号→保护CPU现场程序状态字寄存器PSW、程序计数器PC等压栈→分析中断类型与中断向量→转去执行对应的中断处理程序→恢复现场→返回断点继续执行。这条流程在后面讲进程切换时还会再次出现所以我会在导图里加上一条跨章节连线指向“第二章进程切换”告诉未来的自己这里先记住流程等学到上下文切换时回来对照。2.5 体系结构与虚拟机理解操作系统是“一坨代码”还是“一堆模块”第一章最后通常会讲到操作系统的体系结构。大内核宏内核结构把操作系统的主要功能模块都放在内核态例如进程管理、内存管理、设备驱动优点是性能好、模块之间通信开销低缺点是内核庞大、一个驱动出错可能导致整个系统崩溃。微内核结构只保留最基本的功能在内核态如进程通信、中断处理把设备驱动、文件系统等挪到用户态优点是安全性和可靠性高缺点是频繁陷入内核性能较差。考研选择题最爱考的是“下列哪些功能放在微内核的内核中”这类题答案通常是中断处理、进程通信、调度等最基本功能。这里可以结合热词里经常出现的一些真实操作系统来理解QNX是一个典型的微内核实时操作系统在汽车工业领域用得很多传统Linux和Windows则偏向大内核/混合内核。国产操作系统里的麒麟、统信UOS底层同样是Linux内核所以它们的体系结构特性与Linux一致。虚拟机部分重点在于两种虚拟机管理程序Hypervisor的区别。第一类虚拟机管理程序直接运行在硬件之上相当于“裸机里的操作系统”比如ESXi、Xen第二类虚拟机管理程序运行在宿主操作系统之上相当于一个普通应用程序比如VirtualBox、VMware Workstation。考研选择题里如果出现“虚拟机管理程序与宿主操作系统有依赖关系”指的就是第二类。此外还有半虚拟化和全虚拟化的概念理解到“虚拟机技术让一台物理机可以同时运行多个独立操作系统”就够了更深的实现在系统架构方向里再展开。3. 从零构建思维导图实操方法与完整结构3.1 工具选型与结构约定做思维导图我试过XMind、MindMaster、MindNode也试过Obsidian里的插件最终长期用的是XMind。原因有三个一是节点的层级管理和折叠用起来顺二是一键生成大纲模式方便回看文字版三是免费版足够覆盖考研笔记的需求。如果你更喜欢开源工具用FreeMind或者直接在Obsidian里手写Markdown大纲也可以思维导图的内核是结构不是工具本身。在动笔之前我先定了一套自己的标注规范避免导图变成一张花花绿绿却毫无重点的图一级分支章节名用深色高亮二级分支核心知识点标题三级及以下概念关键词、关键公式、例子考点标注在节点右侧加“考”字标签后面附年份/真题编号易错标注红色背景或“坑”字标签记录自己踩过的坑跨章节引用用虚线连接或者直接写“参见第X章”。这套规范的核心思路是导图不是课本的压缩版而是“考点的立体地图”。颜色和标签都在为复习服务不是为了好看。3.2 第一篇章导图的分支设计完整结构我把“操作系统概念”这一篇的导图设计为六个一级分支1 操作系统的概念、功能与目标系统资源的管理者处理器管理、内存管理、文件管理、设备管理用户与硬件之间的接口命令接口联机/脱机、程序接口系统调用、GUI最接近硬件的软件支撑应用软件运行2 操作系统的特征并发同时间隔与同时刻的辨析共享互斥共享与同时访问虚拟空分复用与时分复用异步由于并发资源竞争导致的走走停停四者关系并发与共享互为条件虚拟与异步由并发派生3 操作系统的发展历程手工操作阶段用户独占全机人机速度矛盾突出单道批处理系统引入脱机输入输出减少CPU空闲多道批处理系统多道程序交替运行资源利用率大幅提升分时操作系统时间片轮转解决人机交互问题实时操作系统硬实时与软实时优先保证任务截止时间网络与分布式操作系统概念了解即可早期真题中偶有涉及4 操作系统的运行机制内核态与用户态特权指令、非特权指令用户态与内核态的切换中断是唯一入口系统调用过程、系统调用号、陷入指令中断和异常外中断、内中断、异常分类中断处理的基本流程5 操作系统的体系结构大内核功能集中、性能优、稳定性风险高微内核功能精简、可靠性强、性能损耗外核了解资源分配与保护分离6 操作系统引导与虚拟机操作系统引导流程BIOS/UEFI→主引导记录→加载内核→初始化虚拟机第一类Hypervisor、第二类Hypervisor现代操作系统示例Linux、Windows、以及基于Linux的麒麟、UOS、鸿蒙PC等这套分支不一定和王道教材的顺序完全一致我做了两处调整把“发展历程”放到“特征”之后因为先理解了并发才能理解多道批处理到底在解决什么问题把“引导与虚拟机”单独作为一级分支因为近年真题里这部分的出现频率明显上升。3.3 关键词裁剪与考点标注别让导图变成流水账很多同学做思维导图最大的问题是把课件上的话整行搬进去结果一张图几百个节点复习时根本看不完。我的裁剪标准是一个概念只保留一组“锚点词”主动词保留修饰成分删掉名词性结论保留过程性描述转换成三到五步的关键词序列。举一个具体的例子“分时操作系统”这个节点我不会写成“分时操作系统是把处理器的运行时间分成很短的时间片按时间片轮流把处理器分配给各联机作业使用若某个作业在时间片内不能完成则暂时停止运行把处理器让给另一个作业使用”而是压缩成四个锚点时间片、轮转、交互性、及时性。看到这四个词如果能自己组织出完整定义说明这个点已经吃透了如果组织不出来就回去看教材对应段落而不是在导图里反复抄写原句。考点标注是很关键的一步。我会在每个高频考点旁边写下真题年份比如“进程和线程的区别”“虚拟内存的实现基础”这些其实在第一章就会埋下伏笔的考点我会用“第2章深挖”这种标签提醒自己。第一章本身直接命题的考点我标得比较密集的是并发与并行的辨析、用户态与内核态的切换条件、系统调用的过程、中断分类。每标注完一个考点我都会顺手在王道习题里做一遍对应题目检验锚点词是否足够支撑做题。3.4 跨章节连线把概念篇和后三章串起来跨章节连线是这套导图最值钱的部分。第一遍学的时候你可能看不出概念篇和后面章节有什么具体联系但等你复习到第二、三章再回来看这些连线会把整本书变成一个闭环。我在导图里埋的几条关键连线是并发 → 第二章进程调度并发是进程调度的前提没有并发就没有调度问题虚拟 → 第三章内存管理虚拟存储器正是空分复用思想的应用共享 → 第五章设备管理SPOOLing技术就是典型的同时访问 vs 互斥访问的折中系统调用 → 第二章进程管理/文件管理所有进程控制、文件操作相关系统调用后面都会逐个展开中断 → 第二章进程切换中断处理中保存/恢复现场与进程上下文切换是一回事。每当我在后续章节学到一个概念能回连到第一篇导图就会在原节点后面追加一条引用标签比如“第3章 页表机制”“第5章 缓冲技术”。等整本四章复习完第一章的导图边上会挂满标签这时候你对操作系统全书的认知就已经从“一堆知识点”变成“一张网了”。这也正是思维导图对比普通笔记最大的优势它能可视化呈现知识的扩散路径而笔记只能线性地记录。4. 学习中的常见问题与排查技巧实录4.1 概念背了又忘是不是记忆力不行不是是缺少“组块化”编码。操作系统第一章的概念量很大如果只是逐条背大脑没有可依托的结构遗忘几乎是必然的。我试过一种非常管用的方法在纸上画一棵迷你树中心写“操作系统是什么”然后不看书凭记忆往下一层层展开能展开到哪一层就展开到哪一层卡住的地方就是薄弱点。这种“回忆式测试”比我反复朗读笔记高效很多做完之后马上回到导图里把卡壳的节点重看一遍记忆会深刻得多。建议把这个方法固化成每周一次的复盘动作每章复习完就做一次纯手写回忆。导图此时扮演的是“检查标准”的角色不是“阅读材料”的角色这两者关系不能搞反。4.2 并发/并行、内核态/用户态总是混怎么彻底分清这类混淆的根本原因是记了结论但没有代入场景。并发和并行我建议通过“食堂打饭”来理解只有一个打饭窗口时十几个人排队轮流出餐这叫并发宏观上大家同时在等待打饭微观上同一时刻只有一个人在窗口如果开了两个窗口同一时刻就有两个人在打饭这叫并行。一句话总结并发是逻辑上的同时并行是物理上的同时。内核态和用户态的问题则建议从“为什么需要区分”入手。想象一个学校机房如果每个学生都能直接去改机房管理员的配置机房早就乱了只有管理员本人才有权限改配置普通学生只能提交申请让管理员代劳。用户程序就是普通学生管理员是内核提交申请就是系统调用处理申请时学生进到管理员的屋里内核态再出来。这样把角色关系和访问权限理清选择题里只要看到“特权指令”“内核态”就能自动对应到管理员这个角色上。4.3 导图做成了抄书怎么办这是做思维导图最常见的翻车现场症状是打开导图看到了密密麻麻的完整句子根目录下挂着几百个节点看起来很有成就感但实际上复习时根本不想看第二眼。解决办法只有一个删。我当时的操作是用“三删原则”第一删修饰词把长句压缩成关键词第二删基础概念所有自己能随口说出定义的节点都直接折叠到父节点里第三删重复内容和后面章节有重叠的先留着但只保留提示性的一句话。删完以后如果一级分支下还有超过20个叶子节点就说明整章的内容没有真正消化把重点和高频考点再往上一层提。导图从“精美”到“极简”这个过程其实就是学习从“表面理解”到“内化理解”的过程。4.4 系统调用、库函数、API三者的关系到底怎么答这是一个高频概念混淆点尤其是跨考的同学。我的导图里把它们画在三层最底层是操作系统内核提供系统调用接口中间层是C库和其他运行库封装了系统调用形成库函数最上层是应用开发者接触的各种API和框架接口。要区分清楚关键在于回答“谁在调用谁”。用户程序可以跳过库函数直接发系统调用但底层的系统调用要到内核态去执行库函数本身可以包含多个系统调用甚至完全不依赖系统调用比如简单的字符串拼接。考研题目并不需要你掌握每个库函数的内部实现但需要能够在选项中准确认出“printf底层调用write是库函数→系统调用的关系”“fork()是一次系统调用”“malloc()底层可能包含brk或mmap系统调用”这些典型对应关系。把这些例子写进导图里作为注脚比空记概念有效得多。4.5 概念篇复习多久合适节奏怎么安排我比较推荐的时间节奏是基础较好或者科班出身的同学概念篇一般在三到四天内过完第一轮每天两个小时左右两小时看教材、两小时做思维导图和对应习题零基础跨考的同学建议把时间放宽到五天到一周因为运行机制和中断这两节是后续章节的“地基”值得多花时间吃透。第一轮做思维导图时不用追求一次成型可以先把大框架搭好知识点填个百分之七八十然后去做王道课后题做完题目再回头补充导图。做题过程中遇到的每一个“没想到”都是导图的更新点比如某些选择题会把“分时系统是实时系统的一种”作为干扰项这类干扰项本身就应该记进导图的“错题标注”分支里。把导图和习题迭代推进第一遍过完的效果不会输给盲目地刷三遍教材。5. 几个容易被忽略的小细节5.1 脱机命令接口和联机命令接口的区分命令接口多数同学看一眼就过了但选择题里拿这两个概念做文章的不在少数。联机命令接口是交互式的用户输入一条命令系统执行一条分时系统为典型脱机命令接口是批处理式的用户把一堆命令写好提交流程系统一次性处理早期批处理系统为典型。我在导图里用“是否实时交互”作为分支判断条件直接对号入座。5.2 操作系统引导流程的细节不能只停在“BIOS→MBR→内核”近年操作系统引导相关的题目出现频率明显上升尤其是国产操作系统生态铺开之后很多自命题学校开始考察启动流程的细节。要掌握的关键步骤是CPU加电→从固化在ROM中的BIOS/UEFI启动→BIOS自检→按启动顺序读取引导设备的主引导记录MBR位于磁盘0号扇区→MBR中的引导程序加载操作系统的引导程序→引导程序加载内核文件到内存→内核初始化建立中断向量表、页表、进程表等核心数据结构→转到用户态启动第一个用户进程如Linux下的init/systemd。这一条流程里每一个环节都可能被抠成选择题选项特别是“MBR里存的是什么”“内核初始化的主要工作包括哪些”这两个点。5.3 虚拟机相关概念要联系实际系统有些同学会问考研复习为什么要关心虚拟机这不是工程知识吗实际上近年408和自命题的选择题里偶尔会出现“虚拟机管理程序”相关的概念判断而且王道教材第一章也专门列了一节。理解第一类和第二类Hypervisor的区别时可以把自己平时用过的软件代入如果你在Windows上安装VirtualBox跑一个Ubuntu 20.04 LTS那VirtualBox就是第二类因为它依赖宿主操作系统管理硬件如果是VPS服务商提供的云主机底层通常是直接跑在裸机上的KVM或Xen属于第一类。这样区分以后题目选项里出现“依赖宿主操作系统”或者“运行在裸机之上”就能秒判。6. 关于做笔记这件事我的几条亲测体会6.1 导图是给“未来的自己”看的要预设遗忘做思维导图时最常见的心态是“我现在明明记住了写个提示就够了”但等到一个月后回头复习看着一个孤零零的关键词完全不知道它在说什么。我的做法是凡是“提示性关键词”后面必须带一个“触发问题”。比如“时间片”这个锚点词后面我在备注里写“时间片是固定还是可变时间片过长会退化成什么时间片过短会有什么开销”复习时只看备注里的问题能回答出来才算过关。这个方法比反复看定义更能对抗遗忘。6.2 比起颜色美术连接关系才是导图的灵魂我不反对把导图做得好看但如果你花了太多时间在调整字体和颜色上多半是方向错了。导图真正值钱的是节点之间的连接关系父节点为什么能推出子节点两个分支之间为什么有关联。复习到我考研后半程时XMind里几乎不开颜色视图直接看纯文本大纲注意力全部放在层次和逻辑上。等导图的结构足够清晰导出的文字大纲本身就是一份非常优秀的背诵提纲。6.3 每天睡前用十分钟“复述导图”是性价比最高的复习我的一个习惯是每天晚上睡前不看书打开导图只看到一级分支然后试着把每个一级分支下一层的内容口述一遍说不了几句就卡壳的地方就是明天要优先补的地方。这样一轮下来整套操作系统框架会在大脑里形成稳定的回放路径。到了考场上拿到卷子看到题目关键词大脑会自动把相关分支“调取”出来那种状态和死记硬背的感觉完全不同。我自己考研后期体验最深的也是这一点知识变成了可以随时调用的结构而不是躺在笔记里等待被怀念的文字。
返回列表