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


標簽(空格分隔): 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

思考一下世界上什么操作系統使用率最高?

1.2 什么是Linux?

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

從上面的內容可以看出,Linux操作系統之所以如此流行,是因為它具有如下一些特點:

  • 是開放源代碼的程序軟件,可自由修改
  • 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.3kB

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有啥區別和聯系?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM