I/O模型不論在實(shí)際使用還是準(zhǔn)備筆試面試中都是重要的內(nèi)容,參考Unix網(wǎng)絡(luò)編程進(jìn)行總結(jié)如下。(尤其注意紅色標(biāo)注處)
1. 明確I/O考察的對象和流程
參考Unix網(wǎng)絡(luò)編程,一個(gè)輸入操作通常包括兩個(gè)不同的階段:
(1) 等待數(shù)據(jù)準(zhǔn)備好;
(2) 從內(nèi)核向進(jìn)程復(fù)制數(shù)據(jù)。
對于一個(gè)套接字的輸入操作,第一步通常涉及等待數(shù)據(jù)從網(wǎng)絡(luò)到達(dá),當(dāng)所等待分組到達(dá)時(shí),被復(fù)制到內(nèi)核的某個(gè)緩沖區(qū);
第二步就是把數(shù)據(jù)從內(nèi)核緩沖區(qū)復(fù)制到應(yīng)用進(jìn)程緩沖區(qū)。
理解上述兩個(gè)不同階段對于后續(xù)理解I/O模型尤其是非阻塞I/O與同步I/O關(guān)系十分必要。
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式