Linus Torvalds是Linux內核的發起者和主要維護者,時至今日,他的貢獻代碼量仍保持在2%,居於代碼排行榜第一位。1991年時編寫出了與UNIX兼容的0.02版Linux操做系統內核並在GPL條款下發布。因爲GPL協議,這個操做系統內核是能夠無償使用和自由傳播的,Linux操做系統是自由軟件和開源發展中最著名的例子。也正因如此,愈來愈多的人蔘與到這個項目的開發和維護中。由於它是相似於UNIX風格的操做系統,對當時它的發展起到了很大的促進做用。它最初只支持英特爾386處理器,但如今小到嵌入式芯片,大到超級計算機,都用上了Linux內核。根據里納斯的自傳所說,這只是他本身的一個項目,根本沒想到後來會有這麼大的發展,不少IT巨頭都開始支持Linux。廣泛認爲,Linux和Windows相比具備更低的成本和更高的安全性和性能。linux
因爲UNIX後來的商業化,通常只運行在昂貴的工做臺上,硬件和操做系統都要花費很高的價格,普通人都可貴一見。後來Andrew Tannebaum教授爲了開UNIX操做系統的課程,本身獨立開發了Minix操做系統,提供給本身學生的同時發佈在網上,供人們無償使用,由於Minix具備UNIX的特色,可是與UNIX不徹底兼容,而且教授執拗的認爲他的操做系統是爲了教學,不想添加其餘功能也不容許別人更改他的操做系統,因此1991年10月Linus Torvalds着手開始寫本身的操做系統,同年11月,在不少熱心的支持者的幫助下開發和推出了第一個穩定的Linux0.10工做版本。結果幾句話就歸納了,但過程真的很不容易,那段時間Linus Torvalds基本上除了睡覺吃飯,就是在編碼,幾乎沒出過門。程序員
後來1994年的3月,Linux1.0版本出現,在Linux設計過程當中,Linus Torvalds借鑑了不少UNIX的思想,可是源代碼都是獨立寫的。後面的發展迅速並有不少的IT公司的加入開發,程序員們也以在此項目上作出成績而自豪,這時Linux迅速發展並普及並進入了商業領域。在1995年6月,發佈了Linux 2.0版本,強大的它已經支持不少種處理器,並具備了很是重要的網絡功能,加強了系統的文件與虛擬內存的性能。shell
Linux只是一個操做系統內核,而GNU提供了大量的自由軟件來豐富在其之上的各類應用程序。所以,Linux這個詞自己只表示Linux內核,但在實際上人們已經習慣了用Linux來形容全部基於Linux內核的發行版Linux操做系統。基於這些組件的Linux軟件被稱爲Linux發行版。Linux發行套件包含大量的軟件,好比軟件開發工具,數據庫,Web服務器(例如Apache、Nginx),X Window,桌面環境,辦公套件、shell程序、工具、編譯器及工具等等。正是因爲Linux使用了許多GNU程序,GNU計劃的開創者Richard Stallman博士提議將Linux操做系統更名爲GNU/Linux。但有些人只把操做系統叫作"Linux"。數據庫
接下來談一談Linux和GNU的關係。Linux的歷史是和GNU緊密聯繫在一塊兒的。GNU是由Richard Stallman在1983年9月27日公開發起的。它的目標是建立一套徹底自由的操做系統,倡導全部軟件都應該公佈源代碼。從1983年開始的GNU計劃致力於開發一個自由而且完整的類Unix操做系統,包括軟件開發工具和各類應用程序,但因爲各類緣由,Richard Stallman受到資金等各類問題的影響,最後只能本身編寫程序,包括了一個功能強大的文字編輯器Emacs,C語言編譯器GCC。1985年Richard Stallman又創立了自由軟件基金會來爲GNU計劃提供技術、法律以及財政支持。儘管GNU計劃大部分時候是由我的自願無償貢獻,但FSF有時仍是會聘請程序員幫助編寫。當GNU計劃開始逐漸得到成功時,一些商業公司開始介入開發和技術支持。當中最著名的就是以後被Red Hat兼併的Cygnus Solutions。到1991年Linux內核發佈的時候,GNU已經幾乎完成了除了系統內核以外的各類必備軟件的開發。在Linus Torvalds和其餘開發人員的努力下,GNU組件能夠運行於Linux內核之上。整個內核是基於GNU通用公共許可,也就是GPL(General Pubic License)的,可是Linux內核並非GNU 計劃中的一部分。值得一提的是許多UNIX系統上也安裝了GNU軟件,由於GNU軟件的質量比以前UNIX的軟件還要好。GNU工具還被普遍地移植到Windows和Mac OS上。安全
操做系統是一臺計算機必不可少的系統軟件,是整個計算機系統的重中之重。Linux操做系統由內核(Kernel),外殼(shell)和應用程序三大部分組成。硬件平臺是Linux操做系統運行的基礎。內核是linux系統的心臟,是運行程序和管理硬件設備的 核心程序,負責控制硬件設備,管理文件系統,程序流程以及其餘工做。shell程序是系統的用戶界面,提供用戶與內核進行交互操做的一種接口。它接收用戶命令,傳達給內核處理,內核處理並把結果傳送到界面。服務器
學好Linux操做系統對將來的工做很是重要,在這我向須要學習Linux操做系統的朋友一本書籍,叫《Linux就該這麼學》。本書十分適合初學者閱讀,在網站上可直接觀看,你們能夠搜索linuxprobe就能夠找到網站。但願你們都能學有所成。網絡