加载中...
文章
45
标签
33
分类
15
首页
时间轴
标签
分类
归档
清单
音乐
照片
电影
GYu的妙妙屋
插件常问问题
搜索
首页
时间轴
标签
分类
归档
清单
音乐
照片
电影
插件常问问题
发表于
2026-03-09
|
更新于
2026-03-09
|
面试
|
浏览量:
文章作者:
NeverGYu
文章链接:
https://nevergyu.github.io/2026/03/09/%E9%A1%B9%E7%9B%AE%E5%B8%B8%E9%97%AE%E9%97%AE%E9%A2%98/%E6%8F%92%E4%BB%B6%20plug/
版权声明:
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来源
GYu的妙妙屋
!
面试
plugin
上一篇
零拷贝
1️⃣ 传统 I/O 过程在没有 DMA 技术之前,I/O 过程如下所述 (以 read 举例): 用户执行系统调用 read:将控制权从 用户态 转换到 内核态,此时进程阻塞在这里。 CPU 向磁盘发送 I/O 请求:磁盘接收到 I/O 请求后,就需要的数据填充到自己的磁盘缓冲区,然后产生中断信号。 磁盘向 CPU 发送 I/O 中断信号: CPU 先就把磁盘缓冲区的数据一次一个字节的读进到自己的 寄存器。 再把 寄存器的数据 写入到 内存 中,但是传输过程中 CPU 无法执行其他任务。 系统调用 read 返回:将控制权从 内核态 转换到 用户态。 2️⃣ DMA 技术定义: 在进行 I/O 设备和内存的数据传输的时候,数据搬运的工作全部交给 DMA 控制器,而 CPU 不再参与任何与数据搬运相关的事情,这样 CPU 就可以去处理别的事务。 用户执行系统调用 read:将控制权从 用户态 转换到 内核态,此时进程还是会阻塞在这里。 CPU 向 DMA 发送 I/O 请求:此时 CPU 就可以执行其他任务,搬运工作就交给 DMA。 DMA...
NeverGYu
纵使困顿难行,亦当砥砺奋进
文章
45
标签
33
分类
15
Follow Me
公告
This is GYu Blog
系列文章
插件常问问题
2026-03-09
最新文章
插件常问问题
2026-03-09
IO 多路复用
2026-03-07
零拷贝
2026-03-07
wxg
2026-03-05
进程虚拟内存管理
2026-03-05
搜索
数据加载中