Linux學(xué)習(xí)之計(jì)算機(jī)基礎(chǔ)入門和常見(jiàn)Linux發(fā)行版介紹
Linux理論基礎(chǔ)
-
- Linux理論基礎(chǔ)
- 1. 計(jì)算機(jī)的組成及其功能
- (1) CPU(控制器和運(yùn)算器)
- (2) 存儲(chǔ)器
- (3) 輸入設(shè)備
- (4) 輸出設(shè)備
- 2. Linux常見(jiàn)發(fā)行版,及不同發(fā)行版之間的聯(lián)系與區(qū)別
- Linux內(nèi)核和Linux發(fā)行版的關(guān)系
- Linux常見(jiàn)發(fā)行版
- Linux發(fā)行版之間的關(guān)系
- Linux發(fā)行版分類
- Linux各發(fā)行版特點(diǎn)
- 3. Linux的哲學(xué)思想
- 1. 計(jì)算機(jī)的組成及其功能
- Linux理論基礎(chǔ)
1. 計(jì)算機(jī)的組成及其功能
馮.諾伊曼體系中,計(jì)算機(jī)有五大基本部件:控制器、運(yùn)算器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備。?
實(shí)際應(yīng)用中,計(jì)算機(jī)包括CPU(控制器和運(yùn)算器)、存儲(chǔ)器(Memory內(nèi)存和Disk外存)、Input輸入設(shè)備、Output輸出設(shè)備。
(1) CPU(控制器和運(yùn)算器)
CPU由運(yùn)算器、控制器、寄存器、緩存、指令集組成。?
a、運(yùn)算器是實(shí)現(xiàn)算術(shù)運(yùn)算和邏輯運(yùn)算的部件:?
主要由算術(shù)邏輯部件(ALU:Arithmetic and Logic Unit)、寄存器組和狀態(tài)寄存器組成:?
ALU主要完成對(duì)二進(jìn)制信息的定點(diǎn)算術(shù)運(yùn)算、邏輯運(yùn)算和各種移位操作;?
通用寄存器組是用來(lái)保存參加運(yùn)算的操作數(shù)和運(yùn)算的中間結(jié)果;?
狀態(tài)寄存器在不同的機(jī)器中有不同的規(guī)定,程序中,狀態(tài)位通常作為轉(zhuǎn)移指令的判斷條件。?
b、控制器是計(jì)算機(jī)的指揮系統(tǒng),通過(guò)地址來(lái)訪問(wèn)存儲(chǔ)器(內(nèi)存),從存儲(chǔ)器中取出指令,經(jīng)譯碼器分析后,根據(jù)指令分析結(jié)果產(chǎn)生相應(yīng)的操作控制信號(hào)作用于其他部件,使得各部件在控制器控制下有條不紊地協(xié)調(diào)工作。?
控制器一般包括指令控制邏輯、時(shí)序控制邏輯、總線控制邏輯、中斷控制邏輯等幾個(gè)部分:?
指令控制邏輯要完成取指令、分析指令和執(zhí)行指令的操作;?
時(shí)序控制邏輯要為每條指令按時(shí)間順序提供應(yīng)有的控制信號(hào),一般時(shí)鐘脈沖就是最基本的時(shí)序信號(hào),是整個(gè)機(jī)器的時(shí)間基準(zhǔn),稱為機(jī)器的主頻;?
總線邏輯是為多個(gè)功能部件服務(wù)的信息通路的控制電路,就CPU而言一般分為內(nèi)部總線和CPU對(duì)外聯(lián)系的外部總線,外部總線有時(shí)候又叫做系統(tǒng)總線、前端總線(FSB)等;?
中斷是指計(jì)算機(jī)由于異常事件,或者一些隨機(jī)發(fā)生需要馬上處理的事件,引起CPU暫時(shí)停止現(xiàn)在程序的執(zhí)行,轉(zhuǎn)向另一服務(wù)程序去處理這一事件,處理完畢再返回原程序的過(guò)程。由機(jī)器內(nèi)部產(chǎn)生的中斷,把它叫做陷阱(內(nèi)部中斷),由外部設(shè)備引起的中斷叫外部中斷。?
c、寄存器(register)是CPU內(nèi)部用來(lái)存放數(shù)據(jù)的一些小型的存儲(chǔ)區(qū)域,用來(lái)暫時(shí)存放參與運(yùn)算的數(shù)據(jù)以及運(yùn)算結(jié)果。寄存器由電子線路組成,存取速度非常快,與CPU的速度相當(dāng),寄存器的成本較高,因而數(shù)量較少。CPU內(nèi)部的寄存器類型有指令寄存器、程序計(jì)數(shù)器、數(shù)據(jù)寄存器、地址寄存器以及狀態(tài)寄存器等。
(2) 存儲(chǔ)器
a、Memory內(nèi)存,RAM(Random Access Memory)?
由Cell存儲(chǔ)單元組成,每個(gè)Cell為8bits。?
擴(kuò)展思考:?
32位CPU能引用的存儲(chǔ)單元位置,決定了最大可用到的內(nèi)存大小為4GB:?
32位CPU,能夠識(shí)別的存儲(chǔ)單元地址個(gè)數(shù)位2^32個(gè),每個(gè)位置代表一個(gè)存儲(chǔ)單元Cell,每個(gè)Cell是8bits(1Byte),?
能用到的內(nèi)存大小為2^32Bytes=4GB。?
b、Disk外存,即磁盤,存儲(chǔ)數(shù)據(jù)。
(3) 輸入設(shè)備
下指令,提供數(shù)據(jù)等。
(4) 輸出設(shè)備
輸出數(shù)據(jù)加工后的結(jié)果。
2. Linux常見(jiàn)發(fā)行版,及不同發(fā)行版之間的聯(lián)系與區(qū)別
Linux內(nèi)核和Linux發(fā)行版的關(guān)系
Linux內(nèi)核指的是一個(gè)由Linus Torvalds負(fù)責(zé)維護(hù),提供硬件抽象層、硬盤及文件系統(tǒng)控制及多任務(wù)功能的系統(tǒng)核心程序。?
Linux發(fā)行版就是由Linux內(nèi)核與各種常用軟件的集合產(chǎn)品,如今全球大約有數(shù)百款的Linux發(fā)行版本。
Linux常見(jiàn)發(fā)行版
Linux發(fā)行版有三大主流分支:Debian、Slackware、Redhat,包含的主要發(fā)行版分別如下:
- Debian?
- Ubuntu?
Linux mint - Knopix
- Ubuntu?
- Slackware?
- S.u.S.E?
SLES-SuSE Linux Enterprise?
OpenSuSE
- S.u.S.E?
- Redhat?
- RHEL-RedHat Enterprise Linux?
CentOS-Community ENTerprise - Fedore Core
- RHEL-RedHat Enterprise Linux?
除了三大主流分支,還有兩種比較流行的發(fā)行版:
- Gentoo
- ArchLinux
Linux發(fā)行版之間的關(guān)系
- Fedora是基于RHEL,CentOS,Scientific Linux, 和Oracle Linux的社區(qū)版本。相比RHEL,F(xiàn)edora打包了顯著的更多的軟件包。其中一個(gè)原因是,多樣化的社區(qū)參與Fedora的建設(shè);它不只是一家公司。在這個(gè)過(guò)程中,CentOS用于活動(dòng),演示和實(shí)驗(yàn),因?yàn)樗菍?duì)最終用戶免費(fèi)提供的,并具有比Fedora的一個(gè)更長(zhǎng)的發(fā)布周期(通常每隔半年左右發(fā)布一個(gè)新版本)。
- SUSE, SUSE Linux Enterprise Server (SLES), 和openSUSE 之間的關(guān)系類似于 Fedora, Red Hat Enterprise Linux, 和CentOS的關(guān)系。
- Debian是包括Ubuntu在內(nèi)許多發(fā)行版的上游,而Ubuntu又是Linux Mint及其他發(fā)行版的上游。Debian在服務(wù)器和桌面電腦領(lǐng)域都有著廣泛的應(yīng)用。Debian是一個(gè)純開(kāi)源計(jì)劃并著重在一個(gè)關(guān)鍵點(diǎn)上,穩(wěn)定性。它同時(shí)也提供了最大的和完整的軟件倉(cāng)庫(kù)給用戶。
Linux發(fā)行版分類
Linux發(fā)行版都是基于同一內(nèi)核,所以除了外觀和名字不一樣外,其他地方的區(qū)別不是很大,按用途大致分為桌面版和企業(yè)版:
- 桌面版:?
Ubuntu、Debian、Fedora、CentOS、openSUSE等。由于安裝了圖像界面,界面美觀、操作方便,比較適合新手,但相對(duì)于企業(yè)版來(lái)說(shuō)較消耗資源。 - 企業(yè)版:?
RHEL、CentOS、Debian、Ubuntu、openSUSE、SLES等。系統(tǒng)穩(wěn)定性好,資源消耗較小,滿足企業(yè)需求,但基本都是命令行界面,需要有一定的基礎(chǔ)才能上手操作。
按照維護(hù)方式分為兩類,一類是商業(yè)公司維護(hù)的發(fā)行版本,一類是社區(qū)組織維護(hù)的發(fā)行版本,前者以著名的Redhat(RHEL)為代表,后者以Debian為代表。
- 商業(yè)公司維護(hù):?
RHEL、CentOS、SLES等 - 社區(qū)組織維護(hù):?
Debian、Ubuntu等
Linux各發(fā)行版特點(diǎn)
各發(fā)行版的思想,如圖:
- Redhat,應(yīng)該稱為Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所謂的Redhat Advance Server,收費(fèi)版本)、Fedora Core(由原來(lái)的Redhat桌面版本發(fā)展而來(lái),免費(fèi)版本)、CentOS(RHEL的社區(qū)克隆版本,免費(fèi))。Redhat應(yīng)該說(shuō)是在國(guó)內(nèi)使用人群最多 的Linux版本,甚至有人將Redhat等同于Linux,而有些老鳥更是只用這一個(gè)版本的Linux。所以這個(gè)版本的特點(diǎn)就是使用人群數(shù)量大,資料非 常多,言下之意就是如果你有什么不明白的地方,很容易找到人來(lái)問(wèn),而且網(wǎng)上的一般Linux教程都是以Redhat為例來(lái)講解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分發(fā)方式是編譯好的二進(jìn)制文件。穩(wěn)定性方面RHEL和CentOS的穩(wěn)定性非常好,適合于服務(wù)器使用, 但是Fedora Core的穩(wěn)定性較差,最好只用于桌面應(yīng)用。
- Debian,或者稱Debian系列,包括Debian和Ubuntu等。Debian是社區(qū)類Linux的典范,是迄今為止最遵循GNU規(guī)范 的Linux系統(tǒng)。Debian最早由Ian Murdock于1993年創(chuàng)建,分為三個(gè)版本分支(branch): stable, testing 和 unstable。其中,unstable為最新的測(cè)試版本,其中包括最新的軟件包,但是也有相對(duì)較多的bug,適合桌面用戶。testing的版本都經(jīng) 過(guò)unstable中的測(cè)試,相對(duì)較為穩(wěn)定,也支持了不少新技術(shù)(比如SMP等)。而stable一般只用于服務(wù)器,上面的軟件包大部分都比較過(guò)時(shí),但是 穩(wěn)定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其實(shí)Redhat的YUM也是在模仿Debian的APT方式,但在二進(jìn)制文件發(fā)行方式中,APT應(yīng)該是最好的了。Debian的資料也很豐富,有很多支持的社區(qū),有問(wèn)題求教也有地方可去:)?
Ubuntu嚴(yán)格來(lái)說(shuō)不能算一個(gè)獨(dú)立的發(fā)行版本,Ubuntu是基于Debian的unstable版本加強(qiáng)而來(lái),可以這么說(shuō),Ubuntu就是 一個(gè)擁有Debian所有的優(yōu)點(diǎn),以及自己所加強(qiáng)的優(yōu)點(diǎn)的近乎完美的 Linux桌面系統(tǒng)。根據(jù)選擇的桌面系統(tǒng)不同,有三個(gè)版本可供選擇,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的 Xubuntu。特點(diǎn)是界面非常友好,容易上手,對(duì)硬件的支持非常全面,是最適合做桌面系統(tǒng)的Linux發(fā)行版本。 - Gentoo,偉大的Gentoo是Linux世界最年輕的發(fā)行版本,正因?yàn)槟贻p,所以能吸取在她之前的所有發(fā)行版本的優(yōu)點(diǎn),這也是Gentoo 被稱為最完美的Linux發(fā)行版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的開(kāi)發(fā)者之一)創(chuàng)建,首個(gè)穩(wěn)定版本發(fā)布于2002年。由于開(kāi)發(fā)者對(duì)FreeBSD的熟識(shí),所以Gentoo擁有媲美 FreeBSD的廣受美譽(yù)的ports系統(tǒng) ——Portage包管理系統(tǒng)。?
不同于APT和YUM等二進(jìn)制文件分發(fā)的包管理系統(tǒng),Portage是基于源代碼分發(fā)的,必須編譯后才能運(yùn)行,對(duì)于大型軟 件而言比較慢,不過(guò)正因?yàn)樗熊浖际窃诒镜貦C(jī)器編譯的,在經(jīng)過(guò)各種定制的編譯參數(shù)優(yōu)化后,能將機(jī)器的硬件性能發(fā)揮到極致。Gentoo是所有Linux 發(fā)行版本里安裝最復(fù)雜的,但是又是安裝完成后最便于管理的版本,也是在相同硬件環(huán)境下運(yùn)行最快的版本。 - 最后,介紹一下FreeBSD,需要強(qiáng)調(diào)的是:FreeBSD并不是一個(gè)Linux系統(tǒng)!但FreeBSD與Linux的用戶群有相當(dāng)一部分是重合的,二者支持的硬件環(huán)境也比較一致,所采用的軟件也比較類似,所以可以將FreeBSD視為一個(gè)Linux版本來(lái)比較。?
FreeBSD擁有兩個(gè)分支: stable和current。顧名思義,stable是穩(wěn)定版,而 current則是添加了新技術(shù)的測(cè)試版。FreeBSD采用Ports包管理系統(tǒng),與Gentoo類似,基于源代碼分發(fā),必須在本地機(jī)器編后后才能運(yùn) 行,但是Ports系統(tǒng)沒(méi)有Portage系統(tǒng)使用簡(jiǎn)便,使用起來(lái)稍微復(fù)雜一些。FreeBSD的最大特點(diǎn)就是穩(wěn)定和高效,是作為服務(wù)器操作系統(tǒng)的最佳選 擇,但對(duì)硬件的支持沒(méi)有Linux完備,所以并不適合作為桌面系統(tǒng)。
3. Linux的哲學(xué)思想
1. 一切皆文件?
把幾乎所有資源統(tǒng)統(tǒng)抽象為文件形式,包括硬件設(shè)備,甚至通信接口等,便于統(tǒng)一管理和定義;?
對(duì)文件的操作有:open,read,write,close,delete,create?
2. 由眾多功能單一的程序組成?
一個(gè)程序只做一件事,并且做好,保證了Linux內(nèi)核的高效運(yùn)行;?
3. 組合小程序完成復(fù)雜任務(wù)?
通過(guò)連接多個(gè)簡(jiǎn)單的程序?qū)崿F(xiàn)復(fù)雜的功能;?
4. 盡量避免和用戶交互?
更貼近編程,易于以編程的方式實(shí)現(xiàn)自動(dòng)化任務(wù);?
5. 使用文本文件保存配置信息?
修改配置信息只需要任意一款文本編輯器就可以進(jìn)行。