Linux(一):Linux操作系統
Linux(一):Linux操作系統
對于我們編程人員來講,linux對于我們幾乎已經是像windows對于普通用戶一樣,好像和同行交流說不會linux就像說不會用計算機一樣羞恥。這里打算從頭開始溫故一遍linux的知識,僅是對個人的知識積累。
Linux的由來
開始記錄之前,先回顧一個基本的概念,什么是操作系統?

(手殘作圖,湊合著看……)
操作系統的邊界,是在計算機硬件之上,應用程序之下那部分,而我們平常所說的廣義 linux,泛指的是內核部分,因為Linux被編寫之初,僅僅是一個”驅動386所有硬件“的程序而已,只不過在后來的開源道路上,有很多既騷又優秀的程序員們嘔心瀝血,對其進行豐富,擴展,才有了現在的烏班圖,紅帽等等具體的操作系統。
Linux之前的歷史:
早期計算機并不是現在這么普及,只有軍事或者科研單位才有資格配備這種設備,在那個時候,寫程序是件非常痛苦的事情,那時候的計算機,并沒有現代化的輸入系統和顯示設備,那時候設計程序,只能將程序的信息打在讀卡紙面上,再用讀卡機將信息輸入到計算機中,而且那時候的計算機,數量極少,而用的人又非常的多,人們想使用,只能排隊等候。于是,這個時候,麻省理工學院發展了【兼容分時系統】,它可以讓大型主機通過提供終端機以聯機的方式進入主機,來利用主機的資源進行運算工作。它這個【兼容分時系統】可以算是近代操作系統的始祖。他可以讓多個使用者在某一個段時間內分別使用CPU的資源,感覺上會覺得大家是同時使用計算機資源,事實是cpu在每個使用者的工作之間來回切換。
就在這個時候,大神 Ken Thompson因為自己需要,就針對手上一部由DEC公司推出的PDP-7進行操作系統核心程序的撰寫,好巧不巧,他的妻兒于八月份要外出探親,Thompson便利用這個珍貴的一個月,用匯編語言(Assembler)寫出了一組核心程序,同時包含一組核心工具程序,以及一個小小的文件系統,那個系統,就是后來鼎鼎大名的Unix的原型 !這個小小的文件系統有兩個核心的概念:
1、所有的程序或系統裝置都是文件
2、不管構建編輯器還是附屬文件,所寫的程序只有一個目的,即要有效的完成目標
這第一條概念在后續的linux的發展中至關重要。
由于Thompson寫的這套系統十分好用,后來Thompson便與Ritchie合作,使用高級語言C語言重新改寫這個系統的核心,最終命名為Unix,并正式發版。由于使用C語言為高級語言,相對于匯編需要與硬件的密切配合,Unix與硬件相關性就沒有那么大了,這使得Unix具有了很高的可移植性,至此,操作系統的最初完整體登上舞臺。
Linux的誕生
1981年,IBM公司推出了風靡全球的微型計算機——IBM PC。以后10年間,微型計算機的操作系統一直由微軟公司的磁盤操作系統DOS主宰。此時,計算機硬件價格雖然逐年下降,但是軟件價格仍然居高不下。蘋果公司的MACS操作系統,可以說是當時性能最好的操作系統,但其天價高得沒人能夠輕易靠近。 當時的另一個計算機技術陣營就是UNIX環境,然而UNIX操作系統的經銷商們把價格抬得極高,PC機用戶根本無法涉足。不僅如此,獲貝爾實驗室授權、在大學中用于教學的UNIX源代碼一直被小心地守衛者,不許公開。對于廣大的PC用戶,軟件行業的供應商們始終沒有給出有效的解決辦法。
“山窮水盡疑無路,柳暗花明又一村。”正當人們陷入困境時,計算機軟件界出現了MINIX操作系統。與此同時,一本描述MINIX操作系統設計和實現原理的技術書也由AST公司推出。由于這本書寫得非常詳細,敘述得有條有理,于是,全世界的計算機愛好者幾乎都開始閱讀這本書,從中理解和學習操作系統的工作原理。包括后來的Linux操作系統的創始者、芬蘭科學家林納斯·托瓦爾茲也曾讀過這本書。
林納斯從小就是一個不折不扣的計算機迷,也是一個自學成才的計算機“黑客”。1990年,他進入了芬蘭赫爾辛基大學計算機科學系讀書,當時陪伴他的是一臺1984年制造的計算機。這個21歲的芬蘭年輕人喜歡研究計算機技術,測試計算機的性能和操作權限。但當時,他缺少一個專業級的操作系統。幸好后來學校安裝了一臺運行Ultrix的MicroVAX計算機,但這臺計算機只能容納16個用戶同時使用,為了上機,他有時不得不排隊等候。 在學校上機需要長時間排隊等待,林納斯為了能更好地學習計算機知識,一氣之下,干脆使用自己的圣誕節壓歲錢和貸款,購買了一臺386兼容電腦,同時從美國郵購了一套MINIX系統軟件。就在等待MINIX軟件的日子里,林納斯認真學習了有關Intel 80386處理器的指令系統和其他硬件知識。為了能通過Modem撥號連接到學校的主機上,他使用匯編語言并利用80386處理器的多任務特性,編制出一個終端仿真程序。
此后,為了將自己原來計算機上的軟件復制到新電腦上,他還為軟盤驅動器、鍵盤等硬件設備編制出相應的驅動程序。通過學習和編程,他認識到MINIX雖然很好,但只是一個用于教學目的的簡單操作系統,而不是一個強有力的實用操作系統。在實踐中林納斯已積累了一些類似于操作系統的硬件設備驅動程序的代碼。考慮到MINIX的諸多限制,他開始有了編制一個新操作系統的想法。
此時GNU計劃正在推進。所謂GNU,即是GNU's NOT UNIX免費軟件。GNU計劃是由自由軟件基金會的董事長于1984年發起的。該計劃要把UNIX系統的不足之處進行改進,使它成為一個優良的操作系統,并允許所有計算機用戶自由地獲得這個系統,免費獲得這個系統的源代碼,允許相互自由拷貝,用戶在使用GNU軟件的時候都能理直氣壯地認為自己使用的是正版軟件。GNU計劃已經開發出許多工具軟件,其中最受期盼的是GNU C編輯器。雖然GNU的免費操作系統HURD在開發中,但林納斯已經等不及了。他通過修改終端仿真程序和硬件驅動程序,開始編制起自己的操作系統來。剛開始,他的目的很簡單,只是為了學習Intel 386體系結構在保護模式運行方式下的編程技術。但隨著林納斯工作的深入,卻完全改變了他的初衷。根據林納斯在comp.os.minix新聞組上發布的消息,我們可以知道,他逐步從學習MINIX系統階段發展到開發自己的系統的過程。從1991年4月起,林納斯幾乎花費全部時間研究MINIX—386系統,并且嘗試著移植GNU的軟件到該系統上。同年4月13日,他曾在comp.os.minix上發布消息,說自己成功地將bash移植到MINIX上,而且已經愛不釋手,不能離開這個shell軟件了。
到了1991年10月5日,林納斯在網上發布消息,正式向外宣布他自己開發的內核系統誕生了。他把內核代碼放在當時芬蘭最大的FTP網站的名為Linux,意為“林納斯的Minix操作系統”的目錄中,向全世界公布。豈知后來人們干脆就把他寫的這個開源操作系統稱為Linux。他在網上發布的這個消息,可以稱為是Linux的誕生宣言,至今仍廣為流傳。消息發布日在10月5日,對Linux社區來說,是一個特殊的日子,許多后來的Linux新版本都選擇在這個日子發布。

到1994年發表Linux1.0的正式核心時候,大家要林納斯設計一只吉祥物。他突然想到小時候去動物園被一只企鵝追著滿地打滾還被咬一口的往事。 既然想不出其他吉祥物,干脆就將這支企鵝拿來當吉祥物算了。所以,這只企鵝就是現在我們常常看到的Linux的吉祥物。
十幾年過去了,經過時間的檢驗,Linux已經成為最近幾年來最受矚目的操作系統之一。它之所以會受到如此矚目,是因為它在各方面都有自己的優勢。 免費是Linux的最大優勢所在,任何人都可以免費的使用或者是在修改其中的原始代碼。這就是所謂的“開放性架構”,它對科學界來說是相當重要的。因為很多工程師由于特殊需求,常常需要修改系統的原始碼,使該系統符合自己的需求。同時,由于Linux操作系統的良好性能,人們無需購買UNIX或者微軟的操作系統而花費大量的鈔票。
除了免費,Linux對于硬件配備的需求低廉。如今的操作系統對硬件的要求越來越高,而Linux是基于X386開發的,因此任何X386或者是以上的機器都能運行起來。隨著硬件的淘汰率不斷提高,人們只需將手中一些過時的零件組裝一下,就可以運行Linux操作系統了。
雖然Linux的運行環境對硬件要求很低,但是它的功能并不會輸給一些大型的UNIX工作站,因此,近年來越來越多的公司、團體或個人投入這一操作系統的開發與整合工作。Linux操作系統已經可以獨立完成幾乎所有的工作站火服務器的服務了,例如郵件、網站、代理服務等。
與傳統的Windows系統不同,Linux主機上可以同時允許多人同時工作,并且資源的分配較為公平,且比起傳統Windows的單人假多任務系統要穩定得多。例如,你可以在一部Linux主機上面規劃出不同等級的使用者,而且每個使用者登入系統時的工作環境都可以不相同,此外,還可以允許不同的使用者在同一個時間登入主機,同時使用主機的資源。
正是因為Linux本身具有這么多的優點,因此當微軟的操作系統逐步一統天下之時,Linux被用來與微軟對抗,但是最終,因為其缺乏一個強大的引領者,所以在沖擊微軟在PC端的操作系統霸主地位時并沒有成功,但是此時,剛剛崛起的谷歌把自己的搜索引擎完全建立在Linux之上。到了移動互聯網時代,完全建立在Linux之上的谷歌安卓系統終于把微軟打敗。

浙公網安備 33010602011771號