【I/O】磁盘I/O 和 网络IO的区别

Linux 上 磁盘io 和 网络io的区别是什么?

磁盘IO和网络IO是两种不同的IO类型,它们的区别如下:

  1. 磁盘IO:磁盘IO是指计算机系统中,数据在磁盘和内存之间的读写操作。磁盘IO通常发生在文件系统层面,用于读写文件或数据块。磁盘IO速度较慢,因为它需要等待物理磁盘的旋转和磁头的定位,同时还受到硬盘的物理限制。

  2. 网络IO:网络IO是指计算机系统中,数据在网络中传输的读写操作。网络IO通常发生在应用程序层面,用于发送和接收数据包。网络IO速度较快,但受到网络带宽、延迟等因素的影响。

磁盘IO是磁盘IO是指计算机系统中,数据在磁盘和内存之间的读写操作

image.png
image.png

网络 I/O 的本质是 socket 的读取,socket 在 Linux 系统被抽象为流,I/O 可以理解为对流的操作。

image.png
image.png
image.png

参考

Linux性能优化实践-网络I/O模型篇
https://mp.weixin.qq.com/s/0_g1dKOeBHryg11hKqrCug

Linux性能优化实践-磁盘I/O篇
https://mp.weixin.qq.com/s/mLEVKXShnifHbQiQrgJGSA

Linux Page Cache
https://www.jianshu.com/p/fa8e6904cda9

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容