歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux學習筆記之——Linux相關

摘要:主要從網上摘錄了一下關於Linux的歷史、對Linux的來源有個大概的了解、這樣對以後的學習會有些許的幫助、也能擴展一下自己的知識面。

一:操作系統

簡單的來說,操作系統主要分為兩個東西,一個是內核、一個是一堆核心提供的工具、這一堆工具組成的就是所謂的操作系統。

內核負責控制硬件資源分配,而如果只有內核,則只能讓計算機硬件運行,而不能有任何功能,因此需要系統調用提供給開發者使用,從而開發應用程序;內核能夠控制硬件,比如:讓CPU可以運算、讓硬盤可以讀寫數據等;只有內核的話,只能讓計算機運行,但是我們不能控制計算機。

而系統調用是操作系統提供給開發者的調用接口。任何硬件都不會默認就被操作系統控制,而需要開發商根據操作系統提供的接口開發驅動程序,只有安裝了驅動程序才能夠控制硬件設備。

二:Linux

1、Linux起源

Unix操作系統在20世紀60年代構思完成並實現,並在1970年首次發布。它因容易獲取與可移植性高而廣泛被學術機構和工商企業采用、復制和修改。它的設計對其他系統的作者影響很大。

在1983年,RichardStallman創建了以創建一個自由軟件,類Unix,與POSIX兼容的操作系統為目標的GNU計劃。作為這個計劃其中的一部分,他又寫了GNU通用公共許可證(GPL)。20世紀90年代初,已經有足夠的軟件去創建一個完整的操作系統。但是,GNU的內核,GNU Hurd沒能夠充分吸引開發者;這導致了GNU的未能完成。

在20世紀80年代還有另外一個關於自由操作系統的項目,伯克利軟件包。這是由UC Berkeley從AT&T的第六版Unix開發而來的。因為它包含了AT&T所擁有的的Unix代碼,所以AT&T在20世紀90年代初對加利福尼亞大學提起了法律訴訟。這嚴重限制了BSD的發展與應用。

1987年安德魯·斯圖爾特·塔能鮑姆發布一個用於教學的類Unix系統。雖然系統的源代碼容易得到,但是對源代碼的修改與再發布卻受到了限制。另外,MINIX的16位的設計與當時日漸便宜及受歡迎的、個人電腦的Intel 80386架構兼容得不好。

這些因素使得Torvalds開始了他的項目。他曾說過,如果那時候有可用的GNU或者386BSD內核的話,他很可能就不會去寫他自己的內核了。

2、Linux誕生:

1991年,在赫爾辛基,LinusTorvalds開始那個後面成為了Linux內核的項目。最初它只一個Torvalds用來訪問大學裡的大型的Unix服務器的虛擬終端。他專門寫了一個用於他當時正在用的硬件的,與操作系統無關的程序,因為他要用他那用80386處理器的新PC機的功能。開發是在Minix上,用至今仍為首先的編譯器——GCC——來完成的。

Torvalds在他的書只為歡樂 中說過,他最後才意識到自己寫了一個操作系統內核。1991年8月25日,他在發布到新聞組“comp.os.minix.”的Usenet上發布了這個系統:

“ 使用minix操作系統的各位,大家好!

我正在為386(486)AT clones寫一個(自由的)操作系統(只是愛好而已,不會和GNU一樣成為廣泛且專業的操作系統)。這個計劃從4月份開始醞釀,現在已做好准備。我希望得到人們關於minix優缺點的任何反饋意見,因為我的操作系統和它有類似的方面(因為可行性方面的原因,兩者的文件系統物理布局相同)。我剛剛把bash(1.08)和gcc(1.40)移植到了系統上,而且看來運行得很好。這意味著我可以在幾個月內我就可以把它變得有實用性了。我想知道大家想要些什麼特色。歡迎提任何的建議,但是我不保證我會實現你的建議:-)

Linus ([email protected])

