操作系统考研辅导书-操作系统辅导考研书
在预备操作系统考研的时候,最忌讳的就是照搬那些现成的大语文教材。
那些书往往把知识点像分尸一样拆开揉碎了讲,让你认定每个概念都像是个孤立的球,互不相关。
实际上不然,操作系统没那么复杂,它更多是个大机器,你只需求学会如何让这台机器动就行。就像学开车,你不需求把引擎、变速箱和仪表盘都背下来,只要知道踩油门、转方向盘、看转速表如何配合,车就能跑。 大量人一上来就盯着那些抽象的 OSI 七层模型要么复杂的进程调度算法死磕,结局写着写着就晕了。
这时候得换个思路,把操作系统当成一个资源分配的大管家来想。它面对的是 CPU、内存、磁盘这些简直无限的资源,如何把有限的精力分给各个进程,如何让它们有序地排队干活。
这不只是是理论,更是你赶明儿写代码、搞项目时,想清楚“线程如何切换”、“内存如何回收”、“文件 IO 如何并发”的核心。 就拿进程调度那块儿来说,考研考重点往往挺细,比如“工夫片轮转法”到底如何算,要么“抢占式调度”在啥场景下用。别光背定义,得自己造个场景演练一下。
比如两个进程 A 和 B 都在等着 IO 操作,A 的等待工夫 10 秒,B 的等待工夫 5 秒。
要是用轮转法,A 先拿 1 秒,B 拿 1 秒,A 又拿 1 秒,这样轮流下来。
这时候你心里得有个数:B 别看等待工夫短,但它跑得慢,A 别看快但被卡住了。
实际上这道理在Linux 的 CFS(彻底公平调度器)要么Windows 的优先级调度里都能见到。就像你玩单机游戏 FPS 项目,要是两个玩家掉血量一样,游戏算法会自动让掉血少的那个人抽到技能;要是你手动点了高等级优先,掉血量多的人直接秒抽技能。
这就是调度算法在干活,你只需求在脑子里模拟这个过程就行。 说到数据展示,实际上不用那些花哨的图表。自己写个好办的 Python 程序,用 Linux 的 `mpstat` 命令跑一下 CPU 负载,要么用 `free -h` 看一眼内存情况,截图贴进去。
比如你看到数据是 8%,别光说“内存占用正常”,能够接着说:“你看这里用到 8%,说明刚刚那轮代码跑完了,目前 CPU 又空闲下来预备接下一个任务了。
要是显示 100%,那说明 CPU 被占满了,进程卡死在这了,这时候就得重启要么加内存了。”这种具体的手感,比背一堆“注意内存泄漏”的废话强多了。 另外,操作系统里还有几个好办让人抓狂的概念,像“死锁”和“僵尸进程”。死锁就像是两个人都等着对方手里的钥匙才能出门,最终哪位也不让哪位走,系统就僵住了。
这时候你得知道如何破,一般是先挑一个进程杀掉,要么给它加个锁,它走了别人就顺了。僵尸进程则是孩子出了门,家长忘了收钱了,系统里留着占个位置,但系统持续认定它在干活。
这时候要是家长忘了,僵尸进程就会一直运行直到耗尽内存被系统回收。
这个比喻挺形象的,考试时只要能在题目里画出这个循环图,要么写出对应的判断逻辑(比如“两个进程都等待资源且都要求被剥夺资源”),往往就能拿满分。 还有带外设备和虚拟机的概念,这时候就要结合硬件知识了。
比如一个 PC 插了一个 USB 板卡,操作系统得拍板把它当成啥。
有时候它能够是一般/平平的文件,有时候能够嵌入到你的图片里变成一个内嵌的 GIF。
这就相当于虚拟机技术,你在虚拟机里运行数据库,外面的服务器负责给它供电和访问网络。
要是虚拟机挂了,系统还得知道如何优雅地处理,别让数据库直接报错挂掉,这可能涉及到守护进程要么守护线程的机制。
这种细节要是在面试要么考卷上出现,略微点一下即可,不用整篇都讲。 最终得提一下,操作系统这东西,理论深度实际上不深,重在应用。大量考研题实际上是在考你逻辑判断本事。
比如问“为啥进程需求保护?”,答案往往不是“为了保险”,而是“为了公平和效率”。为了保护,需求权限管住;为了公平,需求调度算法;为了效率,需求缓存和页表。把这些点串起来,你就能在几十秒内想明白出题人的意图。 总结一下,别再 зубrism 那些枯燥的名词了。把操作系统想象成一个需求不断维护的系统,它需求调度员(调度器)、账房先生(内存管理)、物流员(磁盘调度)和保镖(保险机制)。
只要你掌握了这些角色的根本职责和根本逻辑,那些宏大的理论挺快就会变成你手中的工具箱。下次做题时,试着多问几个“要是……会怎么着”,多动手写点脚本,你会发现,原来操作系统就在你周围,等着你去折腾它。
声明:演示网站所有内容,若无特殊说明或标注,均来源于网络转载,仅供学习交流使用,禁止商用。若本站侵犯了你的权益,可联系本站删除。
