歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux入門:Linux歷史介紹

Linux入門:Linux歷史介紹

日期:2017/3/3 11:56:49   编辑:Linux技術

通過本篇文章,讀者可以了解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 DistributionLinux 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)SELinuxSecurity Enhanced Linux:美國國家安全局開發,控制Linux的系統文件的訪問權限;(6)KDump功能當內核出現錯誤時,會將當時內存的消息寫入文件中,以便內核開發者查看;

Copyright © Linux教程網 All Rights Reserved