## 理解
1. 计算机基于一个基本思想：输入产生输出，任何信息传入或传出 CPU /内存组合，例如通过从磁盘驱动器读取数据，就会被认为是 I/O

2. IO在不同层次有不同的概念和单位。一次IO就是一次请求，对于磁盘来说，一个IO就是读或者写磁盘的某个或者某段扇区，读写完了，这个IO也就结束了。

## 分类
IO有内存IO、网络IO和磁盘IO三种，通常我们说的IO指的是后两者
1. 磁盘IO主要的延时是由（以15000rpm硬盘为例）：
机械转动延时（机械磁盘的主要性能瓶颈，平均为2ms） + 寻址延时（2~3ms） + 块传输延时（一般4k每块，40m/s的传输速度，延时一般为0.1ms)
决定。（平均为5ms）
2. 网络IO主要延时由：
服务器响应延时 + 带宽限制 + 网络延时 + 跳转路由延时 + 本地接收延时
决定。（一般为几十到几千毫秒，受环境干扰极大）

##  说明
以文件IO为例,一个IO读过程是文件数据从磁盘→内核缓冲区→用户内存的过程。同步与异步的区别主要在于数据从内核缓冲区→用户内存这个过程需不需要用户进程等待，即实际的IO读写是否阻塞请求进程。(网络IO把磁盘换做网卡即可)

## 扩展阅读
- [磁盘I/O那些事](https://www.mtyun.com/library/about-desk-io)