2.5 小结

本章和读者一起探索了 Linux 世界的同步磁盘 IO

  • 我们一开始完全不关心性能,体验了单线程的同步 bufferd IO。(1 节)
  • 然后意识到了同步 IO 调用的阻塞问题。(1.3 节)
  • 意识到了数据安全性如何保证。(1.5 节)
  • 学会了如何绕过 kernel page cache,直接操作硬盘。 (2 节)
  • 简单了解了 Stream IO (1.4 节) 和 mmap (3 节)。
  • 最终尝试使用线程池模式改善了并发 IO 性能。(4 节)

我们已经意识到了单纯的线程池同步 IO,总是有一定掣肘(线程间同步代价、单机线程总数)。这将限制我们打造极限高性能的存储系统。

有没有其他的方式另辟蹊径呢?不用着急,我们将在下一篇文章探索另外一片全新的大陆:异步 IO (Async I/O)