資料介紹
在計算機技術的發展史上。 Unix操作系統的出現是一個重要的里程碑。早期的Unix曾免費供美國及一些西方國家的大學和科研機構使用,并且提供源代碼,這一方面為高校和科研機構普及使用計算機提供了條件:另一方面,也是更重要的,為計算機軟件的核心技術“操作系統”的教學和實驗提供了條件,特別是Unix內核第6版的源代碼,在相當長的一段時明內是大學計算機系高年級學生和研究生使用的教材,甚至可以說,美國當時整整一代的計算機專業人 員都是讀著Unix的源代碼成長的。反過來,這也促進了Unix的普及和發展,并且在當時形成了一個Unix產業。事實上,回既硅谷的形成和發展,也可以看到Unix起著重要的作用。Unix 兩大主流之:的BSD就是在加州大學白克利分校開發的,后來,Unix 成了商品,其源代碼也受到了版權的保護,再說也日益復親和龐大了,面第6版則又慢慢顯得陳舊了,便逐斷不再用Unix內核的源代碼作為教材了(但是直到現在還有在用的)。
在這種情況下,出于教學的需嬰,荷蘭的著8教授Andrew s. Tanenbaum 編寫了一個小型的“類Unix“操作系統Minix,在PC機上運行,其源代碼在20世紀80年代后期和90年代前期普被廣泛采用但是,Minix 雖說是“類Unis”。其實離Unix相當遠。首先,Minix 是個所謂“微內核”。與Unmix內核屬于不同的設計,功能上更是不可同日而語。再說Unix也不僅僅是內核。還包括了其“外殼Shell和許多工具性的“實用程序”,如果內核提供的支持不完整,就不能與這些成分結合起來形成Unix環境。這樣,Minix雖然不失為一一個 不錯的教學工具,卻缺乏實用價值。看到Minix的這個缺點,當時的一個5蘭學生Linus Torvaks 就萌生了一一個念頭, 即組織一些人,以Minix為起點,基本上按照Unix的設計,并且博采各種版本之長,在PC機上實現,開發由一個真正可以實用的Unix內核。這樣,公眾就既有免費的(現代) Unix系統,又有系統的源代碼,且不存在版權問題。可是,Tanenbaum 教授的目光卻完全盯在教學E.因此并不認為這是一個好主意,沒有采納這個建議。
?
畢竟是“初生牛犢不怕虎”,加上自身的天賦和動奮,還有公益心,Linus Tovalds就自己動手干了起來。由于所實現的基本是Lnix, Linus Tovalds就把它稱為Limux.那時候互聯網雖然還不像現在這么普及,但是在大學和公司中已經用得很多了。Linus Torvalds 在基本完成了Linux 內核的第一個版本以后就把它放在了互聯網E,一米是把自己寫的代碼公諸于眾,二米是邀請有興趣的人也來參與,他的這種做法很快便引起了熱烈的反應,并且與美國“自由軟件基金會“FSF的主張正好不謀而合。當時FSF已經有計劃要開發一個類Unix (但又不是Unix,所以稱為GNU,這是“Gnu is Not Unix”的縮寫)的操作系統和應用環境,而Linux的出現正是適得其時,適得其所。于是,由Linus Torvalds主持的Linux內核的開發,改進與維護,就成了FSF的主要項目之-。同時,FSF 的其它項目,如GNU的C編譯gce.程序調試工具gadb.還有各種Shell和實用程序。乃至Web服務器Apache,河覽器Moilla(實際上就是Netscape) 等等,則正好與之配套成龍。人們普前認為自由軟件的開發是軟件領城中的一個奇跡, 這么多志愿者參與,只是通過5聯網維持松救的組織,居然能有條不紊地互相配合,開發出高質量的而且又是準度較大的系統軟件。實在令人贊嘆。
那么,Limux與它的前身Minix的區別有在呢?簡單地說,Minix 是個“微內核”,而Linax是個“宏內核”: Minix 是個類Unmix的教學用模型,面Linux甚本上就是Unix.而且是Unix的延續和發展,甚至是各種Unix版本與變種的集大成者。
大家知道,傳統意義F的操作系統。其內核應具備多個方面的功能或成分。既包含用于管理屬于應用層的“進程”的成分,如進程管理,也包含為這些進程提供各種服務的成分,如進程間通信、設備驅動和文件系統等等。內核中提供各種服務的成分與使用這些服務的進程之間實際上就形成一種典型的“ClientServer“的關系,其實,這些服務提供者并不一定非得都留在內核中不可,他們本身也可以被設計并實現某些“服務進程”,其中必須嬰留在內核中的成分其實只有進程間通信。如果把這些服務提供者從內核轉移到進程的層次t,那么內核本身的結構就可以大大減小和簡化。而各個服務進程,既然已從內核中游離出來,便可以”獨地設計,實現以及調試,更重要的是可以按實際的需要來配置和啟動,基于這樣的想法,各種“微內核”(Micro Kemel)便應運而生。特別是對于一些專用的系統,主要是實時系統和“嵌入式”系統(Enmbedded System), 微內核的思想就很有吸引力。究其原因。主要是因為通常這些系統都不帶磁盤,整↑系統部必須放在EPROM中,常常受到存儲空間的限制,而所需要的服務又比較單一和簡單。 所以,幾乎所有的嵌入式系統和實時系統都采用微內核,如PSOS.VxWorks等。當然,微內核也有缺點。將這些服務的提供都放在進程層次t.再通過進程間通信(通常是報文傳遞》提供服務,勢必增加系線的運行開銷。降低了效率。
與微內核相對應,傳統的內核結構就稱為“宏內核”(Macro-Kermel),或稱為“一本化內核”(Monolithic Kernel)。 通用式的系統由f所需的服務面廣而量大,- 體化內核就更為合適,作為一種通用式系統,Linux 采用-體化內核是很自然的事。
傳統的Unix內核是“全封閉”的。如果要往內核中加一個設備(增加一種服務),早期一般的做法是編寫這個設備的驅動程序,并變動內核源程序中的某些數據結構《設備表),再重新編譯整個內核,并重新引導整個系統。這樣做當然也有好處,如系統的安全性更能得到保證,但其缺點也是很明顯的。那就是太做化了。在這樣的情況下,當某一個公司開發出一種新的外部設備時(比方說,一臺彩色掃描儀),它就不可能的同這新的設備提供-片軟盤或光盤給用戶,使得用戶只要運行一F**setup“就可以把這設備安裝上了《像對DOS/Windows那樣),有能力修改Linux內核的設備表,并重新編譯內核的用戶畢竟不多。
在Linux里,這個問題就解決得比較好。Linux 既允許把設備驅動程序在編譯時靜態地連接在內核中,如傳統的驅動程序那樣:也允許動態地在運行時安裝,稱為“模塊”:還允許在運行狀態F當需要用到某一模塊時由系統自動安裝。這樣的模塊仍然在內核中運行,面不是像在微內核中那樣作為單獨的進程運行,所以其運行效率還是得到保證。模塊,也就是動態安裝的設備驅動程序的實現(詳見設備驅動程序一), 是很大的改進。它使Linux設備驅動程序的設計,實現、調試以及發布都大大地簡化,甚至可以說是發生了根本性地變化,
Linux 最初是在Intel 80386 “平臺”上實現的,但是已經被移植到各種主要的CPU系列上,包括Alpla. M68K. MIPS. SPARC. Power PC等等(Pentium. Pentium I等等均屬于386系列)》可以說Linux 內核是現今覆蓋面最廣的-體化內核。同時,在同一個系列的CPU E. Linux內核還支持不同的系統結構,它既支持常現的單CPU結構,也支持多CPU結構,不過,本書將專注于1386 CPU,并且以單CPU結構為主,但是最后有一。究專們討論多CPU結構。,
- 模擬電路講義(上下冊)pdf 0次下載
- 華為模擬電路講義上下冊資源下載 158次下載
- 使用51單片機實現溫度上下限控制的源代碼資料合集免費下載 57次下載
- 嵌入式Linux應用程序開發詳解的源代碼合集免費下載 24次下載
- Python深度學習2018的源代碼合集免費下載 69次下載
- LINUX內核源代碼情景分析下冊PDF電子書免費下載 98次下載
- LINUX內核源代碼情景分析上冊PDF電子書免費下載 89次下載
- LabVIEW寶典的源代碼合集免費下載 106次下載
- Linux內核情景分析上下冊全集資料免費下載 11次下載
- Linux內核源代碼情景分析(全冊高清帶書簽)pdf下載 9次下載
- Linux內核源代碼情景分析(全冊高清帶書簽) 58次下載
- 電工學(第四版)上下冊 0次下載
- Linux內核源代碼情景分析(下冊)浙江大學 0次下載
- Linux內核源代碼情景分析(上冊)浙江大學 0次下載
- 全國統一建筑工程定額(土建-上下冊)下載
- 獲取Linux內核源碼的方法 514次閱讀
- Linux內核自解壓過程分析 691次閱讀
- 如何分析Linux CPU上下文切換問題 1830次閱讀
- Linux:QEMU調試內核的步驟 3040次閱讀
- 深入linux內核架構 Linux內核架構分析解讀 3604次閱讀
- 使用C語言實現萬年歷星期速算法的源代碼免費下載 2990次閱讀
- Linux操作的防火墻軟件應用程序定義和配置設置及底層源代碼 4946次閱讀
- Linux內核與Android的關系 4504次閱讀
- Linux內核的發展簡史與系統層次結構 7204次閱讀
- 論述學習Linux內核的各個階段 4900次閱讀
- 基于嵌入式Linux內核的系統設備驅動程序開發設計 1113次閱讀
- Linux內核地址映射模型與Linux內核高端內存詳解 3397次閱讀
- 嵌入式Linux的學習方法解析 3091次閱讀
- linux最常用的20個命令介紹 7964次閱讀
- PowerPC平臺Linux的移植(二) 1194次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多