=====課程筆記=====
一、Linux 為何物
Linux 是一個作業系統,就像你多少已經了解的 Windows(xp,7,8)和 Max OS 。 Linux 也就是系統調用和核心兩層,我們使用的作業系統還包含一些在其上運作的應用程式,比如文本編輯器,浏覽器,電子郵件。
二、Linux 曆史簡介
作業系統始于二十世紀 50 年代,當時的作業系統能運作批處理程式。批處理程式不需要使用者的互動,它從檔案或者穿孔卡片讀取資料,然後輸出到另外一個檔案或者列印機。二十世紀六十年代初,互動式作業系統開始流行。它不僅僅可以互動,還能使多個使用者從不同的終端同時操作主機。這樣的作業系統被稱作分時作業系統,它的出現對批處理作業系統是個極大的挑戰。許多人嘗試開發分時作業系統, 其中包括一些大學的研究項目和商業項目。當時有一個項目叫做" Multics ",它的技術在當時很創新。" Multics "項目的開發并不順利。它花費了遠超過預計的時間來完成,卻沒有在作業系統市場上占到多少份額。而參加該項目的一個開發團體-貝爾實驗室退出了這個項目。他們在退出後開發了他們自己的一個作業系統—— UNIX。
UNIX 最初免費釋出并是以在大學裡受到歡迎。後來,UNIX 實作了 TCP/IP 協定棧,成為了早期工作站的作業系統的一個流行選擇。
1990年,UNIX 在伺服器市場尤其是大學校園成為主流作業系統,許多校園都有 UNIX 主機,當然還包括一些研究它的計算機系的學生。這些學生都渴望能在自己的電腦上運作 UNIX 。不幸的是,從那時候開始,UNIX 開始變得商業化,它的價格也變得非常昂貴。而唯一低廉的選擇就是 MINIX ,這是一個功能有限的類似 UNIX 的作業系統,作者 Andrew Tanebaum 開發它的目的是用于教學。
1991 年 10 月,Linus Torvalds(Linux 之父)在赫爾辛基大學接觸 UNIX ,他希望能在自己的電腦上運作一個類似的作業系統。可是 UNIX 的商業版本非常昂貴,于是他從 MINIX 開始入手,計劃開發一個比 MINIX 性能更好的作業系統。很快他就開始了自己的開發工作。他第一次發行的版本很快吸引了一些黑客。盡管最初的 Linux 并沒有多少用處,但由于一些黑客的加入使它很快就具有了許多吸引人的特性,甚至一些對作業系統開發不感興趣的人也開始關注它。
Linux 本身隻是作業系統的核心。核心是使其他程式能夠運作的基礎。它實作了多任務和硬體管理,使用者或者系統管理者互動運作的所有程式實際上都運作在核心之上。其中有些程式是必需的,比如說,指令行解釋器(shell),它用于使用者互動和編寫 shell 腳本(.bat檔案)。 Linus沒有自己去開發這些應用程式,而是使用已有的自由軟體。這減少了搭建開發環境而所需花費的工作量。實際上,他經常改寫核心,使得那些程式能更容易在 Linux 上運作。許多重要的軟體,包括 C 編譯器,都來自于自由軟體基金 GNU 項目。GNU 項目開始于 1984 年,目的是為了開發一個完全類似于 UNIX 的免費作業系統。為了表揚 GNU 對 Linux 的貢獻,許多人把 Linux 稱為GNU/Linux(GNU 有自己的核心)。
1992-1993 年,Linux 核心具備了挑戰 UNIX 的所有本質特性,包括 TCP/IP 網絡,圖形界面系統(X window),Linux 同樣也吸引了許多行業的關注。一些小的公司開發和發行Linux,有幾十個 Linux 使用者社群成立。1994 年,Linux 雜志也開始發行。
Linux 核心 1.0 在 1994 年三月釋出,核心的釋出要經曆許多開發周期,直至到達一個穩定的版本。
- 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 的版權; 自由軟體是可以賣的,但是不能隻賣軟體,而是賣服務、手冊等;
三、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 與 Windows 的差別
1.免費與收費
2.軟體與支援
- Windows 平台:數量和品質的優勢,不過大部分為收費軟體;由微軟官方提供重要支援和服務;
- Linux 平台:大都為開源自由軟體,使用者可以修改定制和再釋出,由于基本免費沒有資金支援,部分軟體品質和體驗欠缺;有全球所有的 Linux 開發者和自由軟體社群提供支援。
3.安全性
- Windows 平台:三天兩頭打更新檔安裝系統安全更新,還是會中病毒木馬;
- Linux 平台:要說 Linux 沒有安全問題,那當然是不可能的,這一點仁者見仁智者見智,相對來說肯定比 Windows 平台要更加安全,使用 Linux 你也不用裝某殺毒,某毒霸。
4.使用習慣
- Windows:普通使用者基本都是純圖形界面下操作使用,依靠滑鼠和鍵盤完成一切操作,使用者上手容易入門簡單;
- Linux:兼具圖形界面操作(需要使用帶有桌面環境的發行版)和完全的指令行操作,可以隻用鍵盤完成一切操作,新手入門較困難,需要一些學習和指導(這正是我們要做的事情),一旦熟練之後效率極高。
5.可定制性
- Windows:這些年之前算是全封閉的,系統可定制性很差;
- Linux:你想怎麼做就怎麼做,Windows 能做到得它都能,Windows 做不到的,它也能。
6.應用範疇
或許你之前不知道 Linux ,要知道,你之前在 Windows 使用百度,谷歌,上淘寶,聊 QQ 時,支撐這些軟體和服務的,是背景成千上萬的 Linux 伺服器主機,它們時時刻刻都在進行着忙碌的資料處理和運算,可以說世界上大部分軟體和服務都是運作在 Linux 之上的。
7.Windows 沒有的
- 穩定的系統
- 安全性和漏洞的快速修補
- 多使用者
- 使用者和使用者組的規劃
- 相對較少的系統資源占用
- 可定制裁剪,移植到嵌入式平台(如安卓裝置)
- 可選擇的多種圖形使用者界面(如 GNOME,KDE)
8.Linux 沒有的
- 沒有特定的支援廠商
- 遊戲娛樂支援度不足
- 專業軟體支援度不足
=====問題與方法=====
1、記住幾個相關人物和資訊比較困難。通過記錄在紙質版筆記上,友善檢視。
=====心得=====
早就聽說有關Linux的種種優點,現在開始要進行學習,感到興奮又由些許壓力。希望對它的使用能夠使得我以後使用Mac電腦更加友善。也能激發我對學習Linux的動力和興趣。