I/O模型不論在實際使用還是準(zhǔn)備筆試面試中都是重要的內(nèi)容,參考Unix網(wǎng)絡(luò)編程進(jìn)行總結(jié)如下。(尤其注意紅色標(biāo)注處)

1. 明確I/O考察的對象和流程

參考Unix網(wǎng)絡(luò)編程,一個輸入操作通常包括兩個不同的階段:

(1) 等待數(shù)據(jù)準(zhǔn)備好;

(2) 從內(nèi)核向進(jìn)程復(fù)制數(shù)據(jù)。

對于一個套接字的輸入操作,第一步通常涉及等待數(shù)據(jù)從網(wǎng)絡(luò)到達(dá),當(dāng)所等待分組到達(dá)時,被復(fù)制到內(nèi)核的某個緩沖區(qū);

第二步就是把數(shù)據(jù)從內(nèi)核緩沖區(qū)復(fù)制到應(yīng)用進(jìn)程緩沖區(qū)。

理解上述兩個不同階段對于后續(xù)理解I/O模型尤其是非阻塞I/O與同步I/O關(guān)系十分必要。

 

網(wǎng)友評論