首页
社区
课程
招聘
[分享]设备管理:数据传输控制方式与磁盘调度算法
发表于: 2小时前 49

[分享]设备管理:数据传输控制方式与磁盘调度算法

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内核攻防全技术栈,打造具备自动化能力的内核开发高手。

最后于 2小时前 被babyfox编辑 ,原因:
收藏
点赞 ・0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回