Linux實戰教學筆記03:操做系統發展歷程及系統版本選擇

標籤(空格分隔): Linux實戰教學筆記-陳思齊linux


第1章 Linux簡介

1.1 什麼是操做系統?

簡單講:操做系統就是一我的與計算機硬件的中介。面試

  • 操做系統,英文名稱Operating System,簡稱OS,是計算機系統中必不可少的基礎系統軟件,它是應用程序運行以及用戶操做必備的基礎環境支撐,是計算機系統的核心。
  • 操做系統的做用是管理和控制計算機系統中的硬件和軟件資源,例如,它負責直接管理計算機系統的各類硬件資源,如對CPU,內存,磁盤等的管理,同時對系統資源供需的優先次序進行管理。操做系統還能夠控制設備的輸入,輸出以及操做網絡與管理文件系統等事務。同時,它也負責對計算機系統中各種軟件資源的管理。例如各種應用軟件的安裝,運行環境設置等。
    屏幕快照 2016-12-23 下午8.53.42.png-725.1kB數據庫

  • 操做系統就是處於用戶與計算機系統硬件之間用於傳遞信息的系統程序軟件。例如:操做系統會在接收到用戶輸入的信息後,將其傳給計算機系統硬件核心進行處理,而後再把計算機系統硬件的處理結果返回給使用者。
    屏幕快照 2016-12-23 下午8.56.25.png-265kB編程

思考一下世界上什麼操做系統使用率最高?windows

1.2 什麼是Linux?

  • 相似windows,Linux也是一個操做系統軟件,Linux是一套開放源代碼程序的,並能夠自由傳播的類Unix操做系統軟件,多用戶,多任務而且支持多線程和多CPU的操做系統。
  • Linux系統主要被應用於服務器端嵌入式開發我的PC桌面3大領域,其中服務器端領域是重中之重。 BAT(百度,阿里,騰訊)
  • 咱們熟知的大型,超大型互聯網企業(百度,Sina,淘寶等)都在使用Linux系統做爲服務器端的程序運行平臺,全球及國內排名前十的網站使用的主流系統幾乎都是Linux系統。
  • 咱們熟知的大型,超大型互聯網企業(百度,sina,淘寶等)都在使用Linux系統做爲其服務器端的程序運行平臺,全球及國內排名前十的網站使用的主流系統幾乎都是Linux系統。

從上面的內容能夠看出,Linux操做系統之因此如此流行,是由於它具備以下一些特色:centos

  • 是開放源代碼的程序軟件,可自由修改
  • Unix系統兼容,具有幾乎全部Unix的優秀特性
  • 可自由傳播,無任何商業化版權制約
  • 適合Intel等X86CPU系統架構的計算機
    技巧:學會對階段性知識的小結是學好運維的關鍵

1.3 Linux的起源

1.3.1 Unix的歷史

Unix系統於1969年在AT&T的貝爾實驗室誕生,20世紀70年代,它逐步盛行,這期間,又產生了一個比較重要的分支,就是大約1977年誕生的BSD(Berkeley Software Distribution)系統。從BSD系統開始,各大廠商及商業公司開始了根據自身公司的硬件架構,並以BSD系統爲基礎進行Unix系統的研發,從而產生了各類版本的Unix系統,例如:SUN公司的Solaris,IBM公司的AIX,HP公司的HPUNIX等。
屏幕快照 2016-12-23 下午9.14.51.png-1071.3kBbash

Unix的5大優點特性

  • 技術成熟,可靠性高
  • 極強的可伸縮性
    Unix支持的CPU處理器體系架構很是多,包括Intel/AMD及HP-PA,MIPS,PowerPC,UltraSPARC,ALPHA等RISC芯片,以及SMP,MPP等技術

提示:多是因爲早期各大廠商都基於Unix進行適合本身的硬件開發,所以,Unix支持的CPU架構才更多。服務器

  • 強大的網絡功能
    Internet互聯最重要的協議TCP/IP就是在Unix上開發和發展起來的。此外,Unix還支持很是多的經常使用的網絡協議,如NFS,DCE,IPX/SPX,SLIP,PPP等
  • 強大的數據庫支持能力
    Oracle,DB2,Sybase,Informix等大型數據庫,都把Unix做爲其主要的數據庫開發和運行平臺,一直到目前爲止,依然如此。
  • 強大的開發能力
    正是Unix促使了C語言的誕生

