一,什么是操作系統
操作系統是人與硬件的中介/橋梁。
操作系統是計算機系統中必不可少的基礎系統軟件,它的作用是管理和控制計算機系統中的硬件和軟件資源,合理地組織計算機系統的工作流程,以便有效地利用這些資源為使用者提供一個功能強大、使用方便的操作環境。它在計算機系統(硬件)與使用者之間起到接口的作用。
計算機由硬件和軟件組成結構
具體的內容見博客:https://www.cnblogs.com/wj-1314/p/8302269.html
二,什么是Linux?
Linux是一種開放源代碼的,類似於Unix的操作系統。
2.1 Linux哲學思想
一切都是一個文件(包括硬件) 小型,單一用途的程序 鏈接程序,共同完成復雜的任務 避免令人困惑的用戶界面 配置數據存儲在文本中
2.2 Linux的特點
Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。
Linux可以運行在多種硬件平台上,如具有x86、680×0、SPARC、Alpha等處理器的平台。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發布的Linux 2.4版內核已經能夠完全支持Intel 64位芯片架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統性能大大提高。
2.3 Linux的發行版本
slackware:SUSE Linux Enterprise Server (SLES) opensuse桌面 debian:ubuntu,mint redhat:rhel: redhatenterprise linux 每18個月發行一個新版本 CentOS:兼容rhel的格式 中標麒麟:中標軟件 Fedora:每6個月發行一個新版本 ArchLinux:輕量簡潔 Gentoo:極致性能,不提供傳統意義的安裝程序 LFS: Linux From scratch 自制Linux Android: kernel+busybox(工具集)+java虛擬機
當然如果想要看到跟詳細的Linux發展版本及發展分支點擊下面的鏈接:http://futurist.se/gldt/
三,Linux的發展過程
3.1 Linux的歷史
操作系統,英語Operating System簡稱為OS。說道操作系統就需要先講一講Unix,UNIX操作系統,是一個強大的多用戶、多任務操作系統,支持多種處理器架構,按照操作系統的分類,屬於分時操作系統,最早由KenThompson、Dennis Ritchie和Douglas McIlroy於1969年在AT&T的貝爾實驗室開發。而linux就是一款類Unix系統。
通常人們對linux都有一個錯誤的認識,就是這個名詞"linux操作系統",其實linux不是操作系統,linux是一個內核,linux系統構成包括:、Linux 內核、GNU 項目及其他項目的軟件。當然,但人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程各種工具和數據庫的操作系統。
3.2 Linux的開發者
林納斯·本納第克特·托瓦茲(Linus Benedict Torvalds, 1969年~ ),著名的電腦程序員、黑客。Linux內核的發明人及該計划的合作者。托瓦茲利在大學讀書期間創造出了這套當今全球最流行的操作系統(作業系統)內核之一。
3.3 Linux發展歷史
Linux操作系統的誕生、發展和成長過程始終依賴着五個重要支柱:UNIX 操作系統、MINIX 操作系統、GNU計划、POSIX 標准和Internet 網絡。。
1981 年IBM公司推出微型計算機IBM PC。
1991年,GNU計划已經開發出了許多工具軟件,最受期盼的GNU C編譯器已經出現,GNU的操作系統核心HURD一直處於實驗階段,沒有任何可用性,實質上也沒能開發出完整的GNU操作系統,但是GNU奠定了Linux用戶基礎和開發環境。
1991年初,林納斯·托瓦茲開始在一台386sx兼容微機上學習minix操作系統。1991年4月,林納斯·托瓦茲開始醞釀並着手編制自己的操作系統。
1991 年4 月13 日在comp.os.minix 上發布說自己已經成功地將bash 移植到了minix 上,而且已經愛不釋手、不能離開這個shell軟件了。
1991年7月3日,第一個與Linux有關的消息是在comp.os.minix上發布的(當然此時還不存在Linux這個名稱,當時林納斯·托瓦茲的腦子里想的可能是FREAX,FREAX的英文含義是怪誕的、怪物、異想天開等)。
1991年的10月5日,林納斯·托瓦茲在comp.os.minix新聞組上發布消息,正式向外宣布Linux內核的誕生(Freeminix-like kernel sources for 386-AT)。
1993年,大約有100余名程序員參與了Linux內核代碼編寫/修改工作,其中核心組由5人組成,此時Linux 0.99的代碼大約有十萬行,用戶大約有10萬左右。
1994年3月,Linux1.0發布,代碼量17萬行,當時是按照完全自由免費的協議發布,隨后正式采用GPL協議。
1995年1月,Bob Young創辦了RedHat(小紅帽),以GNU/Linux為核心,集成了400多個源代碼開放的程序模塊,搞出了一種冠以品牌的Linux,即RedHat Linux,稱為Linux"發行版",在市場上出售。這在經營模式上是一種創舉。
1996年6月,Linux 2.0內核發布,此內核有大約40萬行代碼,並可以支持多個處理器。此時的Linux 已經進入了實用階段,全球大約有350萬人使用。
1998年2月,以Eric Raymond為首的一批年輕的"老牛羚骨干分子"終於認識到GNU/Linux體系的產業化道路的本質,並非是什么自由哲學,而是市場競爭的驅動,創辦了"Open Source Intiative"(開放源代碼促進會)"復興"的大旗,在互聯網世界里展開了一場歷史性的Linux產業化運動。
2001年1月,Linux 2.4發布,它進一步地提升了SMP系統的擴展性,同時它也集成了很多用於支持桌面系統的特性:USB,PC卡(PCMCIA)的支持,內置的即插即用,等等功能。
2003年12月,Linux 2.6版內核發布,相對於2.4版內核2.6在對系統的支持都有很大的變化。
2004年的第1月,SuSE嫁到了Novell,SCO繼續頂着罵名四處強行“化緣”, Asianux, MandrakeSoft也在五年中首次宣布季度贏利。3月,SGI宣布成功實現了Linux操作系統支持256個Itanium 2處理器
四,Linux發行版本
1)Ubuntu 烏班圖 開發人員
2)redHat 紅帽 國企 金融
RedHat Linux 9.0 開源的最后一個版本
Red Hat Enterprise Linux RHEL
3)CentOS 國內最火爆
4)Fedora 相當於redhat的測試版 會把新功能 新想法 放入Fedora 穩定
5)debian/freebasd 安全性要求比較高的環境才會用這兩個系統
6)SUSE/OpenSUSE 德國用的較多(在德國開發出來) 一般用在 高級數據庫 郵件服務
7)紅旗linux 麒麟(中標麒麟)
CentOS 和 RedHat的區別
1.RedHat 免費下載 項目收費 無法更新
2.CentOS 做到與紅帽一模一樣,紅帽收費項目 紅帽logo去掉
五,Unix,Posix和標准UniX規范
20世紀60年代是大型、復雜操作系統盛行的年代,比如IBM的OS/360和Honeywell的Multics系統。OS/360是歷史上最成功的軟件項目之一,而 Multics雖然持續存在了多年,卻從來沒有被廣泛應用過。貝爾實驗室曾經是Multics項目的最初參與者,但是因為考慮到該項目的復雜性和缺乏進展而於1969年退出。鑒於Mutics項目不愉快的經歷,一群貝爾實驗室的研究人員Ken Thompson、 Dennis Ritchie、 Doug Mcllroy和 Joe Ossanna,從1969年開始在DEC PDP-7計算機上完全用機器語言編寫了一個簡單得多的操作系統。這個新系統中的很多思想,比如層次文件系統、作為用戶級進程的 shell概念,都是來自於 Multics,只不過在一個更小、更簡單的程序包里實現。1970年,Brian Kernighan給新系統命名為“Unix”,這也是一個雙關語,暗指“Multics”的復雜性。1973年用C重新編寫其內核,1974年,Unix開始正式對外發布。
貝爾實驗室以慷慨的條件向學校提供源代碼,所以Unix在大專院校里獲得了很多支持並得以持續發展。最有影響的工作發生在20世紀70年代晚期到80年代早期,在美國加州大學伯克利分校,研究人員在一系列發布版本中增加了虛擬內存和Internet協議,稱為Unix4.xBSD(Berkeley Software Distribution)。與此同時,貝爾實驗室也在發布自己的版本,稱為System V Unix。其他廠商的版本,比如Sun Microsystems的Solaris系統,則是從這些原始的BSD和System V版本中衍生而來。
20世紀80年代中期,Unix廠商試圖通過加入新的、往往不兼容的特性來使它們的程序與眾不同,麻煩也就隨之而來了。為了阻止這種趨勢,IEEE(電氣和電子工程師協會)開始努力標准化Unix的開發,后來由 Richard Stallman命名為“Posix”。結果就得到了一系列的標准,稱作Posix標准。這套標准涵蓋了很多方面,比如Unix系統調用的C語言接口、shell程序和工具、線程及網絡編程。最近,一個被稱為“標准Unix規范”的獨立標准化工作已經與Posix一起創建了統一的Unix系統標准。這些標准化工作的結果是Unix版本之間的差異已經基本消失。
六,UNIX/Linux/BSD、POSIX、GNU
6.1 UNIX來源
Bell實驗室的Ken Thompson開始利用一台閑置的 PDP-7計算機開發了一種多用戶,多任務操作系統。很快,Dennis Richie加入了這個項目,在他們共同努力下誕生了最早的UNIX。Richie受一個更早的項目——MULTICS的啟發,將此操作系統命名為 Unix。早期UNIX是用匯編語言編寫的,但其第三個版本用一種嶄新的編程語言C重新設計了。C是Richie設計出來並用於編寫操作系統的程序語言。通過這次重新編寫,Unix得以移植到更為強大的 DEC PDP-11/45與11/70計算機上運行。后來發生的一切,正如他們所說,已經成為歷史。Unix從實驗室走出來並成為了操作系統的主流,現在幾乎每個主要的計算機廠商都有其自有版本的Unix。
6.2 POSIX來源
隨着UNIX成長,后來占領了市場,公司多了,懂得人也多了,就分家了。而“UNIX”這個名字由於法律關系,誰也不能說自己的操作系統是“UNIX”而只能說是“UNIX兼容”系統了。所以現在“UNIX”系統嚴格意義上說是不存在的,存在的只是一個遙遠的傳說。那么現在那些Solaris,AIX,IRIS都是什么呢?那些都是各公司在他們硬件平提上作的商業UNIX,這些系統都遵循一個叫POSIX的古怪標准,對了,這個標准呢,是后來UNIX太多太亂,大家編程接口甚至命令都不一樣了所以沒辦法座下來商量的一個協議。
6.3 Linux來源
Linux起源於一個學生的簡單需求。Linus Torvalds,Linux的作者與主要維護者,在其上大學時所買得起的唯一軟件是Minix. Minix是一個類似Unix,被廣泛用來輔助教學的簡單操作系統。Linus 對Minix不是很滿意,於是決定自己編寫軟件。他以學生時代熟悉的Unix作為原型, 在一台Intel 386 PC上開始了他的工作。他的進展很快,受工作成績的鼓舞,他將這項成果通過互連網與其他同學共享,主要用於學術領域。有人看到了這個軟件並開始分發。每當出現新問題時,有人會立刻找到解決辦法並加入其中,很快的, Linux成為了一個操作系統。值得注意的是Linux並沒有包括Unix源碼。它是按照公開的POSIX標准重新編寫的。Linux大量使用了由麻省劍橋免費軟件基金的GNU軟件,同時Linux自身也是用它們構造而成。
6.3 GUN來源
GNU就是GNU's Not Unix的縮寫, GNU 的創始人Stallman 認為UNIX雖然不是最好的操作系統,但是至少不會太差,而他自信有能力把UNIX 不足的地方加以改進,使它成為一個優良的操作系統,就是名為GNU的一個同UNIX兼容的操作系統,並且開發這 個系統的目的就是為了讓所有計算機用戶都可以自由地獲得這個系統。任何人都可以免費地獲得這個系統的源代碼,並且可以相互自由拷貝GNU 是由自由軟件基金會 (Free Software Foundation,FSF)的董事長Richard M. Stallman (RMS)於1984年發起的,如今已經有十幾年的歷史了。
GNU 開始的策略就是先開發UNIX已經有的程序(因為計划中GNU將會是一個與UNIX兼容的操作系統,而UNIX下的標准使用界面已經非常完善了,所以先依照這個標准開發應用程序,將來GNU自己的系統核心一出來,就立即可以使用所有先前開發的GNU 應用程序),因此會先有emacs,GCC等工具軟件開發出來。其中GCC更是GNU計划自立更生的一個重要步驟(不需要依靠商業軟件來產生/編譯整個GNU系統),如今這套程序開發工具已經很成熟了。
下一步要做的就是開發GNU的核心--Hurd了,只要Hurd一開發出來,GNU 就是一套能夠自我開機,真正自給自足,完整的自由操作系統。Hurd是基於Mach這個微內核(micro kernel)上的操作系統核心。以后會使用尤他大學的Mach4(一個更為方便和快速的微內核),由於Hurd基於Mach,所以只要Mach移植到什么機器上,Hurd也立刻就是這種硬件平台的操作系統,就這一點而言,它是一種很前衛的操作系統。
但是,GNU的操作系統核心Hurd一直處於實驗階段,沒有任何可用性,實質上也沒能開發出完整的GNU操作系統,但是GNU奠定了Linux用戶基礎和開發環境。自由軟件基金會目前有一套以Linux為核心的GNU系統計划。這個計划就是自由軟件基金會支持的 Debian Linux。 Debian Linux 是GNU軟件與公共軟件(Public Domain Software)最徹底的結合,它是一套完全由GNU和公共軟件配置起來的,而且具有商業操作系統水平的操作系統。
Linux加入GNU之后,成了“自由的OS”,稱為“GNU/Linux”。
6.4 BSD來源
BSD 則代表“Berkeley Software Distribution,伯克利軟件套件”,其源於對加州大學伯克利分校所開發的貝爾實驗室UNIX的一系列修改,它最終發展成一個完整的操作系統,現在有多個不同的BSD分支。今天,“BSD”並不特指任何一個BSD衍生版本,而是類UNIX操作系統中的一個分支的總稱。
6.5 BSD分支
以下是通常認可的三個“主流” BSD 操作系統:
- FreeBSD: FreeBSD 是最受歡迎的 BSD,針對高性能和易用性。它支持英特爾和 AMD 的32位和64位處理器。
- NetBSD: NetBSD 被設計運行在幾乎任何架構上,支持更多的體系結構。在他們的主頁上的格言是"理所當然,我們運行在 NetBSD 上"。
- OpenBSD:OpenBSD 為最大化的安全性設計的 —— 這不僅僅它宣稱的功能,在實踐中也確實如此。它是為銀行和其他重要機構的關鍵系統設計的。
還有兩個其他的重要 BSD 操作系統:
- DragonFly BSD: DragonFly BSD 的設計目標是提供一個運行在多線程環境中的操作系統 —— 例如,計算機集群。
- Darwin / Mac OS X: Mac OS X 實際上基於 Darwin 操作系統,而 Darwin 系統基於 BSD。它與其他的 BSD 有點不同,雖然底層內核和其他的軟件是開源代碼(BSD 代碼),但操作系統的大部分是閉源的 Mac OS 代碼)。蘋果在 BSD 基礎上開發了 Mac OS X 和 iOS,這樣他們就不必寫操作系統底層,就像 谷歌在 Linux 基礎上開發 android 系統一樣。
6.6 LINUX和BSD分支
6.6.1,許可證
許可證是典型的差異,雖然它不會對大多數人產生影響。
Linux 使用 GNU 通用公共許可證,即 GPL。如果你修改了 Linux 內核,並將其分發,你就必須放出您的修改的源代碼。
BSD 使用 BSD 許可證。如果你修改了 BSD 內核或發行版,並且發布它,你根本不需要必須發布其源代碼。你可以自由地對你的 BSD 代碼做任何你想做的事情,你沒有義務發布的你修改的源代碼,當然你想發布也行。
兩者都是開放源碼的,但是以不同的方式。人們有時會陷入關於哪種許可證是“更自由”的辯論。GPL 可以幫助用戶以確保他們可以擁有 GPL 軟件的源代碼,並限制開發人員迫使他們開放代碼。BSD 許可證並不能確保用戶可以擁有源代碼,而是給開發人員選擇是否公布代碼的權利,即使他們想要把它變成一個閉源項目。
6.6.2,使用
Linux 顯然比 FreeBSD 更受歡迎。例如,Linux 往往會比 FreeBSD 更早提供新硬件的支持。BSD 有一個兼容包可用,使之能像大多數的其他軟件一樣原生的執行 Linux 二進制程序。
如果您使用過 Linux, FreeBSD 不會讓你感覺到太大的不同。如果把 FreeBSD 作為桌面操作系統,你也可以使用相同的 GNOME,KDE 或 Xfce 桌面環境,你也可以在BSD上使用 Linux 上的大多數的其他軟件。有一點需要注意,FreeBSD 不會自動安裝的圖形化桌面,所以你要花相對於 Linux 更多的心思來照顧你的BSD。BSD 更守舊一些。
FreeBSD 的可靠性和穩定性也許更適合作為服務器的操作系統。而廠商也會選擇 BSD 而不是 Linux 作為其操作系統,因為這樣他們就不必放出他們修改的代碼。
如果你是一個 PC 桌面用戶,你真的不需要太過在意 BSD。你可能會喜歡 Linux,因為它具有更先進的硬件支持,更容易安裝,具有現代操作系統的特點。如果你關注服務器或嵌入式的設備,你可能會更喜歡 FreeBSD。
我們可能會聽到一些人說他們在桌面電腦上使用 FreeBSD,你當然也可能是其中之一!但像 Ubuntu 或 Mint 一樣的開源操作系統對於多數用戶來說更體驗良好和更先進些。