緩存 I/O
?緩存 I/O 又被稱作標(biāo)準(zhǔn) I/O勿锅,大多數(shù)文件系統(tǒng)的默認(rèn) I/O 操作都是緩存 I/O荧缘。在 Linux 的緩存 I/O 機(jī)制中皆警,操作系統(tǒng)會(huì)將 I/O 的數(shù)據(jù)緩存在文件系統(tǒng)的頁(yè)緩存( page cache )中,也就是說(shuō)胜宇,數(shù)據(jù)會(huì)先被拷貝到操作系統(tǒng)內(nèi)核的緩沖區(qū)中耀怜,然后才會(huì)從操作系統(tǒng)內(nèi)核的緩沖區(qū)拷貝到應(yīng)用程序的地址空間恢着。
緩存 I/O 的缺點(diǎn):
數(shù)據(jù)在傳輸過(guò)程中需要在應(yīng)用程序地址空間和內(nèi)核進(jìn)行多次數(shù)據(jù)拷貝操作桐愉,這些數(shù)據(jù)拷貝操作所帶來(lái)的 CPU 以及內(nèi)存開銷是非常大的。
- 阻塞 I/O(blocking IO)
- 非阻塞 I/O(nonblocking IO)
- I/O 多路復(fù)用( IO multiplexing)
- 異步 I/O(asynchronous IO)