1.4 Unix操做系統的革命

  • 70年代中後期,因爲各廠商及商業公司開發的Unix及內置軟件都是針對本身公司特定硬件的,所以在其餘公司的硬件上基本上沒法直接運行。
  • 70年代末,Unix又面臨了突如其來的被AT&T回收受權的重大問題,特別是要求禁止對學生羣體提供Unix系統源代碼。
  • 也是在80年代初期,一樣是因爲以前的Unix系統版權和源代碼限制等問題,使得當時大學裏教學Unix系統的束縛很大。所以,當時的一個大學的教授,名字爲Andrew Tanenbaum (譚寧邦),基於以前還在開源的Unix部分開發了一個能夠運行於x86PC平臺的系統,這個系統的名字爲Minix
  • 因爲譚寧邦開發的這個Minix系統的目的只是用於教學,所以,Minix系統的功能沒法知足商用的需求,可是Minix的產生對於Linux的誕生又是相當重要的一個部分。
  • 1984年,Richard Stallman發起了開發自由軟件的運動,併成立了自由軟件基金會(Free Software Foundation,FSF)和GNU項目。
  • 當時發起這個自由軟件運動和建立GNU項目的目的其實很簡單,就是想開發一個相似Unix系統,而且是自由軟件的完整操做系統,也就是要解決70年代末Unix版權問題以及軟件源代碼面臨閉源的問題,這個系統叫作GNU操做系統。
  • 這個GNU系統後來沒有流行起來。如今的GNU系統一般是使用Linux系統的內核,以及使用了GNU項目貢獻的一些組件加上其它相關程序組成,這樣的組合被稱爲GNU/Linux操做系統。網絡

    2.4 Linux的誕生

    Linux系統的誕生開始於芬蘭赫爾辛基大學的一位計算機系的學生,名字爲Linus Torvalds。
    Linux的標誌和吉祥物爲一隻名字叫作Tux的企鵝--Torvalds‘ Unix
    屏幕快照 2016-12-23 下午9.55.47.png-58kB多線程

1.5 Linux 的發展歷程

1,linux的發展歷程簡介

1)1984年,Andrew S.Tanenbaum開發了用於教學的Unix系統,命名爲MINIX。
2)1989年,Andrew S.Tanendaum將MINIX系統運行於x86的PC計算機平臺
3)1990年,芬蘭赫爾辛基大學學生Linus Torvalds首次接觸MINIX系統
4)1991年,Linux Torvalds開始在MINIX上編寫各類驅動程序等操做系統內核組件。
5)1991年末,Linus Torvalds公開了Linux內核源代碼0.02版,注意,這裏公開的Linux內核源碼並非咱們如今使用的Linux系統的所有,而僅僅是Linux內核kernel部分的代碼。
6)1993年,Linux1.0版發行,Linux轉向GPL版權協議
7)1994年,Linux的第一個商業發行版Slackware問世。
8)1996年,美國國家標準技術局的計算機系統實驗室確認Linux版本1.2.13(由Open LInux公司打包)符合POSIX標準
9)1999年,Linux的簡體中文發行版問世
10)2000年後,Linux系統日趨成熟,涌現大量基於Linux服務器平臺的應用,並普遍應用於基於ARM技術的嵌入式系統中。

2,Linux發展歷程中相關人物
咱們必定要向前輩們致以深深地敬意,沒有他們,就沒有今天的Linux系統存在了。
屏幕快照 2016-12-23 下午10.14.11.png-637.4kB

第2章 Linux核心概念知識

2.1 自由軟件與FSF

1,自由軟件
簡單地理解,自由軟件的核心就是沒有商業化軟件版權制約,源代碼開放,可無約束自由傳播。

注意:自由軟件強調的是權利問題,而非是否免費的問題。你們必定要理解這個概念,自由軟件中的自由是「言論自由」中的「自由」,而不是「免費啤酒」中的「免費」。

自由意味着freedom,而免費意味着free,這是徹底不一樣的概念。例如:RedHatLinux自由但難免費,CentOS Linux是自由且免費的。
自由軟件關乎使用者運行,複製,發佈,研究,修改和改進該軟件的自由。

