-
-
[分享]设备管理:数据传输控制方式与磁盘调度算法
-
发表于: 2小时前 49
-
AI模型:Deepseek
仅供参考
Let's Go!
=======================我是分割线=================================
数据传输控制方式:
在计算机中,数据传输控制方式按 CPU 干预程度从高到低、并行性从低到高,常见例子如下:
1. 程序控制方式(轮询)
CPU 不断查询设备状态,直到设备准备好才传输。
常见例子:
- 早期嵌入式系统中循环检测按键是否按下;
- BIOS 中查询软驱、键盘控制器状态;
- 简单单片机程序里轮询串口是否有数据。
特点:CPU 利用率低,一直忙等。
2. 程序中断方式
设备准备好后主动发中断,CPU 暂停当前程序,转去执行中断处理程序。
常见例子:
- 键盘按下、鼠标移动触发中断;
- 网卡收到数据包发中断通知 CPU;
- 磁盘读完一块数据后发中断。
特点:CPU 不必一直查询,但每次传输仍需 CPU 参与。
3. DMA 工作方式
DMA 控制器直接在外设和内存之间传输数据,CPU 只负责初始化和结束后处理。
常见例子:
- 硬盘读写大文件;
- 网卡高速收发数据包;
- 显卡从内存读取显存数据;
- 声卡播放音频。
特点:CPU 干预少,传输效率高,是现代 PC 的主流方式。
4. 通道方式
通道是一个专门处理 I/O 的处理器,能执行通道程序,控制多台设备。
常见例子:
- IBM 大型机中的通道,管理磁盘、磁带、打印机等;
- 服务器存储控制器中的通道架构。
特点:CPU 只需发一条 I/O 指令,通道自己完成一批数据传输。
5. 输入/输出处理机(I/O 处理机)
比通道更独立,有自己的指令集和本地存储器,可执行复杂 I/O 程序,几乎独立于 CPU。
常见例子:
- 大型机中的外围处理机;
- 现代智能网卡、DPU/IPU,卸载网络、存储、加密等任务;
- 一些高性能存储控制器。
特点:CPU 负担最小,并行性最高,但硬件复杂、成本高。
简单对比:
| 方式 | CPU 干预 | 常见例子 |
|---|---|---|
| 程序控制 | 一直查询 | 嵌入式按键轮询 |
| 程序中断 | 每次传输参与 | 键盘、鼠标、网卡中断 |
| DMA | 只初始化 | 硬盘、网卡、显卡 |
| 通道 | 发一条指令 | IBM 大型机通道 |
| I/O 处理机 | 几乎不干预 | 大型机外围处理机、DPU |
现代 PC 中最常见的是 中断 + DMA;通道和 I/O 处理机多用于大型机、服务器和智能网卡。
=======================我是分割线=================================
磁盘调度算法:
用生活中常见例子说明磁盘调度算法:
1. FCFS(先来先服务)
例子:食堂排队打饭。
谁先到窗口,就先给谁打饭。不管后面的人要的菜多简单,都得等前面的人打完。
对应磁盘:磁头按请求到达的先后顺序移动,简单公平,但可能来回跑,效率低。
2. SSTF(最短寻道时间优先)
例子:外卖小哥手上同时有多个订单,他先送离自己最近的那个,再送下一个最近的。
对应磁盘:每次选离当前磁头最近的请求。平均寻道时间短,但远处的请求可能一直等,产生“饥饿”。
3. SCAN(电梯算法)
例子:电梯先向上运行,沿途有人按楼层就停,到顶后再向下,沿途再停。
对应磁盘:磁头朝一个方向移动,沿途服务请求,到端点或最远请求后反向。比 FCFS、SSTF 更稳定,避免饥饿。
4. N-SCAN(N 步 SCAN)
例子:公交车按班次发车。起点站每坐满 N 个乘客就发一班车,车按固定线路从起点到终点依次停靠,乘客沿途下车。送完这批乘客,公交车返回起点,再载下一批 N 个乘客。新来的乘客排到下一班,不能中途上车。
对应磁盘:把请求队列分成若干长度为 N 的子队列,按到达顺序处理,子队列内部按 SCAN 顺序服务。防止老请求被无限推迟。
5. C-SCAN(循环扫描)
例子:环形观光车。只在一个方向载客,到终点后空车快速返回起点,再开始载客,返回途中不停。
对应磁盘:磁头只在一个方向服务,到达端点后快速返回起点,返回途中不服务。各磁道等待时间更均匀,适合负载较重的服务器。
简单对比:
| 算法 | 生活例子 | 特点 |
|---|---|---|
| FCFS | 食堂排队 | 公平简单,效率低 |
| SSTF | 外卖先送最近 | 平均寻道短,可能饥饿 |
| SCAN | 电梯上下 | 稳定,避免饥饿 |
| N-SCAN | 公交车按班次发车 | 防饥饿,实现稍复杂 |
| C-SCAN | 环形观光车 | 等待均匀,适合服务器 |
现代操作系统常用 SCAN 或 C-SCAN 的变种,并配合 I/O 合并来优化磁盘性能。
冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。