『學了就忘』Linux基礎 — 1、UNIX系統介紹


在學習Linux系統之前,我們先來了解以下UNIX系統。

(一)UNIX系統介紹

在介紹Linux系統之前,我們先來了解以下UNIX系統。

1、UNIX系統發展歷史

  • 1965年美國麻省理工學院(MIT)通用電氣公司(GE)AT&T的貝爾實驗室聯合開發Multics工程計划,其目標是開發一種交互式的具有多道程序處理能力的分時操作系統,但因Multics追求的目標過於龐大復雜,項目進度遠遠落后於計划,最后貝爾實驗室宣布退出。
  • 1969年,美國貝爾實驗室的肯·湯普森DEC PDP-7機器上(性能低)開發出了UNIX系統。
  • 1971年,肯·湯普森的同事丹尼斯·里奇發明了C語言;1973年,UNIX系統的絕大部分源代碼用C語言重寫,這為提高UNIX系統的可移植性打下基礎。

image

左邊:肯·湯普森
右邊:丹尼斯·里奇

2、UNIX 主要發行版本

目前最主流的三款發行版本如下:

操作系統 公司 硬件平台
AlX IBM PowerPC
UX HP PA-RISC
Solaris SUN SPARC

說明:

  1. AIX最為普及(數量最多),因為IBM的服務器買的最多,但是AIX有一個巨大的問題就是,它只能在IBM的服務器硬件平台安裝(PowerPC)。
    換句話說,我們自己用的普通電腦,裝不了這個系統。想要學習AIX系統,就需要買一台IBM的服務器。
  2. HP-UX也同樣是上邊的問題,必須在PA-RISC平台的服務器上安裝。
  3. Solaris具有支持微機的版本。可以在我們自己普通的電腦上安裝,不需要在單獨購買服務器。
    這就變成你學習UNIX系統成本最低的一個選擇了,而我們到市面上買一些UNIX的書籍,可以發現,反而Solaris系統的書籍最多。

補充:
Linux和BSD這樣的系統,稱為類UNIX系統。命令上基本上大致一樣,文件系統結構基本一樣,區別就是有個別命令,有個別文件保存的位置或者文件名不一樣。但是深入到底層的內容,確實是有很多很多的內容是不一樣的。

(二)GNU計划

1、GNU計划介紹

Richard Mathew Stallman(史托曼)在1984年發起的GNU計划,對於現今的自由軟件風潮,有不可磨滅的地位!目前我們所使用的很多自由軟件或開源軟件,幾乎均直接或間接受益於GNU這個計划。GNU計划對於整個自由軟件與開放原始碼軟件來說,是占有非常重要的角色!

2、為何Stallman會發起這個GNU計划呢?

史托曼開始GNU計划的目的是:建立一個自由、開放的Unix操作系統(Free Unix)

Tips:
其實GNU是GNU'sNot Unix的縮寫,意思是說,GNU並不是Unix!

因為當下並沒有自由的Unix核心存在,所以這些開源的軟件仍只能在那些有專利的Unix平台上工作。

3、GNU的通用公共許可證:

到了1985年,為了避免GNU所開發的自由軟件被其他人所利用,而成為專利軟件,所以Stallman與律師草擬了有名的通用公共許可證(General Public License,GPL)。

(1)那么這個GPL(GNU General Public License)是什么?

Stallman對GPL一直是強調Free的,這個Free的意思是這樣的:大意是說,Free Software(自由軟件)是一種自由的權力,並非是價格。也就是說,自由軟件的重點並不是指免費的,而是指具有自由度(freedom)的軟件。

舉例來說,你可以擁有自由呼吸的權力、你擁有自由發表言論的權力,但是,這並不代表你可以到處喝免費的啤酒(free beer)。

史托曼進一步說明了自由度的意義是:使用者可以自由的執行、復制、再發行、學習、修改與強化自由軟件。

GPL是站在互助互利的角度上去開發的,你不應該將大家的成果占為己有。

(2)為什么要將自由軟件掛上GPL的【版權宣告】呢?