另:是的,它沒有包含任何minix的代碼;它的文件系統還是一個多線程的。它沒有可移植性(它利用了386的任務調度算法等),而且它很可能永遠只會支持AT的硬盤(我只有這種硬盤:-( )

——Linus Torvalds

3、Linux名稱的由來

Linus Torvalds本要把他的發時叫做Freax——“fread”,“free”和“x”(暗指Unix)的合成詞。在開發系統的前半年裡,他把文件以文件名“Freax”存儲。Torvalds考慮過Linux這個名字,但是因為覺得它過於自我本位而放棄了使用它。

為便於開發,在1991年9月,他把那些文件上傳到了赫爾辛基工業大學(HUT)的FTP服務器(ftp.funet.fi)。Torvalds在HUT負責管理那個服務器的同事Ari Lemmke,覺得“Freax”這個名字不是很好,就在不咨詢Torvalds的情況下,把項目的名字改成了“Linux”。但是之後,Torvalds也同意“Linux”這個名字了:“經過多次討論,他承認Linux這個名字更好。在0.01版本Linux的源代碼的makefile裡仍然使用‘Freax'這個名字,在之後‘Linux'這個名字才被使用。所以,Linux這個名字並不是預先想好的,只是它被廣泛接受了而已”。

4、Linux吉祥物的由來

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

5、Linux的優缺點

優點:

a)穩定的系統:Linux 本來就是建立在 Unix 上面發展出來的操作系統,因此,Linux 具有與 Unix 系統相似的的程序接口跟操作方式,當然也繼承了 Unix 穩定並且有效率的特點。常聽到安裝 Linux 的主機連續運做一年以上而不曾當機、不必關機是稀松平常的事;

b) 免費或少許費用:由於 Linux 是基於 GPL 的基礎下的產物,因此任何人皆可以自由取得 Linux ,至於一些『安裝套件』的發行者,他們發行的安裝光盤也僅需要些許費用即可獲得!不同於 Unix 需要負擔龐大的版權費用,當然也不同於微軟需要一而再、再而三的更新你的系統,並且繳納大量費用!

c) 安全性、漏洞的修補:如果你常玩網絡的話,那麼你最常聽到的應該是『沒有絕對安全的主機』!沒錯!不過 Linux 由於支持者日眾,有相當多的熱心團體、個人參與其中的開發,因此可以隨時獲得最新的安全信息,並給予隨時的更新,亦即是具有相對的較安全!

d)多任務、多使用者:與Windows 系統不同的, Linux 主機上可以同時允許多人上線來工作,並且資源的分配較為公平,比起 Windows 的單人假多任務系統要穩定的多!這個多人多任務可是 Unix-Like 上面相當好的一個功能,怎麼說呢?你可以在一部 Linux 主機上面規劃出不同等級的使用者,而且每個使用者登入系統時的工作環境都可以不相同,此外,還可以允許不同的使用者在同一個時間登入主機,以同時使用主機的資源。

e) 使用者與群組的規劃:在 Linux 的機器中,檔案的屬性可以分為『可讀、可寫、可執行』等參數來定義一個檔案的適用性,此外,這些屬性還可以分為三個種類,分別是『檔案擁有者、檔案所屬群組、其它非擁有者與群組者』。這對於項目計劃或者其它計劃開發者具有相當良好的系統保密性。

f)相對比較不耗資源的系統

缺點:

a)有些專業軟件沒有Linux版本;

b)圖形接口作的還不夠好

6、Linux的發展史

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

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

1965年,Bell實驗室、MIT、GE(通用電氣公司)准備開發Multics系統,為了同時支持300個終端訪問主機,但是1969年失敗了;

~剛開始並沒有鼠標、鍵盤,輸入設備只有卡片機,因此如果要測試某個程序,則需要將讀卡紙插入卡片機,如果有錯誤,還需要重新來過;

~Multics:MultiplexedInformation 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(BerkeleySoftware Distribution)

~ Bill Joy是Sun公司的創始人;

1979年,Unix發布System V,用於個人計算機;

1984年,因為Unix規定:“不能對學生提供源碼”,Tanenbaum老師自己編寫兼容於Unix的Minix,用於教學;

1984年,Stallman開始GNU(GNU's NotUnix)項目,創辦FSF(Free Software Foundation)基金會;

~ 產品:GCC、Emacs、Bash Shell、GLIBC;

~ 倡導“自由軟件”;

~ GNU的軟件缺乏一個開放的平台運行,只能在Unix上運行;

~ 自由軟件指用戶可以對軟件做任何修改,甚至再發行,但是始終要掛著GPL的版權;

~ 自由軟件是可以賣的,但是不能只賣軟件,而是賣服務、手冊等;

1985年,為了避免GNU開發的自由軟件被其他人用作專利軟件,因此創建GPL(General Public License)版權聲明;

1988年,MIT為了開發GUI,成立了XFree86的組織;

1991年,芬蘭赫爾辛基大學的研究生LinusTorvalds基於gcc、bash開發了針對386機器的Lniux內核;

1994年,Torvalds發布Linux-v1.0;

1996年,Torvalds發布Linux-v2.0,確定了Linux的吉祥物:企鵝;

7、Linux內核版本的介紹

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

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

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

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

Copyright © Linux教程網 All Rights Reserved