2,2 自由軟件基金會FSF

FSF(Free Software Foundation)的中文意思是自由軟件基金會,是Richard Stallman於1984年發起和創辦的。FSF的主要項目是GNU項目。GNU項目自己產生的主要軟件包括:Emacs (神同樣的軟件)gcc,bash和編程語言,以及gawk(GNU‘s awk)等。

2.3 GNU知識

GNU的全程爲GNU‘s not unix,意思是「GNU不是UNIX「,GNU計劃,又稱革奴計劃,是由Richard Stallman 在1984年公開發起的,是FSF的主要項目。前面已經提到過,這個項目的目標是創建一套徹底自由的和可移植的類Unix操做系統。
可是GNU本身的內核Hurd仍在開發中,離實用還有必定的距離。
如今的GNU系統一般是使用Linux系統的內核,加上GNU項目貢獻的一些組件,以及其它相關程序組成的,這樣的組合被稱爲GNU/Linux操做系統,
到1991年linux內核發佈的時候,GNU項目已經完成了除系統內核以外的各類必備軟件的開發。在Linus Torvalds和其它開發人員的努力下,GNU項目的部分組件又運行到了Linux內核之上,例如:GNU項目裏的Emacs,gcc,bash,gawk等,至今都是Linux系統中很重要的基礎軟件。

屏幕快照 2016-12-23 下午10.52.41.png-82.5kB

2.4 GPL知識

GPL全稱爲General Public License,中文名爲通用公共許可,是一個最著名的開源許可協議,開源社區最著名的Linux內核就是在GPL許可下發布的。GPL許但是自由軟件基金會(Free Software foundation)建立的。
1984年,Richard Stallman發起開發自由軟件的運動後不久,在其餘人的協做下,他創立了通用公共許可證(GPL),這對推進自由軟件的發展起了相當重要的做用,那麼,這個GPL究竟是什麼意思呢?
簡單的理解,GPL許可的核心,是保證任何人有共享和修改自由軟件的自由,任何人有權取得,修改和從新發布自由軟件的源代碼權利,但都必須同時給出具體更改的源代碼
雖然整個Linux內核是基於GNU通用公共許可的,可是Linux內核並非GNU計劃的一部分。這一點,請不要混淆。
FSF(公司)==>GPL(項目)==>emacs gcc bash gawk
FSF(公司)==>GPL(項目) ==>自由傳播 修改源代碼 可是必須把修改後的源代碼也要發佈出來
Linus Torvalds==>linux內核

2.5 Linux系統組成

Linux操做系統=linux內核+GNU軟件及系統軟件+必要的應用程序

屏幕快照 2016-12-23 下午11.04.57.png-227.2kB

第3章 Linux的特色

3.1 Linux爲何受歡迎?

Linux系統之因此受到廣大計算機愛好者的喜好,主要緣由有兩個:
一是,Linux屬於自由軟件,用戶不用支付任何費用就能夠得到系統和系統的源代碼,而且能夠根據本身的須要對源代碼進行必要的修改,免費使用,無約束地自由傳播。
二是,Linux具備Unix的所有優秀特性,任何使用Unix操做系統或想要學習Unix操做系統的人,均可以經過學習Linux來了解Unix,一樣能夠得到Unix中的幾乎全部優秀功能,而且Linux系統更開放,社區開發和全世界的使用者也更活躍。

第4章 如何選擇Linux的發行版

4.1 Linux的發行版本介紹

  • Linux內核(kernel)版本主要有4個系列,分別爲Linux kernel2.2,Linux kernel2.4,Linuxkernel2.6,Linux kernel3.x,更多更新版本請瀏覽kernel官網,點擊便可
  • linux的發行商包括Slackware,Redhat,Debjan,Fedora,TurboLinux,Mandrake,SUSE,CentOS,Ubuntu,紅旗,麒麟...
    下面看看其中幾個重要的發行版本。

