提前说明有些操作系统的相关概念自行百度,但是个人认为,很多面试官可能对于操作系统也懂的不多,当然不排除一些真正的大佬,往往面试的面试官也就那样,废话不多说,开始讲解普通IO的底层原理
早期的数据IO,由用户进程向...CPU发起,应用程序与磁盘之间的 I/O 操作都是通过 CPU 的中断完成的,如下图
用户发起读取数据请求到CPU....把磁盘缓冲区的数据拷贝到内核缓冲区
DMA再通知CPU已经读取完了
CPU此时再把内核缓冲区拷贝到用户缓冲区中
最后系统调用返回
传统的IO底层原理
比如我们正常从磁盘中读取一张图片,返回给前端,首先会调用read进行读取,然后在write