Linux入門:Linux曆史介紹

來源:互聯網
上載者:User

通過本篇文章,讀者可以瞭解Linux和Unix的基本概念、曆史、發展情況;

首先,我們通過簡單的介紹Unix和Linux,讀者可以對其進行比較不同之處,瞭解Linux的出現為何非常好,Linux的相關背景;


前言(1):作業系統介紹

核心負責控制硬體資源分派,而如果只有核心,則只能讓電腦硬體運行,而不能有任何功能,因此需要系統調用提供給開發人員使用,從而開發應用程式;

核心能夠控制硬體,比如:讓CPU可以運算、讓硬碟可以讀寫資料等;只有核心的話,只能讓電腦運行,但是我們不能控制電腦;

而系統調用是作業系統提供給開發人員的調用介面;

任何硬體都不會預設就被作業系統控制,而需要開發商根據作業系統提供的介面開發驅動程式,只有安裝了驅動程式才能夠控制硬體裝置;

前言(2):Unix簡單介紹


Unix一開始是開源的,後來AT&T收回著作權,並且不公開原始碼;

Unix的代碼是由90%的C語言和10%的彙編組成;

Unix後來的兩大分支:AT&T的System V和BSD(此處我們在下面Linux的發展史上會講到);

一、Linux介紹


1.Linux簡單介紹


Linux核心理念:萬物皆目錄

Linux:是一個核心,而不是一個作業系統;因此我們平常說的“作業系統用的是Windows、Mac還是Linux啊?”是錯誤的,Ubuntu、Fedora等才是作業系統的名字,他們都使用Linux核心;

1991年最初由Linus Torvalds針對386(個人電腦)開發;Linus Torvalds那時是芬蘭的一名研究生;

Unix Like:很像Unix的作業系統;

蘋果電腦為什麼現在能裝Windows作業系統?因為蘋果使用了Intel的X86架構,而windows也是針對此架構的,因此按理論來說一般的PC上也可以安裝mac作業系統;

Linux的吉祥物是企鵝(英文名:Tux),因為Torvalds在小時候被企鵝咬過,因此印象非常深刻;

Unix和Linux的代碼是由90%的C語言和10%的彙編組成,因此只需要稍加修改,就能移植到其他硬體上;

2.Linux的優缺點


Linux的優點


1.開放的學習環境;

2.漏洞重點補充;

3.因為核心只有幾百k,因此適合嵌入式系統;

Linux的缺點


1.有些專業軟體沒有Linux版本;

3.Linux發展史

 

Unix是用90%的C語言和10%組合語言混合編寫的,因此對於硬體平台的移植時還是需要更改代碼,因此各個公司都推出了針對自家機型的Unix系統;

到了AT&T System V第七版時,終於推出了針對X86的Unix,因此終於能夠在個人電腦上安裝Unix,但是有一條規定:“不能向學生公開源碼”,因此Tanebaum教授就不看Unix源碼,編寫了相容Unix的針對X86的Minix作業系統;

因為Minix只是教學使用,因此功能並不強,因此Torvalds利用GNU的bash當做開發環境,gcc當做編譯工具,編寫了Linux核心-v0.02,但是一開始Linux並不能相容Unix,即Unix上跑的應用程式不能在Linux上跑,即應用程式與核心之間的介面不一致,因為Unix是遵循POSIX規範的,因此Torvalds修改了Linux,並遵循POSIX(Portable Operating System
Interface,他規範了應用程式與核心的介面規範);

一開始Linux只適用於386,後來經過全世界的網友的協助,最終能夠相容多種硬體;

4.Linux核心版本號碼介紹


命令:uname -r 

3.2.0-23

主要版本.次版本.釋放版本-修改版本

Linux的核心版本分為穩定版本和開發版本;

此版本如果是偶數,則為穩定版本,如果是奇數,則為開發版本,核心開發人員使用;

釋放版本為對次版本的改動,即加入一些功能;

修改版本為編譯的次數,每次加一;

二、Linux曆史

20世紀60年代,MIT開發分時作業系統(Compatible TIme-Sharing System),支援30台終端訪問主機;

    ~主機負責運算,而終端負責輸入輸出;

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的吉祥物:企鵝; 

三、Linux重要人物


1.Ken Thompson:C語言之父和Unix之父

2.Dennis Ritchie:C語言之父和Unix之父;

3.Stallman:著名駭客,GNU創始人,開發了Emacs、gcc、bash shell;

4.Bill Joy:BSD開發人員;

5.Tanenbaum:Minix開發人員;

6.Linus Torvalds:Linux之父,芬蘭赫爾辛基大學;

Tips:基本術語


(1)Linux Distribution


Linux Distribution:Kernel+Softwares+Tools組成的可安裝的系統;Ubuntu、Fedora、SUSE、Redhat都是Linux Distribution;

Linux Distribution按照安裝軟體的方式分為:RPM包和dpkg安裝;

Linux Distribution按照發布版分為:團隊版(適用於個人電腦)和商業版(適用於伺服器);


(2)Unix Like


很像Unix的作業系統;


(3)授權模式


1.Open Source:開放原始碼;

2.Close Source:沒有原始碼;

        Freeware:免費但不開源;

        Shareware:一開始免費試用,經過一段時間後收費;


(4)POSIX規範


POSIX是對應用程式和系統調用之間的介面的規範;

(5)SELinux

Security Enhanced Linux:美國國家安全域開發,控制Linux的系統檔案的存取權限;

(6)KDump功能

當核心出現錯誤時,會將當時記憶體的訊息寫入檔案中,以便核心開發人員查看;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.