1)Red Hat:Red Hat Linux9.0的內核爲2.4.20.在版本9.0後,Red Hat 再也不遵循GPL協議,成爲收費產品(但仍開源),發展的新版本依次爲Red Hat 3.x,Red Hat 4.x,Red Hat 5.x Red Hat 6.x,Red Hat 7.x .
2)Fedora:爲Red Hat的一個分支,仍遵循GPL協議,能夠認爲是RedHat預發佈版。(遊戲公測)
3)CentOS(Community Enterprise Operationg System):與redhat作到二進制級別的一摸同樣。RedHat的另外一個重要分支,以RedHat所發佈的源代碼重建符合GPL許可協議的Linux系統,即將Red Hat Linux 源代碼的商標LOGO以及非自由軟件部分去除後再編譯而成的版本,目前CentOS已被RedHat公司收購,但仍開源免費。CentOS Linux是國內互聯網公司使用最多的Linux系統版本。

提示:有關Linux操做系統,記住Redhat,CentOS,Ubuntu,Fedora,SUSE,DEbian等便可。Redhat與CentOS的區別和聯繫,有時會被面試官問到,須要重點了解。

4.2 Linux發行版本應用場景

屏幕快照 2016-12-23 下午11.36.32.png-754.9kB

4.3 CentOS的主流版本再國內互聯網企業的使用現狀說明

  • CentOS 5系列:佔25%左右,主流版本有CentOS 5.5,CentOS5.11,不推薦學習。===>Linux 2.4
  • CentOS 6系列:佔45%左右,主流版本有CentOS 6.2,CentOS 6.4,CentOS 6.6,CentOS 6.8 ===>Linux 2.6
  • CentOS 7 系列:剛剛發佈不久,目前極少企業正式使用,所以不建議玩它。這裏有一個企業使用的大環境問題,由於學完了沒地方用不說,企業實際用的CentOS 5和CentOS 66系列你反而不會,那樣就捨本逐末了,先學習6,再過2年等企業用上了CentOS7,輕鬆就能夠轉過去,根據企業的主流應用選擇纔是明智的。

4.4 爲何企業環境要選擇64位操做系統?

  • 目前絕大多數企業生產環境中,使用的都是64位CentOS系統,32位與64位系統的定位和區別。
  • 區別一:當初設計時定位不一樣。64位操做系統的設計定位是:知足機械設計和分析,三維動畫,視頻編輯和創做,以及科學計算和高性能計算應用程序等領域,這些應用領域的共同特色就是須要有大量的系統內存和浮點性能。簡單地說,64位操做系統是爲高科技人員使用本行業特殊軟件的運行平臺而設計的。而32位操做系統是爲普通用戶設計的。
  • 區別二:安裝要求配置不一樣。64位操做系統只能安裝在64位電腦上(CPU必須是64位的),而且只在針對64位的軟件時才能發揮最佳性能。32位操做系統能夠安裝在32位(32位CPU)電腦上,也能夠安裝在64位(64CPU)電腦上。固然,此時32位的操做系統是沒法發揮674位硬件性能的。
  • 區別三:運算速度不一樣:
    64位===>8車道大馬路(2^8)
    32位===>4車道馬路(2^2)
  • 區別四:尋址能力不一樣
    支持的最大內存不一樣
    32位系統 4GB 內存
    64位系統 128GB 內存

屏幕快照 2016-12-24 上午12.09.06.png-98.4kB

小面試題:大家公司服務器使用的版本是什麼?
CentOS 6.8 x86_64 內核版本 2.6.32

小結:
本章重點回顧:
1)瞭解什麼是操做系統以及操做系統簡單原理圖
2)瞭解Unix發展歷史
3)瞭解市面上的常見Unix系統版本
4)瞭解Unix及Linux誕生髮展的幾個關鍵人物
5)重點了解GNU GPL FSF的知識
6)瞭解Linux系統的特色
7)瞭解Linux系統的常見發行版本,不一樣場景選擇
8)重點了解CentOS和Redhat的區別和聯繫
9)瞭解CentOS各個版本的應用場景及企業應用狀況
10)學習搭建學習Linux的環境

本章知識相關面試題: 1)請詳細描述GNU的相關知識和歷史事件? 2)請描述什麼是GPL以及GPL的內容細節? 3)企業工做中如何選擇各Linux發行版? 4)Red Hat Linux和CentOS Linux有啥區別和聯繫?

相關文章
相關標籤/搜索