零拷贝的实现原理

1、应用程序中调用 read() 方法,这里会涉及到一次上下文切换(用户态->内核态),底层采用DMA(direct memory access)读取磁盘的文件,并把内容存储到内核地址空间的读取缓存区。 2、由于应用程序无法访问内核地址空间的数据,如果应用程序要操作这些数据,得把这些内容从读取缓冲区拷贝到用户缓冲区。 read() 调用的返回引发一次上下文切换(内核态->用户态),现在数据已经被拷
相关文章
相关标签/搜索