磁盘io
根据 磁盘io 是否利用库缓存
分为 缓存io 和 非缓存io
根据 磁盘io 是否利用 page cache
分为 直接io 和 非直接io
如果 磁盘io 跳过 文件系统 直接读写磁盘
磁盘io 被称为 裸io
注意:执行io之后,自然要获得一个io响应结果,就像执行函数,需要一个函数返回结果一样。阻塞 非阻塞 同步 异步 之间的区别 可以围绕着 io操作响应来思考。
- 阻塞IO: 应用程序执行IO操作后,如果没有获得响应,那么会阻塞当前线程。
- 非阻塞IO: 应用程序执行IO操作后,不会阻塞当前的线程,可以继续执行其他的任务。
- 同步IO: 是指应用程序执行 I/O 操作后,要一直等到整个 I/O 完成后,才能获得 I/O 响应
- 异步IO: 应用程序执行 I/O 操作后,不用等待完成和完成后的响应,而是继续执行就可以。等到这次 I/O 完成后,响应会用事件通知的方式,告诉应用程序。