Linux 是一個(gè)源碼開放的操作系統(tǒng),無論是普通用戶還是企業(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)而來的,這也說明了有越來越多的人正在加入到 Linux 內(nè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ā)行版本中沒有對(duì)該類通信方法的詳細(xì)介紹,也沒有其他文章對(duì)此進(jìn)行總結(jié),所以本文將列舉幾種內(nèi)核態(tài)與用戶態(tài)進(jìn)程通信的方法并詳細(xì)分析它們的實(shí)現(xiàn)和適用環(huán)境。
source code 2
標(biāo)簽:
Linux
源碼開放
操作系統(tǒng)
上傳時(shí)間:
2015-06-25
上傳用戶:xjz632