因為如此一來,你所拿到的軟件可能原先只能在Unix上面跑,但是經過原始碼的修改之后,你將可以拿他在Linux或者是Windows上面來跑!總之,一個軟件掛上了GPL版權宣告之后,他自然就成了自由軟件!這個軟件就具有底下的特色:

  • 取得軟件與原始代碼:你可以根據自己的需求來執行這個自由軟件;
  • 復制:你可以自由的復制該軟件;
  • 修改:你可以將取得的原始代碼進行程序修改工作,使之適合你的工作;
  • 再發行:你可以將你修改過的程序,再度的自由發行,而不會與原先的撰寫者沖突;
  • 回饋:你應該將你修改過的程序代碼回饋於社群。

Tips:
總體概括的說,你用我的開源軟件可以修改,在你修改開發之后你發布出去的軟件,必須也是開源的。

(3)這個版權宣告對於作者有何好處?

因為是提供原始代碼的自由軟件,那么你的程序代碼將會有很多人幫你查閱,如此一來,程序的漏洞與程序的優化將會進展的很快!所以,在安全性與效能上面,自由軟件一點都不輸給商業軟件。

此外,因為GPL授權當中,修改者並不能修改授權,因此,你如果曾經貢獻過程序代碼,你將名留青史。

對於程序開發者來說,GPL是一個非常好的授權,因為大家可以互相學習對方的程序撰寫技巧,而且自己寫的程序也有人可以幫忙除錯。

對於廣大的終端用戶,或許自己不會編譯程序代碼或者是幫人家除錯,但是終端用戶使用的軟件絕大部分就是GPL的軟件。

大致的優點總結:

  • 軟件安全性較佳;
  • 軟件執行效能較佳;
  • 軟件除錯時間較短;
  • 貢獻的原始碼永遠都存在。

Tips1:
GNU的通用公共許可證(GPL),隨着時間的推移,也相繼出現了第二版GPLv2,和第三版GPLv3,這個可以自己再擴展下。

Tips2:
在這里必須要說明的是由於有GNU所開發的幾個重要軟件,如:

軟件
Emacs
GNUC(GCC)
GNU C Library(glibc)
Bash shell
  • GCC說明
    不論是什么軟件,都得要進行編譯成為二進制文件(binary program)后才能夠執行,說明軟件的能見度還是不夠。因此他便開始撰寫C語言的編譯程序,那就是現在相當有名的GNUCCompiler(gcc)
  • Emacs 編輯器、函式庫(GNU C library),以及可以被使用來操作操作系統的基本接口BASH shell,這些都在1990年左右完成的。

4、自由軟件的活動

1984年創立GNU計划的Stallman先生認為,寫程序最大的快樂就是讓自己開發的良好的軟件讓大家使用起來!

如果使用方撰寫程序的能力比自己強,那么當對方修改完自己的程序,並且回傳修改后的程序代碼給自己,那自己的程序撰寫功力無形中就更往上爬了!

而既然程序是想要分享給大家使用的,不過每個人所使用的計算機軟硬件並不相同,既然如此的話,那么該程序的原始碼(Source code)就應該要同時釋出,這樣才能方便大家修改而適用於每個人的計算機中。這個將原始代碼連同軟件程序釋出的舉動,在GNU計划的范疇之內就稱為自由軟件(Free Software)運動

此外,史托曼同時認為,如果你將你程序的Source code分享出來時,若該程序是很優秀的,那么將會有很多人使用,而每個人對於該程序都可以查閱Source code,無形之中就會有一票人幫你除錯,你的程序將會越來越壯大,越來越優秀。

Tips:
什么是Open Source呢?
所謂的Source code是程序發展者寫出的源代碼,Open Source就是,軟件在發布時,同時將作者的原始碼一起公布的意思!

5、自由軟件與商業行為

有人會說,目前不是有很多Linux開發商販賣Linux這個GPL授權的軟件。原因很簡單,因為他們大多都是販賣的是售后服務。

比如你可以購買他們的Linux光盤,如果你購買了光盤,他們會提供相關的手冊說明文件,同時也會提供你數年不等的咨詢、售后服務、軟件升級與其他協力工作等等的附加價值!

通過服務來收費,自由軟件確實還是具有商業空間的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM