第2章 · 播客 第5集

操作系统 · 设备管理

🎙️ 本集播客第5集:外部设备的范围与衡量控制方式的三条原则,然后是本章两道必得分题——四种数据传输控制方式(程序控制、中断、DMA、通道/IOP)按 CPU 参与程度逐一对照,把「窃取处理器工作周期」钉死在 DMA 上(第9题);再把假脱机 SPOOLING 的全称、模拟外围控制机的思想、虚设备与「必须有高速大容量可随机存取外存」的硬前提讲透(第7题),末尾给本集必背清单。 语音由微软 Edge 神经网络语音预生成(女声·晓伊,男声·云希)。点击下方任意对话可直接从该句开始播,当前句朗读时下一句已预先加载,无缝衔接。
🎙️ 第2章播客 第5集
⬇ 下载本集 点击播放
阿明
上集把页式、段式、段页式和四种页面调度算法都过完了。这集轮到设备管理,听说这块最杂,考试到底考什么?
小雅
原文先划范围:在计算机系统中,除了处理器和内存之外,其他的大部分硬设备称为外部设备,它包括输入/输出设备、辅存设备及终端设备等。原文紧跟一句让人踏实的话:在架构师考试中,设备管理需要掌握的知识内容较少,主要为两个方面——数据传输控制方式,虚设备与 SPOOLING 技术。本章的第 7 题和第 9 题全落在这两块里。
阿明
那先讲数据传输控制方式?
小雅
先讲这个。定位记清:设备管理的主要任务之一是控制设备和内存或 CPU 之间的数据传送。原文给了选择和衡量控制方式的三条原则,可当成四种方式的评分表——第一,数据传送速度足够高,能满足用户的需要但又不丢失数据;第二,系统开销小,所需的处理控制程序少;第三,能充分发挥硬件资源的能力,使得 I/O 设备尽量处于使用状态中,而 CPU 等待时间少。
阿明
第三条听着最像考点。
小雅
它是灵魂。四种方式一路演进,演的就是这一条:让 CPU 的等待时间越来越少。原文列的顺序就是这个阶梯——程序控制方式、中断方式、DMA 方式、通道方式。把四者的 CPU 参与程度背成一条下坡路,第 9 题那类题就不会错。
阿明
第一种程序控制方式怎么说?
小雅
原文只有一句话,短得可疑但每个字都是考点:处理器启动数据传输,然后等设备完成。CPU 发出启动命令就挂在这台设备上,反复看它好了没有,设备一慢就一直空转。原文在讲下一种方式时补了判决:程序控制方式不能实现并发。有的题面写成程序查询方式,指的是同一件事,两个名字都得认得。
阿明
那中断方式就是让 CPU 别干等了?
小雅
对,流程要能一步步背下来。原文:进程启动数据传输(如读)后,该进程放弃处理器;当数据传输完成,设备控制器产生中断请求;中断处理程序对数据传输工作处理之后,让相应进程成为就绪状态;以后,该进程就可以得到所需要的数据。
小雅
翻译成第 1 集的状态转换你就通了:启动外围设备,运行态转等待态;设备干完活中断处理程序介入,等待态转就绪态——注意是转就绪不是直接跑,阻塞状态的进程不能直接进入执行状态,这条铁律在这儿又出现一次。CPU 省下的是设备干活那段时间,代价是每完成一次传输都得跳一趟中断处理程序。
阿明
一次传一个字节也要中断一次?批量搬数据不是要被中断打死。
小雅
你这句吐槽正好是 DMA 出场的理由。原文:直接存储访问,Direct Memory Access,简称 DMA,指外部设备和内存之间开辟直接的数据交换通路。构成也考:除了控制状态寄存器和数据缓冲寄存器外,DMA 控制器中还包括传输字节计数器、内存地址寄存器等——后两个是 DMA 特有的,一个记搬多少字节,一个记搬到内存哪儿。
阿明
关键那句「窃取」到底是怎么回事?
小雅
这是本章最高频的一句原文,一个字都别改:DMA 方式采用窃取(或挪用)处理器的工作周期和控制总线而实现辅助存储器和内存之间的数据交换。原文还补一句:有的 DMA 方式也采用总线浮起方式传输大批量数据。
小雅
「窃取」这个词选得极准:它不是把 CPU 打断,而是趁那个周期总线闲着把总线借走,CPU 的程序不必停。与中断方式的分界线就在这儿——中断是明着喊停、CPU 要跳去执行中断处理程序,DMA 是暗着借、CPU 基本不知情。所以看见「窃取」或「挪用」处理器工作周期,答案就是 DMA。
阿明
那第四种通道方式,比 DMA 还省?
小雅
还省,而且省法不一样。原文:通道又称为输入/输出处理器,Input/Output Processor,简称 IOP,可以独立完成系统交付的输入/输出任务,通过执行自身的输入/输出专用程序(称通道程序)进行内存和外设之间的数据传输。
小雅
关键词是「独立」和「自身的程序」。DMA 只照着寄存器里设好的参数搬一段,搬完还得 CPU 再安排下一趟;通道是个能跑程序的处理器,CPU 把整个输入/输出任务交给它,它执行通道程序把整套活干完。所以下坡路的完整版是:程序控制全程干等、中断只在完成时被叫一次、DMA 只被悄悄借走几个工作周期、通道只在交任务和收结果时露一面。
阿明
有的题目里会出现「I/O 处理机」这个选项,它跟通道是什么关系?
小雅
这是最容易被绕晕的地方。按原文,通道就叫输入/输出处理器 IOP,两个名字指同一件东西——看到 I/O 处理机、输入/输出处理器、IOP、通道,都往「通道方式」上落。第 9 题的四个选项正是程序控制方式、中断方式、DMA 方式、通道方式,答案是 DMA 方式;干扰思路就是拿 CPU 参与程度相邻的方式来蹭,死记「窃取工作周期等于 DMA」就行。
阿明
反过来考呢?题干说「由 IOP 独立执行通道程序完成数据传输」——
小雅
那就是通道方式,这正是第 9 题解析里用来跟 DMA 对照的那句。两把钥匙正反都能开:说「窃取、挪用处理器工作周期」的是 DMA,说「独立执行通道程序」的是通道。再补通道自己的细节,原文给了分类:主要有 3 种通道——字节多路通道、选择通道和成组多路通道,考到就是纯记忆分。
阿明
四种方式我串起来了。那第二块,SPOOLING 是什么鬼名字?
小雅
不好记但每年都考,硬啃。原文:假脱机,全称 Simultaneous Peripheral Operation On Line,缩写 SPOOLING,意思是外部设备同时联机操作,又称为假脱机输入/输出操作,采用一组程序或进程模拟一台输入/输出处理器。中文名里的「假」字是精华——它不是真脱机,是用程序假装出脱机的效果。
阿明
那真的脱机是什么样?
小雅
原文讲了来历:该技术利用了专门的外围控制机将低速 I/O 设备上的数据传送到高速设备上,或者相反——早期真的另配一台机器专门搬运,脱离主机,所以叫脱机。但是当引入多道程序后,完全可以利用其中的一道程序来模拟脱机输入时的外围控制机的功能,把低速的 I/O 设备上的数据传送到高速磁盘上;再利用另一道程序来模拟脱机输出时外围控制机的功能,把高速磁盘上的数据传送到低速的 I/O 设备上。
阿明
所以是用两道程序,一进一出,替掉了那台专门的机器。
小雅
一句话说到位了。第 7 题问 SPOOLING 技术的核心思想,正确选项写的是「用程序模拟外围控制机,将低速独占设备改造为共享设备」——前半句就是你刚说的,后半句是效果。效果这句原文在本节出现了两次:采用假脱机技术,可以将低速的独占设备改造成一种可共享的设备,而且一台物理设备可以对应若干台虚拟的同类设备。
阿明
虚设备落到实际,就像每人一台打印机那种感觉?
小雅
正是。第 2 集讲临界资源时原文点过名:打印机、磁带机等物理设备属于临界资源,一次仅允许一个进程使用。有了 SPOOLING,输出先落到高速磁盘上,再由那道程序慢慢送给真打印机——人人感觉一台,物理上还是一台。
阿明
第 7 题另外三个选项是什么?我怕被带走。
小雅
另外三个是「用硬件加速 I/O 操作」「用中断方式处理 I/O」「用 DMA 方式传输数据」——干扰思路一眼就清楚:把前半集的东西端来当选项。第一条边界:SPOOLING 是软件的招,是用一道程序模拟外围控制机,不是硬件加速,第一个选项出局。
小雅
第二条边界:中断方式和 DMA 方式属于数据传输控制方式,解决的是「数据怎么从设备搬到内存、CPU 掺和多少」;SPOOLING 属于虚设备,解决的是「一台独占设备怎么让多个用户共用」。一个是搬运工的雇法,一个是设备的产权,混在一起就是这道题唯一的坑。
阿明
听起来只要有程序就能干,它有前提条件吗?
小雅
有,这是最容易漏掉的送分句,第 7 题解析里专门收了:SPOOLING 系统必须有高速、大容量并且可随机存取的外存(例如,磁盘或磁鼓)支持。三个定语一个都不能少——数据要先在这儿排队攒着,慢了不行、小了装不下、不能随机存取就没法挑出该打的那份。选项里把「可随机存取」偷偷删掉,就是这类题最阴的改法。
阿明
这一节还有别的吗?
小雅
还有一条希赛教育专家提示,冷门但真出现过:在现代计算机系统中,还可以用一台设备来模拟自身。例如,常见的多窗口技术,即在一个终端上开多个窗口,每个窗口可以独立地进行显示,以监视用户不同任务的执行情况。抓手是——一台显示器切成多个窗口,也是一台物理设备对应若干台虚拟设备。
阿明
我复述一遍:这一节就两件事,数据传输控制方式管 CPU 参与多少,SPOOLING 管独占设备变共享。
小雅
完全正确,这正是原文自己给的框架。提醒一句范围:本章的设备管理一节到这儿就结束了,没有讲 I/O 软件的层次结构,也没有讲磁盘调度算法——磁盘访问时间是第 1 章的内容,别串台。
阿明
把必背的理一遍,我今晚默写。
小雅
第一组,四种方式的判据各一句:程序控制方式是处理器启动数据传输然后等设备完成,不能实现并发;中断方式是进程启动传输后放弃处理器,完成时设备控制器产生中断请求,中断处理程序处理完让相应进程成为就绪状态;DMA 方式采用窃取或挪用处理器的工作周期和控制总线,实现辅助存储器和内存之间的数据交换;通道方式又称输入/输出处理器 IOP,独立执行自身的通道程序完成传输。
小雅
第二组,两个细节:DMA 控制器除控制状态寄存器和数据缓冲寄存器外,还有传输字节计数器和内存地址寄存器;通道分字节多路通道、选择通道、成组多路通道三种。第三组,SPOOLING 三句:全称 Simultaneous Peripheral Operation On Line,意思是外部设备同时联机操作;核心思想是用一道程序模拟脱机时的外围控制机,把低速独占设备改造成可共享的设备,一台物理设备可对应若干台虚拟同类设备;硬前提是必须有高速、大容量、可随机存取的外存。
阿明
三组八九句,能背。
小雅
背完顺手把第 7 题和第 9 题做掉,这两分最稳,错了太不值。下集讲文件管理和作业管理——文件的逻辑结构与物理结构、三种空闲块管理方法、作业的四个状态,还有「操作系统提供给编程人员的唯一接口」,辨析题比这集密得多。