引言:
開源是什么?什么是Unix 、Linux ?這兩種操作系統又有什么關聯?
? 大家當前在用最常見的電腦系統是眼前的Windows ,但為何我們要花學習Linux 的發展史?
通過下面的介紹,我們能大致了解互聯網發展的一些問題,以及Linux和Unix的基本概念、歷史、發展情況。
一、操作系統介紹
內核(kernel)負責控制硬件資源分配,而如果只有內核,則只能讓計算機硬件運行,而不能有任何功能,因此需要系統調用提供給開發者使用,從而開發應用程序;
內核能夠控制硬件,比如:讓CPU可以運算、讓硬盤可以讀寫數據等;只有內核的話,只能讓計算機運行,但是我們不能控制計算機;
而系統調用是操作系統提供給開發者的調用接口;任何硬件都不會默認就被操作系統控制,而需要開發商根據操作系統提供的接口開發驅動程序,只有安裝了驅動程序才能夠控制硬件設備;
其實 Linux 就是一個操作系統,這個操作系統里頭含有最主要的 kernel 以及 kernel 提供的工具啦!他提供了一個完整的操作系統當中最底層的硬件控制與資源管理的完整架構,軟件開發者將他們的工作心血轉移到這個架構上,那就是很多的應用軟件啦!雖然Linux僅是其核心與核心提供的工具,不過由于核心、核心工具與這些軟件開發者提供的軟件的整合,使得Linux成為一個更完整、功能更強大的操作系統咯!我們可以將 Linux 的系統與使用者的相關性看成底下的圖示:
二、Linux、Unix歷史
早在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的原型)但因為匯編語言對于硬件的依賴性,因此只能針對特定硬件。據說當時的Thompson只是為了移植一款叫“太空旅游”的游戲,才開發的這款操作系統,哈哈!
1973年,Dennis Ritchie和Ken Thompson發明了C語言,而后寫出了Unix的內核,他們將那個操作系統以B語言改成C語言編寫,最后發行出Unix的正式版本
Unix中90%的代碼是C語言寫的,10%的代碼用匯編寫的,因此只要修改那10%的代碼,就可以移植到其他硬件上。
1977年,Berkeley大學的Bill Joy針對他的機器修改Unix源碼,稱為BSD(Berkeley Software Distribution),這個 BSD 是 Unix 很重要的一個分支, Bill Joy也是 Unix 業者『 Sun 』這家公司的創辦者! Sun 公司即是以 BSD 發展的核心進行自己的商業Unix 版本的發展的。
1979年,由于 Unix 的高度可移植性與強大的效能,加上當時并沒有版權的糾紛, 所以讓很多商業公司開始了 Unix 操作系統的發展,例如 AT&T 自家的 System V、IBM 的 AIX 以及 HP 與 DEC 等公司,都有推出自家的主機搭配自己的 Unix 操作系統。;
1984年,因為Unix規定:“不能對學生提供源碼”,Tanenbaum老師自己編寫兼容于Unix的Minix,用于教學;同年,Stallman開始GNU(GNU's Not Unix)項目,創辦FSF(Free Software Foundation)基金會,FSF基本內容如下:
~ 開發產品: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的優缺點
目前 Linux已經是相當成熟的一款操作系統了,由于他的系統硬件要求很低,而且不耗資源又可以自由取得,這也是造成 Linux 成為最近幾年來最受矚目的操作系統之一。Linux的主要優點有以下幾種:
1、穩定的系統:
Linux 本來就是基于 Unix 概念而發展出來的操作系統,因此, Linux 具有與 Unix 系統相似的的程序接口跟操作方式,當然也繼承了 Unix 穩定并且有效率的特點。
2、免費或少許費用:
由于 Linux 是基于 GPL 的基礎下的產物,因此任何人皆可以自由取得 Linux , 至于一些『安裝套件』的發行者, 他們發行的安裝光盤也僅需要些許費用即可獲得!
3、安全性、漏洞的快速修補:
Linux 由于支持者日眾,有相當多的熱心團體、個人參與其中的開發, 因此可以隨時獲得最新的安全信息,并給予隨時的更新,亦即是具有相對的較安全!
4、多任務、多使用者:
與 Windows 系統不同的, Linux 主機上可以同時允許多人上線來工作, 并且資源的分配較為公平。你可以在一部 Linux 主機上面規劃出不同等級的使用者,而且每個使用者登入系統時的工作環境都可以不相同,此外,還可以允許不同的使用者在同一個時間登入主機,以同時使用主機的資源。
5、使用者與群組的規劃:
在 Linux 的機器中,檔案的屬性可以分為『可讀、可寫、可執行』 等參數來定義一個檔案的適用性,此外,這些屬性還可以分為三個種類, 分別是檔案擁有者、檔案所屬群組、其它非擁有者與群組者。 這對于項目計劃或者其它計劃開發者具有相當良好的系統保密性。
6、相對比較不耗資源的系統:
Linux 只要一部 p-100 以上等級的計算機就可以安裝并且使用愉快啰!還不需要到 P-4 或 AMDK8 等級的計算機呢!不過,如果你要架設的是屬于大型的主機(服務上百人以上的主機系統),那么就需要比較好一點的機器了。不過,目前市面上任何一款個人計算機均可以達到這一個要求
7、適合需要小核心程序的嵌入式系統:
由于 Linux 只要幾百 K 不到的程序代碼就可以完成一個完整的操作系統, 因此相當適合于目前家電或者是小電子用品的嵌入式操作系統。
當然,Linux也存在沒有特定的支持廠商和圖形接口做的不過好等不足之處,不過相對于這么多的優點,這些不足也就無關痛癢啦!等大家學習好Linux之后在以后或許能夠自己彌補這些不足之處呢!
原創文章,作者:lyx,如若轉載,請注明出處:http://www.www58058.com/51198