1.3 Linux是什么

1.1、Linux為何物

Linux就是一個操作系統,正如Windows和Mac OS。那么,操作系統是什么?

操作系統:是一組軟件,負責管理計算機的所有活動以及驅動系統中的所有硬件。

操作系統示意圖

如上圖所示,操作系統由內核系統調用兩部分組成,不過現在的操作系統都會添加一些基礎的應用程序,比如文檔管理器、瀏覽器等等,嚴格來說應用程序不屬于操作系統。早期的Linux系統是針對386來開發的,它不含有應用程序。

1.2、Linux歷史簡介

  • 操作系統始于二十世紀50年代,當時的操作系統能運行批處理程序。批處理程序不需要用戶的交互,它從文件或者穿孔卡片讀取數據,然后輸出到另外一個文件或者打印機。
  • 二十世紀六十年代初,交互式操作系統開始流行。它不僅僅可以交互,還能使多個用戶從不同的終端同時操作主機。這樣的操作系統被稱作分時操作系統,它的出現對批處理操作系統是個極大的挑戰。許多人嘗試開發分時操作系統, 其中包括一些大學的研究項目和商業項目。當時有一個項目叫做"Multics",它的技術在當時很創新。"Multics"項目的開發并不順利。它花費了遠超過預計的時間來完成,卻沒有在操作系統市場上占到多少份額。而參加該項目的一個開發團體-貝爾實驗室退出了這個項目。他們在退出后開發了他們自己的一個操作系統——Unix。
    Unix最初免費發布并因此在大學里受到歡迎。后來,Unix實現了TCP/IP協議棧,成為了早期工作站的操作系統的一個流行選擇。
  • 1990年,Unix在服務器市場尤其是大學校園成為主流操作系統,許多校園都有Unix主機,當然還包括一些研究它的計算機系的學生。這些學生都渴望能在自己的電腦上運行Unix。不幸的是,從那時候開始,Unix開始變得商業化,它的價格也變得非常昂貴。而唯一低廉的選擇就是Minix,這是一個功能有限的類似Unix的操作系統,作者Andrew Tanebaum開發它的目的是用于教學。
  • 1991年10月,Linus Torvalds(Linux之父)在赫爾辛基大學接觸Unix,他希望能在自己的電腦上運行一個類似的操作系統??墒荱nix的商業版本非常昂貴,于是他從Minix開始入手,計劃開發一個比Minix性能更好的操作系統。很快他就開始了自己的開發工作。他將自己寫好的第一個版本的Linux內核發布在網上,很快吸引了一些對此感興趣的人。這些人的加入使它(Linux Kernel)很快就具有了許多吸引人的特性。
    Linux本來只是指Linux操作系統的內核。內核是使其他程序能夠運行的基礎。它實現了多任務和硬件管理,用戶或者系統管理員交互運行的所有程序實際上都運行在內核之上。其中有些程序是必需的,比如說,命令行解釋器(Shell),它用于用戶交互和編寫shell腳本(.bat文件)。 Linus沒有自己去開發這些應用程序,而是使用已有的自由軟件。這減少了搭建開發環境而所需花費的工作量。實際上,他經常改寫內核,使得那些程序能更容易在Linux上運行。許多重要的軟件,包括C編譯器,都來自于自由軟件基金GNU項目。GNU項目開始于1984年,目的是為了開發一個完全類似于Unix的免費操作系統。為了表揚GNU對Linux的貢獻,許多人把Linux稱為GNU/Linux(GNU有自己的內核。)
  • 1992-1993年,Linux內核具備了挑戰Unix的所有本質特性,包括TCP/IP網絡,圖形界面系統(X window)。Linux 同樣也吸引了許多行業的關注。一些小的公司開發和發行Linux,有幾十個Linux用戶社區成立。1994年,LINUX 雜志也開始發行。
  • Linux 內核1.0在1994年三月發布,內核的發布要經歷許多開發周期,直至到達一個穩定的版本。
    下面列舉一下Linux誕生大事件
    ? 1965年,Bell實驗室、MIT、GE(通用電氣公司)準備開發Multics系統,為了同時支持300個終端訪問主機,但是1969年失敗了;
    剛開始并沒有鼠標、鍵盤,輸入設備只有卡片機,因此如果要測試某個程序,則需要將讀卡紙插入卡片機,如果有錯誤,還需要重新來過;
    Multics:Multiplexed Information and Computing Service
    ? 1969年,Ken Thompson(C語言之父)利用匯編語言開發了FIle Server System(Unics,即Unix的原型)
    因為匯編語言對于硬件的依賴性,因此只能針對特定硬件;
    只是為了移植一款“太空旅游”的游戲;
    ? 1973年,Dennis Ritchie和Ken Thompson發明了C語言,而后寫出了Unix的內核將B語言改成C語言,由此產生了C語言之父;
    90%的代碼是C語言寫的,10%的代碼用匯編寫的,因此移植時只要修改那10%的代碼即可;
    ? 1977年,Berkeley大學的Bill Joy針對他的機器修改Unix源碼,稱為BSD(Berkeley Software Distribution)
    Bill Joy是Sun公司的創始人;
    ? 1979年,Unix發布System V,用于個人計算機;
    ? 1984年,因為Unix規定:“不能對學生提供源碼”,Tanenbaum老師自己編寫兼容于Unix的Minix,用于教學;
    ? 1984年,Stallman開始GNU(GNU's Not Unix)項目,創辦FSF(Free Software Foundation);
    產品:GCC、Emacs、Bash Shell、GLIBC;
    倡導“自由軟件”;
    GNU的軟件缺乏一個開放的平臺運行,只能在Unix上運行;
    自由軟件指用戶可以對軟件做任何修改,甚至再發行,但是始終要掛著GPL的版權;
    自由軟件自身并不被允許賣的,只是賣服務、手冊等;
    ? 1985年,為了避免GNU開發的自由軟件被其他人用作專利軟件,因此創建GPL(General Public License)版權聲明;
    ? 1988年,MIT為了開發GUI,成立了XFree86的組織;
    ? 1991年,芬蘭赫爾辛基大學的研究生Linus Torvalds基于gcc、bash開發了針對386機器的Lniux內核;
    ? 1994年,Torvalds發布Linux-v1.0;
    ? 1996年,Torvalds發布Linux-v2.0,確定了Linux的吉祥物:企鵝;

①.UNIX進化史
②.GNU
③.linu kernel
④.Linux的20年發展史中20個大事件

本文由三月行者撰寫,版權所有,轉載請注明出處。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容