Linux 上 磁盘io 和 网络io的区别是什么?
磁盘IO和网络IO是两种不同的IO类型,它们的区别如下:
磁盘IO:磁盘IO是指计算机系统中,数据在磁盘和内存之间的读写操作。磁盘IO通常发生在文件系统层面,用于读写文件或数据块。磁盘IO速度较慢,因为它需要等待物理磁盘的旋转和磁头的定位,同时还受到硬盘的物理限制。
网络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