通過本篇文章,讀者可以了解Linux的基本概念、歷史、發展情況;
首先,我們通過簡單的介紹Linux,了解什么是linux以及它的發展背景;
前言:操作系統介紹
內核負責控制硬件資源分配,而如果只有內核,則只能讓計算機硬件運行,而不能有任何功能,因此需要系統調用提供給開發者使用,從而開發應用程序;
內核能夠控制硬件,比如:讓CPU可以運算、讓硬盤可以讀寫數據等;只有內核的話,只能讓計算機運行,但是我們不能控制計算機;
而系統調用是操作系統提供給開發者的調用接口;
任何硬件都不會默認就被操作系統控制,而需要開發商根據操作系統提供的接口開發驅動程序,只有安裝了驅動程序才能夠控制硬件設備;
一、Linux介紹
1.Linux簡單介紹
Linux核心理念:一切皆文件;
Linux:是一個內核,而不是一個操作系統;因此我們平常說的“操作系統用的是Windows、Mac還是Linux?。俊笔清e誤的,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之父,芬蘭赫爾辛基大學;
以上,是個人對Linux發展史的資料整合;
歡迎補充!
原創文章,作者:Zero,如若轉載,請注明出處:http://www.www58058.com/51008