著名的AT&T UNIX v6 源碼,雖然已不能在現(xiàn)在的機器中直接運行(通過在Linux上安裝pdp11 simulator可以運行),但從中首先可以學習到C程序設計的簡約與嚴謹(原作者是圖靈獎得主Brian W. Kernighan和Dennis M. Ritchie),其次還可以幫助深入理解操作系統(tǒng)概念,其設計思想仍然廣泛存在于多數(shù)操作系統(tǒng)中。
本系統(tǒng)的首次發(fā)布于1976年,現(xiàn)仍然做為MIT高年級學生、研究生的操作系統(tǒng)學習的分析材料。
Linux 是一個源碼開放的操作系統(tǒng),無論是普通用戶還是企業(yè)用戶都可以編寫自己的內(nèi)核代碼,再加上對標準內(nèi)核的裁剪從而制作出適合自己的操作系統(tǒng)。目前有很多中低端用戶使用的網(wǎng)絡設備的操作系統(tǒng)是從標準 Linux 改進而來的,這也說明了有越來越多的人正在加入到 Linux 內(nèi)核開發(fā)團體中。
一個或多個內(nèi)核模塊的實現(xiàn)并不能滿足一般 Linux 系統(tǒng)軟件的需要,因為內(nèi)核的局限性太大,如不能在終端上打印,不能做大延時的處理等等。當我們需要做這些的時候,就需要將在內(nèi)核態(tài)采集到的數(shù)據(jù)傳送到用戶態(tài)的一個或多個進程中進行處理。這樣,內(nèi)核態(tài)與用戶空間進程通信的方法就顯得尤為重要。在 Linux 的內(nèi)核發(fā)行版本中沒有對該類通信方法的詳細介紹,也沒有其他文章對此進行總結,所以本文將列舉幾種內(nèi)核態(tài)與用戶態(tài)進程通信的方法并詳細分析它們的實現(xiàn)和適用環(huán)境。
Linux 是一個源碼開放的操作系統(tǒng),無論是普通用戶還是企業(yè)用戶都可以編寫自己的內(nèi)核代碼,再加上對標準內(nèi)核的裁剪從而制作出適合自己的操作系統(tǒng)。目前有很多中低端用戶使用的網(wǎng)絡設備的操作系統(tǒng)是從標準 Linux 改進而來的,這也說明了有越來越多的人正在加入到 Linux 內(nèi)核開發(fā)團體中。
一個或多個內(nèi)核模塊的實現(xiàn)并不能滿足一般 Linux 系統(tǒng)軟件的需要,因為內(nèi)核的局限性太大,如不能在終端上打印,不能做大延時的處理等等。當我們需要做這些的時候,就需要將在內(nèi)核態(tài)采集到的數(shù)據(jù)傳送到用戶態(tài)的一個或多個進程中進行處理。這樣,內(nèi)核態(tài)與用戶空間進程通信的方法就顯得尤為重要。在 Linux 的內(nèi)核發(fā)行版本中沒有對該類通信方法的詳細介紹,也沒有其他文章對此進行總結,所以本文將列舉幾種內(nèi)核態(tài)與用戶態(tài)進程通信的方法并詳細分析它們的實現(xiàn)和適用環(huán)境。
source code 2
一個自由、開源的圖形庫--FreeImage3.92最新版的中文參考(支持位圖構件―例如調(diào)色板和數(shù)據(jù)位―的便易訪問;將位圖從一種位深度轉換到另一種位深度;當有多幅位圖頁―例如TIFF―時訪問位圖的不同頁;基本的位圖處理,如旋轉、翻轉(flipping)和重采樣,或點操作,如亮度和對比度調(diào)整;Alpha混合與合成(Compositing and blending);FreeImage不支持:高級圖象處理操作,如回卷(Convolution)和變換(Transform);位圖繪制; 矢量圖形。)