Linux 是一個(gè)源碼開(kāi)放的操作系統(tǒng),無(wú)論是普通用戶還是企業(yè)用戶都可以編寫自己的內(nèi)核代碼,再加上對(duì)標(biāo)準(zhǔn)內(nèi)核的裁剪從而制作出適合自己的操作系統(tǒng)。目前有很多中低端用戶使用的網(wǎng)絡(luò)設(shè)備的操作系統(tǒng)是從標(biāo)準(zhǔn) Linux 改進(jìn)而來(lái)的,這也說(shuō)明了有越來(lái)越多的人正在加入到 Linux 內(nèi)核開(kāi)發(fā)團(tuán)體中。
一個(gè)或多個(gè)內(nèi)核模塊的實(shí)現(xiàn)并不能滿足一般 Linux 系統(tǒng)軟件的需要,因?yàn)閮?nèi)核的局限性太大,如不能在終端上打印,不能做大延時(shí)的處理等等。當(dāng)我們需要做這些的時(shí)候,就需要將在內(nèi)核態(tài)采集到的數(shù)據(jù)傳送到用戶態(tài)的一個(gè)或多個(gè)進(jìn)程中進(jìn)行處理。這樣,內(nèi)核態(tài)與用戶空間進(jìn)程通信的方法就顯得尤為重要。在 Linux 的內(nèi)核發(fā)行版本中沒(méi)有對(duì)該類通信方法的詳細(xì)介紹,也沒(méi)有其他文章對(duì)此進(jìn)行總結(jié),所以本文將列舉幾種內(nèi)核態(tài)與用戶態(tài)進(jìn)程通信的方法并詳細(xì)分析它們的實(shí)現(xiàn)和適用環(huán)境。
source code 2
標(biāo)簽:
Linux
源碼開(kāi)放
操作系統(tǒng)
上傳時(shí)間:
2015-06-25
上傳用戶:xjz632