




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章 認(rèn)識(shí)Linux操作系統(tǒng)操作系統(tǒng)Linux操作系統(tǒng)概述 Linux操作系統(tǒng)安裝操作系統(tǒng) Linux操作系統(tǒng)概述點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu) Linux操作系統(tǒng)安裝點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu) 點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu) 了解了解掌握了解學(xué)習(xí)目標(biāo)了解操作系統(tǒng)的基本概念1掌握Linux操作系統(tǒng)的安裝方法42了解嵌入式操作系統(tǒng)3了解Linux操作系統(tǒng)的發(fā)展學(xué)習(xí)物聯(lián)網(wǎng)開發(fā)與應(yīng)用,首先需要認(rèn)識(shí)嵌入式操作系統(tǒng)。Linux是發(fā)展最快、應(yīng)用最為廣泛的嵌入式操作系統(tǒng)之一。Linux操作系統(tǒng)本身的各種特性使其成為嵌入式開發(fā)的首選。如今,它已經(jīng)走過早期的試用階段,逐漸成為了嵌入式開發(fā)的主流。本章將圍繞Lin
2、ux操作系統(tǒng)展開討論,希望讀者可以通過本章學(xué)習(xí),對(duì)Linux操作系統(tǒng)有更深的認(rèn)識(shí)。1.1 操作系統(tǒng)1.1.1操作系統(tǒng)概述返回目錄1.1.2嵌入式操作系統(tǒng)操作系統(tǒng)(Operating System,OS)通常指的是對(duì)計(jì)算機(jī)硬件與軟件進(jìn)行管理控制的計(jì)算機(jī)程序。它是可以直接運(yùn)行在硬件平臺(tái)上的核心系統(tǒng)軟件,其他軟件則可以在操作系統(tǒng)的基礎(chǔ)上完成運(yùn)行。通俗地說,操作系統(tǒng)是用戶和計(jì)算機(jī)之間的紐帶,也是計(jì)算機(jī)硬件和其他軟件之間的橋梁。操作系統(tǒng)實(shí)現(xiàn)了配置內(nèi)存和控制輸入、輸出設(shè)備等計(jì)算機(jī)硬件管理,也實(shí)現(xiàn)了控制程序運(yùn)行,為應(yīng)用軟件提供支持,分配數(shù)據(jù)資源等軟件管理。現(xiàn)代操作系統(tǒng)提供了各式各樣的用戶界面,使用戶可以有更
3、好的使用與體驗(yàn)。1.1.1 操作系統(tǒng)概述1.1 操作系統(tǒng)操作系統(tǒng)根據(jù)用戶界面的使用環(huán)境和功能特征的不同可分為多種類型,其中3種基本類型是批處理操作系統(tǒng)、分時(shí)操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng)。1.1.1 操作系統(tǒng)概述1.1 操作系統(tǒng)操作系統(tǒng)與軟硬件的關(guān)系如圖所示。1.1.1 操作系統(tǒng)概述1.1 操作系統(tǒng)1.批處理操作系統(tǒng)1946年第一臺(tái)通用計(jì)算機(jī)誕生,此時(shí)還沒有操作系統(tǒng)的概念,采用手工操作計(jì)算機(jī),用戶將與程序和數(shù)據(jù)對(duì)應(yīng)的穿孔紙帶裝進(jìn)輸入機(jī),然后啟動(dòng)輸入機(jī)把程序和數(shù)據(jù)輸入到計(jì)算機(jī)內(nèi)存,接著通過控制臺(tái)啟動(dòng)程序?qū)?shù)據(jù)進(jìn)行運(yùn)行。計(jì)算完畢后,打印輸出計(jì)算結(jié)果,用戶可以取走結(jié)果,并卸下紙帶(或卡片)。以便下一個(gè)用戶繼
4、續(xù)使用。圖所示為世界上第一臺(tái)計(jì)算機(jī)與打孔紙帶。1.1.1 操作系統(tǒng)概述1.1 操作系統(tǒng)20世紀(jì)50年代后期,出現(xiàn)了人機(jī)矛盾,即手工操作比不上計(jì)算機(jī)的高速度,嚴(yán)重影響了系統(tǒng)資源的利用率。解決的辦法就是擺脫手工操作,實(shí)現(xiàn)自動(dòng)化作業(yè),于是就出現(xiàn)了批處理操作系統(tǒng)(Batch Processing)。批處理操作系統(tǒng)的工作模式是將許多用戶的作業(yè)組成一批作業(yè)。在計(jì)算機(jī)和輸入機(jī)之間增加一個(gè)存儲(chǔ)設(shè)備磁帶,通過監(jiān)督程序的控制,計(jì)算機(jī)自動(dòng)將輸入機(jī)上的成批用戶作業(yè)讀入磁帶,然后依次把磁帶上的用戶作業(yè)讀入內(nèi)存并執(zhí)行,計(jì)算結(jié)果向輸出機(jī)輸出,如圖所示。然后監(jiān)督程序從輸入機(jī)上讀入另一批作業(yè),重復(fù)上述步驟。 1.1.1 操作系
5、統(tǒng)概述1.1 操作系統(tǒng)監(jiān)督程序不斷地處理作業(yè),實(shí)現(xiàn)了作業(yè)到作業(yè)的自動(dòng)轉(zhuǎn)接,有效解決了人機(jī)矛盾,提高了計(jì)算機(jī)的利用率。在作業(yè)輸入和結(jié)果輸出時(shí),主機(jī)不進(jìn)行任何工作。由于輸入機(jī)、輸出機(jī)完成工作的速度較慢,極容易導(dǎo)致主機(jī)處于“忙等”狀態(tài)。為了避免出現(xiàn)主機(jī)速度與輸入輸出設(shè)備速度不匹配的情況,引入了脫機(jī)批處理系統(tǒng),即輸入輸出脫離主機(jī)控制,如圖所示。1.1.1 操作系統(tǒng)概述1.1 操作系統(tǒng)在圖中可以看到,輸入機(jī)、輸出機(jī)與磁帶之間接入了衛(wèi)星機(jī),衛(wèi)星機(jī)既可以從輸入機(jī)上讀取用戶作業(yè)并放到輸入磁帶上,又可以從輸出磁帶上讀取執(zhí)行結(jié)果并傳給輸出機(jī)。這樣,主機(jī)不直接與慢速的輸入機(jī)、輸出機(jī)建立聯(lián)系,而是與速度相對(duì)較快的磁帶
6、建立連接,有效緩解了主機(jī)與設(shè)備的矛盾。脫機(jī)批處理系統(tǒng)在20世紀(jì)60年代應(yīng)用十分廣泛。2.分時(shí)操作系統(tǒng)分時(shí)操作系統(tǒng)(Time Sharing)的工作方式是一臺(tái)主機(jī)連接若干個(gè)終端,每個(gè)用戶可以在自己的終端上聯(lián)機(jī)使用主機(jī)。1.1.1 操作系統(tǒng)概述1.1 操作系統(tǒng)用戶交互式地向系統(tǒng)提出命令請(qǐng)求,系統(tǒng)接收每個(gè)用戶的命令,將處理機(jī)的運(yùn)行時(shí)間分成很短的時(shí)間片,按時(shí)間片輪流把處理機(jī)分配給各用戶的聯(lián)機(jī)作業(yè)。如果某一個(gè)作業(yè)在一個(gè)時(shí)間片內(nèi)不能完成,則該作業(yè)暫時(shí)中斷,把處理機(jī)讓給其他作業(yè)使用,等待下一輪時(shí)再繼續(xù)使用。操作系統(tǒng)以時(shí)間片為單位,輪流供每個(gè)終端用戶使用。由于計(jì)算機(jī)速度很快,作業(yè)輪轉(zhuǎn)也很快,因此每個(gè)用戶輪流使
7、用一個(gè)時(shí)間片卻不會(huì)感覺到有別的用戶存在。分時(shí)操作系統(tǒng)有多路性、交互性、獨(dú)立性、及時(shí)性的特征。(1)多路性:多個(gè)用戶同時(shí)使用一臺(tái)主機(jī)。從微觀的角度來看是各用戶輪流使用主機(jī),從宏觀的角度來看是各用戶并行工作使用主機(jī)。(2)交互性:用戶可以根據(jù)系統(tǒng)對(duì)請(qǐng)求的響應(yīng)結(jié)果,進(jìn)一步向系統(tǒng)提出新的請(qǐng)求,從而實(shí)現(xiàn)用戶與系統(tǒng)的人機(jī)交互工作模式。1.1.1 操作系統(tǒng)概述1.1 操作系統(tǒng)(3)獨(dú)立性:用戶之間是相互獨(dú)立的,操作互不干擾。(4)及時(shí)性:系統(tǒng)可對(duì)用戶的輸入做出及時(shí)的響應(yīng)。多用戶分時(shí)操作系統(tǒng)是當(dāng)今計(jì)算機(jī)系統(tǒng)中最為普遍的一類操作系統(tǒng)。其主要目標(biāo)就是對(duì)用戶及時(shí)響應(yīng),避免用戶等待的時(shí)間過長。3.實(shí)時(shí)操作系統(tǒng)批處理系
8、統(tǒng)和分時(shí)系統(tǒng)雖然能獲得較令人滿意的資源利用率和系統(tǒng)響應(yīng)時(shí)間,但是不能滿足實(shí)時(shí)控制和實(shí)時(shí)信息處理的應(yīng)用需求。實(shí)時(shí)操作系統(tǒng)的出現(xiàn),很好地解決了這些問題。實(shí)時(shí)操作系統(tǒng)(Real Time Operating System,RTOS)使計(jì)算機(jī)能及時(shí)響應(yīng)外部事件的請(qǐng)求,在嚴(yán)格規(guī)定的時(shí)間內(nèi)完成對(duì)該事件的處理,并控制所有實(shí)時(shí)設(shè)備和實(shí)時(shí)任務(wù)協(xié)調(diào)一致地工作。1.1.1 操作系統(tǒng)概述1.1 操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)的主要特點(diǎn)是及時(shí)響應(yīng)、高可靠性。(1)及時(shí)響應(yīng)指的是每個(gè)信息接收、分析處理和發(fā)送的過程必須嚴(yán)格在規(guī)定的時(shí)間內(nèi)完成。(2)高可靠性指的是采取多級(jí)容錯(cuò)措施來保證系統(tǒng)的安全及數(shù)據(jù)的安全。到了20世紀(jì)80年代,大規(guī)
9、模集成電路工藝技術(shù)的快速發(fā)展,微處理器的出現(xiàn),使計(jì)算機(jī)不僅迎來了個(gè)人計(jì)算機(jī)的時(shí)代,而且向計(jì)算機(jī)網(wǎng)絡(luò)、分布式處理、智能化的方向發(fā)展。4.個(gè)人計(jì)算機(jī)操作系統(tǒng)個(gè)人計(jì)算機(jī)操作系統(tǒng)是一種單用戶、多任務(wù)的操作系統(tǒng)。其特點(diǎn)是計(jì)算機(jī)在某一段時(shí)間內(nèi)為單用戶服務(wù)。用戶無須進(jìn)行專業(yè)學(xué)習(xí),個(gè)人計(jì)算機(jī)操作系統(tǒng)功能簡(jiǎn)單。一般會(huì)采用圖形界面人機(jī)交互的工作方式。1.1.1 操作系統(tǒng)概述1.1 操作系統(tǒng)5.網(wǎng)絡(luò)操作系統(tǒng)網(wǎng)絡(luò)操作系統(tǒng)基于計(jì)算機(jī)網(wǎng)絡(luò),是在各種計(jì)算機(jī)操作系統(tǒng)上按網(wǎng)絡(luò)體系結(jié)構(gòu)協(xié)議標(biāo)準(zhǔn)開發(fā)的軟件套件,包括網(wǎng)絡(luò)管理、通信、安全、資源共享等各種網(wǎng)絡(luò)應(yīng)用。其目標(biāo)是相互通信及資源共享。6.分布式操作系統(tǒng)分布式操作系統(tǒng)(Distr
10、ibuted System)通過通信網(wǎng)絡(luò)將不同地域的數(shù)據(jù)處理系統(tǒng)或計(jì)算機(jī)系統(tǒng)連接起來,使它們實(shí)現(xiàn)信息互換和資源共享,協(xié)同完成任務(wù)。7.嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)(Embedded Operating System,EOS)是運(yùn)行在嵌入式系統(tǒng)環(huán)境中,對(duì)整個(gè)嵌入式系統(tǒng)以及它所操作的各種部件裝置進(jìn)行統(tǒng)一調(diào)度、分配的系統(tǒng)軟件。1.1.1 操作系統(tǒng)概述1.1 操作系統(tǒng)通過以上描述可知,操作系統(tǒng)位于底層硬件和用戶之間,用戶可以通過操作系統(tǒng)的用戶界面輸入命令,操作系統(tǒng)則對(duì)命令進(jìn)行解釋,驅(qū)動(dòng)硬件設(shè)備,實(shí)現(xiàn)人機(jī)交互,如圖所示。1.1.2 嵌入式操作系統(tǒng)1.1 操作系統(tǒng)1.1.1節(jié)主要介紹操作系統(tǒng)的發(fā)展以及它們
11、各自的特點(diǎn),最后簡(jiǎn)單地描述了嵌入式操作系統(tǒng)的概念。嵌入式操作系統(tǒng)的概念比較抽象,因此本節(jié)將對(duì)其做進(jìn)一步解釋。認(rèn)識(shí)嵌入式操作系統(tǒng),首先需要理解的是嵌入式系統(tǒng)。嵌入式操作系統(tǒng)與嵌入式系統(tǒng)是完全不同的兩個(gè)概念,切勿混為一談。嵌入式系統(tǒng)指的是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適用于應(yīng)用系統(tǒng),對(duì)功能、可靠性、成本、體積、功耗等有特殊要求的專用計(jì)算機(jī)系統(tǒng)。1.1.2 嵌入式操作系統(tǒng)1.1 操作系統(tǒng)這里提到的軟硬件可裁剪,指的是根據(jù)不同的硬件平臺(tái)的功能需求,對(duì)系統(tǒng)軟件部分進(jìn)行定制,以達(dá)到系統(tǒng)軟件剛好適配硬件平臺(tái)的狀態(tài),因此也可以稱之為實(shí)現(xiàn)操作系統(tǒng)的最優(yōu)化定制。例如,生活中有時(shí)會(huì)遇到對(duì)安卓系統(tǒng)的
12、手機(jī)進(jìn)行刷機(jī)(類似于Windows裝系統(tǒng))的情況。在將安卓系統(tǒng)燒寫(移植)到手機(jī)之前,需要考慮該系統(tǒng)能否支持手機(jī)中的各種硬件模塊。假設(shè)某款手機(jī)中并沒有支持藍(lán)牙的硬件模塊,不具備藍(lán)牙傳送的功能,因此,操作系統(tǒng)就不需要實(shí)現(xiàn)藍(lán)牙的功能代碼(接口驅(qū)動(dòng)代碼、協(xié)議代碼等)。如果手機(jī)需要支持Wi-Fi功能,那么操作系統(tǒng)中則必須存在Wi-Fi模塊的功能代碼,以此來實(shí)現(xiàn)對(duì)硬件的支持與控制。1.1.2 嵌入式操作系統(tǒng)1.1 操作系統(tǒng)綜上所述,嵌入式系統(tǒng)指的是軟硬件結(jié)合的整個(gè)框架體系,上層應(yīng)用實(shí)現(xiàn)與用戶的交互,下層內(nèi)核實(shí)現(xiàn)對(duì)硬件設(shè)備的控制。最終實(shí)現(xiàn)用戶與硬件產(chǎn)品的交互,嵌入式系統(tǒng)不斷地發(fā)展,越來越智能化,從而達(dá)到產(chǎn)
13、品改善人類生活體驗(yàn)的目的。圖所示為嵌入式系統(tǒng)的整體框架。1.1.2 嵌入式操作系統(tǒng)1.1 操作系統(tǒng)圖展示的只是嵌入式系統(tǒng)的一小部分,嵌入式系統(tǒng)還可以容納更多的外圍接口,以及各種傳感器,結(jié)合無線傳輸?shù)燃夹g(shù),實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)架構(gòu)的應(yīng)用場(chǎng)景覆蓋。因此嵌入式系統(tǒng)是一個(gè)很龐大的體系。而嵌入式操作系統(tǒng)是指用于嵌入式系統(tǒng)的操作系統(tǒng),運(yùn)行在嵌入式硬件平臺(tái)的系統(tǒng)軟件部分。嵌入式操作系統(tǒng)負(fù)責(zé)嵌入式系統(tǒng)全部軟、硬件的資源分配以及任務(wù)調(diào)度等活動(dòng),是整個(gè)嵌入式系統(tǒng)的核心組件。20世紀(jì)80年代開始出現(xiàn)商用嵌入式操作系統(tǒng),它們大部分是為專有系統(tǒng)而開發(fā)的。隨著嵌入式領(lǐng)域的發(fā)展,各種各樣的嵌入式操作系統(tǒng)相繼問世,出現(xiàn)了越來越多的商
14、用嵌入式操作系統(tǒng),包括大量開發(fā)源代碼的嵌入式操作系統(tǒng)。著名的嵌入式操作系統(tǒng)有Linux、c/OS、VxWorks、QNX等。1.1.2 嵌入式操作系統(tǒng)1.1 操作系統(tǒng)1.LinuxLinux已經(jīng)成為了全球第二大操作系統(tǒng),Linux是一套免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),基于POSIX和UNIX的多用戶、多任務(wù)。Linux存在著不同的版本,但它們都使用了Linux內(nèi)核。例如:RTLinux實(shí)現(xiàn)了實(shí)時(shí)的Linux;cLinux去掉了Linux的內(nèi)存管理單元(Memory Management Unit,MMU),可以支持沒有MMU的處理器。2.c/OSc/OS是一種典型的實(shí)時(shí)操作系統(tǒng)。目前流
15、行的是第二版本,即c/OS II。其開發(fā)者為美國嵌入式系統(tǒng)領(lǐng)域的專家拉伯羅斯(Jean J.Labrosse)。該系統(tǒng)主要提供任務(wù)調(diào)度和管理、內(nèi)存管理、通信、時(shí)間管理等功能。其特點(diǎn)是開放源代碼、占用空間小、實(shí)時(shí)性能優(yōu)良、可擴(kuò)展性強(qiáng)等。1.1.2 嵌入式操作系統(tǒng)1.1 操作系統(tǒng)3.VxworksVxWorks是美國WindRiver公司的產(chǎn)品,是目前嵌入式系統(tǒng)領(lǐng)域中應(yīng)用比較廣泛的操作系統(tǒng)。VxWorks實(shí)時(shí)操作系統(tǒng)由相對(duì)獨(dú)立、短小精悍的目標(biāo)模塊組成,用戶可以根據(jù)需要選擇適當(dāng)?shù)哪K來配置系統(tǒng)。提供了基于優(yōu)先級(jí)的任務(wù)調(diào)度、通信、中斷、定時(shí)器、內(nèi)存管理等功能,并且具有簡(jiǎn)明易懂的用戶接口。該系統(tǒng)主要應(yīng)用
16、于單板機(jī)、交換機(jī)、路由器等。4.QNXQNX是加拿大QNX軟件系統(tǒng)有限公司開發(fā)的一款實(shí)時(shí)操作系統(tǒng)。QNX的體系結(jié)構(gòu)決定了其具有非常好的伸縮性,用戶可以把應(yīng)用程序代碼和內(nèi)核編譯到一起;其次該系統(tǒng)具有很好的移植性,廣泛應(yīng)用于醫(yī)療儀器設(shè)備、交通運(yùn)輸、安全防衛(wèi)、POS機(jī)、零售機(jī)等關(guān)鍵型應(yīng)用領(lǐng)域。1.1.2 嵌入式操作系統(tǒng)1.1 操作系統(tǒng)嵌入式操作系統(tǒng)的選擇是開發(fā)過程中比較關(guān)鍵的一步,這將直接影響整個(gè)工程的進(jìn)度以及后期的維護(hù)。首先,選擇一款操作系統(tǒng)需要考慮其能否支持硬件;其次需要考慮開發(fā)調(diào)試的工具;最后要考慮的問題是該系統(tǒng)能否滿足應(yīng)用需求,如果該系統(tǒng)開發(fā)的接口太少,則上層應(yīng)用層很難進(jìn)行二次開發(fā)。因此,選
17、擇一款既能滿足應(yīng)用需求,性價(jià)比又可達(dá)到最佳的嵌入式操作系統(tǒng),是十分重要的。1.2 Linux操作系統(tǒng)概述1.2.1Linux操作系統(tǒng)的歷史返回目錄1.2.2Linux操作系統(tǒng)的優(yōu)勢(shì)1.2.3Linux操作系統(tǒng)的發(fā)行版本1.2.1 Linux操作系統(tǒng)的歷史1.2 Linux操作系統(tǒng)概述20世紀(jì)60年代時(shí),大部分計(jì)算采用的是批處理的方式。直到1965年,美國AT&T公司貝爾實(shí)驗(yàn)室(AT&T Bell Labs)加入通用電器公司(General Eletric)和麻省理工學(xué)院(Massachusetts Institute of Technology,MIT)合作的計(jì)劃,開發(fā)出一套多任務(wù)、多用戶的分
18、時(shí)操作系統(tǒng),即MULTICS(Multiplexed Information and Compuing Service)操作系統(tǒng)。但是由于MULTICS項(xiàng)目比較復(fù)雜,目標(biāo)太大,導(dǎo)致進(jìn)展太慢,最終計(jì)劃被停。1969年,貝爾實(shí)驗(yàn)室決定退出這個(gè)項(xiàng)目。當(dāng)時(shí)實(shí)驗(yàn)室有個(gè)工程師叫肯 湯普森(Ken Thompson,UNIX系統(tǒng)之父),他在MULTICS上開發(fā)一個(gè)名為“星際旅行(Space Traval)”的游戲,運(yùn)行在GE-635的計(jì)算機(jī)上,但是運(yùn)行速度很慢。于是肯 湯普森準(zhǔn)備將該游戲移植到一臺(tái)PDP-7的機(jī)器上,而這臺(tái)機(jī)器沒有操作系統(tǒng),于是他決定為PDP-7開發(fā)操作系統(tǒng)。1.2.1 Linux操作系統(tǒng)的
19、歷史1.2 Linux操作系統(tǒng)概述圖所示為PDP-7計(jì)算機(jī)。后來天才工程師丹尼斯 里奇(Dennis Ritchie,C語言之父)加入了肯 湯普森的開發(fā)項(xiàng)目。1970年,PDP-7只能支持兩個(gè)使用者,當(dāng)時(shí)布萊恩 柯林漢(Brian Kernighan)開玩笑稱他們的系統(tǒng)為“UNiplexed Information and Computing Service”,縮寫為“UNICS”,后來大家取其諧音,稱其為“UNIX”。1970年,肯 湯普森以BCPL語言為基礎(chǔ),設(shè)計(jì)出簡(jiǎn)單且接近硬件的B語言(取BCPL的首字母),并且編寫了第一個(gè)UNIX操作系統(tǒng)。因此,1970年也被稱為“UNIX元年”。截止
20、到目前,計(jì)算機(jī)中仍在使用1970年1月1日作為記錄時(shí)間的原點(diǎn)。1.2.1 Linux操作系統(tǒng)的歷史1.2 Linux操作系統(tǒng)概述1972年,丹尼斯 里奇在B語言的基礎(chǔ)上設(shè)計(jì)出一種新的語言,取BCPL的第二個(gè)字母作為語言的名字,即現(xiàn)在的C語言。1973年,C語言的主體完成。此時(shí)肯 湯普森和丹尼斯 里奇為了解決匯編語言移植困難的“痛點(diǎn)”,使用C語言重寫了UNIX的第三版內(nèi)核。至此,UNIX系統(tǒng)進(jìn)入了一個(gè)新的時(shí)刻,為日后UNIX的普及發(fā)展打下了堅(jiān)實(shí)的基礎(chǔ)。1.2.1 Linux操作系統(tǒng)的歷史1.2 Linux操作系統(tǒng)概述1974年,肯 湯普森和丹尼斯 里奇發(fā)表了名為“UNIX分時(shí)系統(tǒng)”的文章。使得U
21、NIX操作系統(tǒng)正式與外界見面,學(xué)術(shù)界表現(xiàn)出廣泛興趣并希望索取源碼。所以,UNIX第五版本就以“僅用于教育目的”之名提供給各大學(xué)教學(xué)使用。1978年,加州大學(xué)伯克利分析在UNIX進(jìn)行改進(jìn),推出了自己的UNIX版本:BSD(Berkeley Softwore Distribution)版本。同時(shí)AT&T公司成立了USG(UNIX Support Group,UNIX支持小組),將UNIX變成了商業(yè)化的產(chǎn)品。自此產(chǎn)生了UNIX的兩個(gè)版本線,如圖所示。1.2.1 Linux操作系統(tǒng)的歷史1.2 Linux操作系統(tǒng)概述很明顯,BSD的UNIX與AT&T的UNIX競(jìng)爭(zhēng)引發(fā)了UNIX之戰(zhàn),軟件開發(fā)人員可以根
22、據(jù)自己的需求對(duì)UNIX系統(tǒng)的源碼進(jìn)行裁剪,因此UNIX系統(tǒng)出現(xiàn)了各種各樣的變種。而此時(shí)AT&T的商業(yè)運(yùn)作(即私有化軟件,不對(duì)外公開源代碼),令許多UNIX的愛好者與開發(fā)者感到憂慮,他們認(rèn)為商業(yè)化的種種限制并不利于產(chǎn)品的發(fā)展,相反還可能產(chǎn)生諸多問題。此時(shí)一個(gè)名為理查德 斯托曼(Richard Stallman)的重要人物出現(xiàn)了,他認(rèn)為UNIX系統(tǒng)應(yīng)該是一套完全自由開放的操作系統(tǒng)。一個(gè)好的操作系統(tǒng),應(yīng)該讓更多的愛好者與開發(fā)者參與進(jìn)來,貢獻(xiàn)自己的所學(xué),才能讓操作系統(tǒng)變得更加優(yōu)異。1.2.1 Linux操作系統(tǒng)的歷史1.2 Linux操作系統(tǒng)概述1984年,理查德 斯托曼啟動(dòng)了一個(gè)宏偉的計(jì)劃,即GNU
23、(GNU is not UNIX的遞歸縮寫)計(jì)劃。這個(gè)計(jì)劃的目的是創(chuàng)造一套自由的類UNIX操作系統(tǒng)。這個(gè)系統(tǒng)使用與UNIX相同的接口,系統(tǒng)本身和其上的軟件都是自由開發(fā)的,可以被免費(fèi)獲取、修改、傳播。每個(gè)人都可以獲得系統(tǒng)的全部的源代碼,并且對(duì)源代碼進(jìn)行修改完善。圖所示為理查德 斯托曼和GNU計(jì)劃標(biāo)志。理查德 斯托曼于1985年創(chuàng)建了自由軟件基金會(huì),并且于1989年起草了廣為使用的GNU通用公共協(xié)議證書(GPL協(xié)議),以此協(xié)議保證GNU計(jì)劃中的所有軟件的自由性。1.2.1 Linux操作系統(tǒng)的歷史1.2 Linux操作系統(tǒng)概述1990年,GNU計(jì)劃已經(jīng)初具規(guī)模,其中誕生了很多優(yōu)秀的軟件(世界各地的
24、黑客無償提供,自由軟件基金會(huì)雇傭程序員開發(fā)),如函數(shù)庫(Libraries)、文本編輯器(Text Editors)、網(wǎng)站服務(wù)器(Web Server)、使用者窗口(UNIX Shell)等。Stallman也參與其中,開發(fā)了GCC、GDB等重要軟件。此時(shí)GNU一直沒有開發(fā)出操作系統(tǒng)的核心組件內(nèi)核(Kernel)。1991年,芬蘭赫爾辛基大學(xué)的學(xué)生林 納 斯 托 瓦 茲(Linus Torvals,Linux之父)為了能在家里的PC上使用與學(xué)校一樣的操作系統(tǒng),開始編寫自己的類UNIX操作系統(tǒng)。1.2.1 Linux操作系統(tǒng)的歷史1.2 Linux操作系統(tǒng)概述同年8月,林納斯 托瓦茲在comp.
25、os.minix新聞組中首次發(fā)布了Linux內(nèi)核的第一個(gè)公共版本,并上傳自己的操作系統(tǒng)代碼到ftp.funet.fi服務(wù)器。最初編寫的操作系統(tǒng)取名為FREAX,并且只適用于Intel 386處理器。該服務(wù)器的管理員阿里 萊姆克(Ari Lemke)覺得操作系統(tǒng)既然是Linus編寫的,又是類UNIX操作系統(tǒng),不如就叫Linux。1.2.1 Linux操作系統(tǒng)的歷史1.2 Linux操作系統(tǒng)概述在自由軟件之父理查德 斯托曼精神的感召下,林納斯 托瓦茲很快以Linux的名字把這款類Unix的操作系統(tǒng)加入自由軟件基金會(huì)的GNU計(jì)劃中,并通過GPL的通用性授權(quán),允許用戶銷售、復(fù)制并且改動(dòng)程序。而參與修改
26、程序的用戶也必須免費(fèi)公開修改后的代碼。圖所示,為林納斯 托瓦茲和Linux標(biāo)志。1.2.1 Linux操作系統(tǒng)的歷史1.2 Linux操作系統(tǒng)概述狹義地講,原始的Linux只是一個(gè)操作系統(tǒng)的內(nèi)核。如果將Linux操作系統(tǒng)比作英雄,那么林納斯 托瓦茲的Linux就是英雄的心臟。然而生活中,人們習(xí)慣于將Linux指代整個(gè)操作系統(tǒng),即包括內(nèi)核、上層軟件及服務(wù)(函數(shù)庫、編譯器、編輯器等)的整體系統(tǒng)。關(guān)于系統(tǒng)的關(guān)系如圖所示。因此,在后續(xù)章節(jié)的描述中,Linux操作系統(tǒng)的內(nèi)核則稱為Linux內(nèi)核。1.2.2 Linux操作系統(tǒng)的優(yōu)勢(shì)1.2 Linux操作系統(tǒng)概述1.2.1節(jié)主要介紹了Linux操作系統(tǒng)的發(fā)
27、展歷史。Linux操作系統(tǒng)是一個(gè)開發(fā)自由的系統(tǒng),用戶可以通過網(wǎng)絡(luò)或其他途徑免費(fèi)獲得,并可以任意修改其源代碼,這是其他嵌入式操作系統(tǒng)做不到的。下面介紹Linux操作系統(tǒng)作為嵌入式操作系統(tǒng)的優(yōu)勢(shì)。1.低成本開發(fā)Linux操作系統(tǒng)源代碼開放,允許任何人獲取并修改。通過Linux操作系統(tǒng)進(jìn)行開發(fā)的軟件同樣需要遵守GPL協(xié)議,公布其源代碼。這樣做一方面降低了開發(fā)的成本;另一方面又可以提高開發(fā)產(chǎn)品的效率,并且可以獲得社區(qū)的支持。2.可以應(yīng)用于多種硬件平臺(tái)Linux操作系統(tǒng)可以支持X86、PowerPC、ARM、MIPS等多種體系結(jié)構(gòu),并且已經(jīng)被移植到多種硬件平臺(tái)。1.2.2 Linux操作系統(tǒng)的優(yōu)勢(shì)1.2
28、 Linux操作系統(tǒng)概述Linux操作系統(tǒng)實(shí)現(xiàn)了一個(gè)統(tǒng)一的框架對(duì)硬件進(jìn)行管理,從而保證從一個(gè)硬件平臺(tái)到另一個(gè)硬件平臺(tái)的改動(dòng)與上層的應(yīng)用無關(guān)。3.可定制的內(nèi)核Linux內(nèi)核采用模塊定制的方式開發(fā),可以根據(jù)嵌入式硬件平臺(tái)的個(gè)性需求進(jìn)行定制,實(shí)時(shí)地將模塊插入內(nèi)核或從內(nèi)核中移除。經(jīng)過裁剪的Linux內(nèi)核最小可達(dá)到150KB以下。4.多用戶多任務(wù)Linux操作系統(tǒng)是真正的多用戶多任務(wù)的操作系統(tǒng)。多個(gè)用戶可以共享系統(tǒng)資源。多任務(wù)是現(xiàn)代計(jì)算機(jī)的一個(gè)重要特點(diǎn),由于Linux操作系統(tǒng)調(diào)度每一個(gè)進(jìn)程都可以平等地訪問處理器,因此它能同時(shí)執(zhí)行多個(gè)程序,而且各個(gè)程序的運(yùn)行是相互獨(dú)立的。1.2.2 Linux操作系統(tǒng)的優(yōu)
29、勢(shì)1.2 Linux操作系統(tǒng)概述5.良好的網(wǎng)絡(luò)功能Linux操作系統(tǒng)內(nèi)置了豐富的免費(fèi)網(wǎng)絡(luò)服務(wù)器軟件、數(shù)據(jù)庫、網(wǎng)頁的開發(fā)工具,如Apache、SSH、MySQL、PHP等。因此Linux操作系統(tǒng)可擔(dān)任全方位的網(wǎng)絡(luò)服務(wù)器。Linux操作系統(tǒng)是首先實(shí)現(xiàn)TCP/IP協(xié)議棧的操作系統(tǒng),其內(nèi)核結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的。對(duì)依賴于網(wǎng)絡(luò)的嵌入式設(shè)備來說是很好的選擇。1.2.3 Linux操作系統(tǒng)的發(fā)行版本1.2 Linux操作系統(tǒng)概述Linus Torvalds開發(fā)的Linux操作系統(tǒng)只是一個(gè)內(nèi)核,而非一個(gè)完整的操作系統(tǒng),而內(nèi)核是一個(gè)集設(shè)備驅(qū)動(dòng)、文件系統(tǒng)、進(jìn)程管理、內(nèi)存管理、網(wǎng)絡(luò)協(xié)議等功能的系統(tǒng)軟件。雖然GN
30、U大量生產(chǎn)和收集系統(tǒng)必備的各種組件,但眾多公司在Linux內(nèi)核源碼的基礎(chǔ)上,將各種軟件和文檔包裝起來并提供系統(tǒng)安裝界面和系統(tǒng)配置,設(shè)定與管理工具,進(jìn)而整合出的Linux發(fā)行版(Distribution),才真正推動(dòng)了Linux操作系統(tǒng)的應(yīng)用,從而讓更多的人開始關(guān)注Linux操作系統(tǒng)。除去非商業(yè)組織Debian開發(fā)的Debian GNU/Linux外,美國的Red Hat公司發(fā)行了Red Hat Linux,法國的Mandrake公司發(fā)行了Mandrake Linux,德國的SUSE公司發(fā)行了SUSE Linux。國內(nèi)眾多公司也發(fā)行了中文版的Linux,如紅旗Linux。Linux目前已經(jīng)有20
31、0多個(gè)發(fā)行版本。其中常見的UNIX/類UNIX版本有Solaris、IBM AIX、Red Hat、Fedora Core、SUSE、Debian、Ubuntu、FreeBSD、OpenBSD等。1.2.3 Linux操作系統(tǒng)的發(fā)行版本1.2 Linux操作系統(tǒng)概述下面將對(duì)Ubuntu、Red Hat、Debian這三種具有代表性的Linux發(fā)行版進(jìn)行介紹。1.DebianDebian GNU/Linux是一個(gè)非常特殊的版本。1993年,伊恩 默多克(Ian Murdock)發(fā)起Debian計(jì)劃,它的開發(fā)模式和Linux操作系統(tǒng)及其他開源代碼操作系統(tǒng)的模式一樣,由志愿者通過互聯(lián)網(wǎng)合作開發(fā)。De
32、bian開發(fā)者所創(chuàng)建的操作系統(tǒng)中的絕大部分基礎(chǔ)工具來源于GNU計(jì)劃,因此“Debian”常指Debian GNU/Linux。Debian帶來了超過51000個(gè)軟件包(為了能在用戶的計(jì)算機(jī)上輕松安裝,這些軟件包都已經(jīng)被編譯包裝為一種方便的格式),一個(gè)軟件包管理器(Advanced Packaging Tool,PAPT),這些全都是自由軟件。如圖所示,為Debian系統(tǒng)標(biāo)志。1.2.3 Linux操作系統(tǒng)的發(fā)行版本1.2 Linux操作系統(tǒng)概述Debian系統(tǒng)分為3個(gè)版本,分別為穩(wěn)定版(Stable)、測(cè)試版(Testing)、不穩(wěn)定版(Unstable)。發(fā)布的版本為穩(wěn)定版,測(cè)試版經(jīng)過測(cè)試證
33、明無誤后會(huì)成為新的穩(wěn)定版。2.UbuntuUbuntu(烏班圖)是一個(gè)以桌面應(yīng)用為主的Linux操作系統(tǒng)。其名稱來源于非洲南部祖魯語或豪薩語的“ubuntu”一詞,意思是“人性”、“人道待人”,是非洲的一種價(jià)值觀。類似于儒家的“仁愛”思想。Ubuntu是基于Debian GNU/Linux和GNOME桌面環(huán)境開發(fā)的。從11.04版本起,Ubuntu發(fā)行版放棄了Gnome桌面環(huán)境,改為使用Unity(基于GNOME桌面環(huán)境的用戶界面,由Canonical開發(fā))。Ubuntu的目標(biāo)在于為一般用戶提供一個(gè)最新、穩(wěn)定且主要由自由軟件構(gòu)建而成的操作系統(tǒng)。2013年,Ubuntu正式發(fā)布面向智能手機(jī)的移動(dòng)
34、操作系統(tǒng)。1.2.3 Linux操作系統(tǒng)的發(fā)行版本1.2 Linux操作系統(tǒng)概述圖所示為Ubuntu系統(tǒng)標(biāo)志。3.Red HatRed Hat(紅帽)公司創(chuàng)建于1993年,創(chuàng)始人是鮑勃 揚(yáng)(Bob Young)和馬克 尤因(Marc Ewing),是目前世界上最資深的Linux廠商。目前Red Hat系統(tǒng)分為兩個(gè)系列:一個(gè)是由Red Hat公司提供收費(fèi)技術(shù)支持和更新的Red Hat Enterprise Linux(RHEL,Red Hat企業(yè)版)和CentOS(RHEL的社區(qū)克隆版本,免費(fèi)版本);另一個(gè)是由Red Hat桌面版發(fā)展起來的免費(fèi)版本Fedora Core。圖所示為Red Hat系
35、統(tǒng)標(biāo)志。1.2.3 Linux操作系統(tǒng)的發(fā)行版本1.2 Linux操作系統(tǒng)概述Linux操作系統(tǒng)的發(fā)行版本很多,讀者在進(jìn)行系統(tǒng)開發(fā)學(xué)習(xí)時(shí),可根據(jù)自己的需求選擇適合的版本。Linux操作系統(tǒng)版本選取如表所示。1.3 Linux操作系統(tǒng)安裝1.3.1安裝虛擬機(jī)返回目錄1.3.2安裝Ubuntu系統(tǒng)1.3.3安裝虛擬機(jī)工具1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝在安裝使用Linux操作系統(tǒng)之前,首先需要考慮為操作系統(tǒng)尋找一個(gè)可以使之運(yùn)行的硬件平臺(tái)。在這里,不建議初學(xué)者將Linux操作系統(tǒng)直接安裝到計(jì)算機(jī)的硬盤而替代生活中常用的Windows操作系統(tǒng),因?yàn)長inux操作系統(tǒng)的一些工具的使用
36、方式與Windows操作系統(tǒng)不同,對(duì)初學(xué)者來說不太友好。基于上述情況,建議在Windows操作系統(tǒng)上安裝一個(gè)虛擬機(jī)軟件,然后將Linux操作系統(tǒng)運(yùn)行在虛擬機(jī)上。在這里需要說明的是,虛擬機(jī)(Virtual Machine,VM)的作用為通過軟件模擬實(shí)現(xiàn)完整硬件系統(tǒng)的功能。也就是由虛擬機(jī)模擬一個(gè)硬件平臺(tái),然后將Linux操作系統(tǒng)運(yùn)行在這個(gè)虛擬的“硬件平臺(tái)”上。虛擬機(jī)如同容器,可將操作系統(tǒng)放置到這個(gè)容器中。這樣看來,運(yùn)行Linux操作系統(tǒng)并不會(huì)影響Windows系統(tǒng)的使用,學(xué)習(xí)起來十分方便。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝目前流行的虛擬機(jī)軟件有VMware(VMware ACE)
37、、VirtualBox、Virtual PC。這里選用虛擬機(jī)VMware Workstation 15 Player 作為安裝演示對(duì)象,如圖所示。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝1.虛擬機(jī)安裝(1)首先進(jìn)入VMware官方網(wǎng)站,獲取虛擬機(jī)資源,如圖所示。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝(2)單擊圖中所示的“下載”選項(xiàng),進(jìn)入下載頁面,如圖所示。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝(3)如圖所示,可以選擇下載“免費(fèi)產(chǎn)品試用版和演示”中的“Workstation Pro”版本,試用版本身不免費(fèi),有使用期限,因此不建議讀者使用。如圖所示。本次選擇
38、“免費(fèi)產(chǎn)品下載”中的“Workstation Player”版本,直接單擊即可開始下載。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝(4)圖所示為Workstation 15 Player簡(jiǎn)介與下載選項(xiàng),選擇Windows版本,即在Windows環(huán)境中安裝虛擬機(jī)。(5)雙擊下載好的VMware Workstation 15 Player安裝程序。啟動(dòng)安裝之后,如遇到重啟計(jì)算機(jī)提示,則選擇重新啟動(dòng)。重啟計(jì)算機(jī)后,再次運(yùn)行該安裝軟件即可進(jìn)入安裝界面。如圖所示,單擊“下一步”按鈕即可。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝(6)選擇同意用戶許可協(xié)議,單擊“下一步”按鈕,如圖所示
39、。(7)安裝路徑可以選擇默認(rèn),也可以根據(jù)情況選擇自定義安裝路徑,需要說明的是,安裝路徑名不建議出現(xiàn)中文名。安裝路徑選擇完成后,進(jìn)入用戶體驗(yàn)設(shè)置界面。界面中的選項(xiàng)可勾選或者不選,如圖所示。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝(8)選擇是否創(chuàng)建快捷方式,然后,單擊“下一步”按鈕,如圖所示。(9)自動(dòng)完成相關(guān)組件的安裝,此過程無須干預(yù),如圖所示。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝(10)虛擬機(jī)組件安裝完成后,出現(xiàn)提示,單擊“完成”按鈕即可,如圖所示。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝(11)安裝向?qū)瓿珊?,運(yùn)行虛擬機(jī),則進(jìn)入密鑰驗(yàn)證界面,選擇“免費(fèi)
40、將VMware Workstation 15 Player用于非商業(yè)用途”,單擊“繼續(xù)”按鈕即可,如圖所示。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝2.創(chuàng)建虛擬機(jī)(1)虛擬機(jī)安裝完畢后,則需要開始創(chuàng)建虛擬機(jī)。啟動(dòng)VMware Workstation 15 Player軟件,單擊“創(chuàng)建新虛擬機(jī)”,如圖所示。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝(2)進(jìn)入新建虛擬機(jī)向?qū)Ы缑?,選擇“稍后安裝操作系統(tǒng)”,先創(chuàng)建一個(gè)空的虛擬機(jī)。通俗地說,即先為Linux操作系統(tǒng)創(chuàng)建一個(gè)容器,然后再將操作系統(tǒng)裝入容器中。如圖所示,完成選擇后,單擊“下一步”按鈕。1.3.1 安裝虛擬機(jī)1.3 Li
41、nux操作系統(tǒng)安裝(3)進(jìn)入選擇客戶機(jī)操作系統(tǒng),即預(yù)先設(shè)置虛擬機(jī)中運(yùn)行的操作系統(tǒng)類型??蛻魴C(jī)操作系統(tǒng)默認(rèn)選擇為Linux,版本為Ubuntu64位,因此可直接單擊“下一步”按鈕,如圖所示。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝(4)選擇命名虛擬機(jī),并設(shè)置此虛擬機(jī)存放的位置。本次將虛擬機(jī)命名為“Ubuntu16.04”,位置選擇為“E:ubuntuubuntu16.04”,需要注意的是此處設(shè)置的位置為自定義目錄,讀者可根據(jù)情況自行設(shè)定。如圖所示,單擊“下一步”按鈕。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝(5)指定磁盤容量,即設(shè)置Linux操作系統(tǒng)使用的硬盤大小。通俗地
42、說,即設(shè)置存放Linux操作系統(tǒng)的“容器”大小。設(shè)置完成后,單擊“下一步”按鈕。如圖所示。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝(6)創(chuàng)建完成,顯示創(chuàng)建虛擬機(jī)的詳細(xì)信息,如圖所示,單擊“完成”按鈕即可。1.3.1 安裝虛擬機(jī)1.3 Linux操作系統(tǒng)安裝(7)創(chuàng)建虛擬機(jī)成功之后,顯示編輯運(yùn)行界面,如圖所示。此時(shí)只是創(chuàng)建了虛擬機(jī)(只是創(chuàng)建了一個(gè)“容器”),沒有安裝操作系統(tǒng)。因此,接下來將展示如何在虛擬機(jī)中安裝Ubuntu系統(tǒng)。1.3.2 安裝Ubuntu系統(tǒng)1.3 Linux操作系統(tǒng)安裝本節(jié)將在新創(chuàng)建的虛擬機(jī)環(huán)境下安裝Ubuntu系統(tǒng)。(1)在圖所示的界面中,選擇“編輯虛擬機(jī)設(shè)置”
43、,進(jìn)入虛擬機(jī)設(shè)置界面,如圖所示。1.3.2 安裝Ubuntu系統(tǒng)1.3 Linux操作系統(tǒng)安裝(2)選擇“CD/DVD(SATA)”選項(xiàng),在“連接”欄中選擇已經(jīng)下載好的ISO鏡像文件即Ubuntu系統(tǒng)鏡像,讀者可以在Ubuntu官方網(wǎng)站下載,但是一般下載時(shí)間較長。因此也可選擇搜索鏡像站點(diǎn),從鏡像站點(diǎn)中下載。本次將展示用已經(jīng)下載的鏡像直接安裝。如圖所示,選擇已有鏡像,然后單擊“確定”按鈕。1.3.2 安裝Ubuntu系統(tǒng)1.3 Linux操作系統(tǒng)安裝(3)選擇“播放虛擬機(jī)”,如圖所示。1.3.2 安裝Ubuntu系統(tǒng)1.3 Linux操作系統(tǒng)安裝(4)進(jìn)入U(xiǎn)buntu系統(tǒng)的安裝配置界面,進(jìn)行系統(tǒng)
44、語言設(shè)置,選擇“English”后,單擊“Install Ubuntu”按鈕,如圖所示。1.3.2 安裝Ubuntu系統(tǒng)1.3 Linux操作系統(tǒng)安裝(5)可以選擇跳過更新提示與安裝第三方軟件推送,單擊“Continue”按鈕,如圖所示。(6)選擇地區(qū)。1.3.2 安裝Ubuntu系統(tǒng)1.3 Linux操作系統(tǒng)安裝(7)鍵盤布局選擇“English(US)”,如圖所示。(8)設(shè)置用戶名、主機(jī)名與密碼,單擊“Continue”按鈕,如圖所示。1.3.2 安裝Ubuntu系統(tǒng)1.3 Linux操作系統(tǒng)安裝(9)安裝等待界面,如圖所示。(10)如遇到系統(tǒng)提示重啟,則選擇重啟,進(jìn)入載入畫面,如圖所示,
45、按下Enter鍵。1.3.2 安裝Ubuntu系統(tǒng)1.3 Linux操作系統(tǒng)安裝(11)進(jìn)入用戶登錄界面,輸入密碼即可完成登錄,如圖所示。(12)進(jìn)入U(xiǎn)buntu系統(tǒng)桌面,表示安裝成功,如圖所示。1.3.3 安裝虛擬機(jī)工具1.3 Linux操作系統(tǒng)安裝安裝虛擬機(jī)工具使虛擬機(jī)可以使用一些十分重要的功能。例如,建立共享文件夾。本節(jié)將展示如何安裝虛擬機(jī)工具。(1)打開VMware Workstation 15 Player菜單欄,選擇“管理”,單擊“安裝VMware Tools”,如圖所示。1.3.3 安裝虛擬機(jī)工具1.3 Linux操作系統(tǒng)安裝(2)選擇“下載并安裝”,如圖所示。1.3.3 安裝虛
46、擬機(jī)工具1.3 Linux操作系統(tǒng)安裝(3)等待一段時(shí)間,如圖所示。注意,在安裝之前需要禁用物理機(jī)上的防火墻,否則防火墻程序可能會(huì)阻止VMware Workstation更新程序訪問更新服務(wù)器。1.3.3 安裝虛擬機(jī)工具1.3 Linux操作系統(tǒng)安裝(4)下載完畢,系統(tǒng)將自動(dòng)跳轉(zhuǎn),找到虛擬機(jī)工具的壓縮包,右鍵單擊虛擬機(jī)工具的壓縮包,在彈出的快捷菜單中選擇“Copy To”菜單項(xiàng),將壓縮包復(fù)制到家(用戶主)目錄中(即/home/用戶名)。如圖所示。1.3.3 安裝虛擬機(jī)工具1.3 Linux操作系統(tǒng)安裝(5)如圖所示,單擊“Home”選擇家目錄,再單擊“Select”按鈕即可將壓縮包復(fù)制到家目錄
47、中。(6)退出當(dāng)前界面,進(jìn)入家目錄,準(zhǔn)備安裝虛擬機(jī)工具。如圖所示。1.3.3 安裝虛擬機(jī)工具1.3 Linux操作系統(tǒng)安裝(7)在Ubuntu系統(tǒng)桌面上單擊右鍵,在彈出的快捷菜單中選擇“Open Terminal”菜單項(xiàng)打開系統(tǒng)控制終端。如圖所示。1.3.3 安裝虛擬機(jī)工具1.3 Linux操作系統(tǒng)安裝(8)在終端中輸入Shell命令ls(后續(xù)章節(jié)講解),即可查看到當(dāng)前家目錄中虛擬機(jī)壓縮包。使用命令tar對(duì)壓縮包進(jìn)行解壓,如圖所示。1.3.3 安裝虛擬機(jī)工具1.3 Linux操作系統(tǒng)安裝(9)解壓結(jié)束后,產(chǎn)生解壓后的文件夾。使用命令cd可進(jìn)入該目錄,使用命令ls可查看當(dāng)前目錄下的文件,如圖所示
48、。1.3.3 安裝虛擬機(jī)工具1.3 Linux操作系統(tǒng)安裝(10)在命令前加入sudo,表示臨時(shí)獲得管理員權(quán)限。以管理員身份執(zhí)行目錄中的VMware-install.pl文件(. / + 文件名),在執(zhí)行過程中,如遇到是否判斷,按Y表示選擇“是”,如遇到需要確認(rèn)的信息,直接按Enter鍵,選擇默認(rèn)即可,如圖所示。1.3.3 安裝虛擬機(jī)工具1.3 Linux操作系統(tǒng)安裝(12)安裝完成,重新啟動(dòng)虛擬機(jī),如圖所示。至此,虛擬機(jī)工具安裝成功。本章作為全書的第1章以概念為主。重點(diǎn)介紹了操作系統(tǒng)、嵌入式操作系統(tǒng)、Linux操作系統(tǒng)的問題,然后介紹了Linux操作系統(tǒng)Ubuntu的安裝以及虛擬機(jī)的安裝和配
49、置工作。讀者需要理解操作系統(tǒng)、嵌入式操作系統(tǒng)、Linux操作系統(tǒng)的關(guān)系與區(qū)別,才能更好地明確方向,有助于后續(xù)的學(xué)習(xí)。通過Linux操作系統(tǒng)的安裝,讀者可培養(yǎng)獨(dú)立搭建環(huán)境的能力,以適應(yīng)在開發(fā)中遇到的各種狀況。本章小結(jié)第2章 Linux操作系統(tǒng)的使用初識(shí)終端認(rèn)識(shí)Shell Linux操作系統(tǒng)命令初識(shí)終端 認(rèn)識(shí)Shell點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu) Linux操作系統(tǒng)命令點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu) 點(diǎn)擊查看本小節(jié)知識(shí)架構(gòu) 掌握了解掌握了解學(xué)習(xí)目標(biāo)掌握終端的基本操作方法1掌握Shell命令用法42了解Shell命令格式3了解Linux操作系統(tǒng)命令本章將從實(shí)際操作的角度,帶領(lǐng)讀者進(jìn)一步認(rèn)識(shí)Lin
50、ux操作系統(tǒng)的基本使用方法。熟練地使用Linux操作系統(tǒng)(Ubuntu)是學(xué)習(xí)Linux應(yīng)用開發(fā)的前提,因此本章將通過終端著重介紹Linux操作系統(tǒng)的常用Shell命令,完成一些基本且十分實(shí)用的操作功能需求。望讀者可以在理解的基礎(chǔ)上勤練習(xí),從而盡快熟練使用Linux操作系統(tǒng)。2.1 初識(shí)終端2.1.1終端介紹返回目錄2.1.2終端軟件人們經(jīng)常說,眼睛是心靈的窗戶。而對(duì)于Linux操作系統(tǒng)而言(Ubuntu),終端就是窗戶。盡管目前來看,Linux操作系統(tǒng)的圖形界面已經(jīng)比較成熟,絕大多數(shù)操作完全可以通過圖形界面來完成。但是學(xué)習(xí)通過終端完成對(duì)系統(tǒng)的操作,才能算是打開了Linux系統(tǒng)學(xué)習(xí)的大門。所謂
51、終端,即圖形界面下的一種命令行窗口。用來實(shí)現(xiàn)操作系統(tǒng)與用戶的交互。同Windows一樣,盡管人們適應(yīng)了通過桌面完成一系列工作,但Ubuntu的一些系統(tǒng)配置仍需要通過終端完成。打開Windows終端的方式為按“Win + R”鍵,然后在命令框內(nèi)輸入“cmd”。2.1.1 終端介紹2.1 初識(shí)終端如圖所示。2.1.1 終端介紹2.1 初識(shí)終端本書介紹的Ubuntu系統(tǒng)所使用的終端為GNOME,如1.3.3節(jié)中的圖所示,可在系統(tǒng)桌面直接通過單擊打開終端,也可使用快捷鍵打開終端,默認(rèn)快捷鍵為“Ctrl + Alt + T”(可自行在系統(tǒng)設(shè)置中修改)。在終端命令行輸入“exit”并按Enter鍵即可關(guān)閉
52、終端;或者單擊該終端頁面(表示選定該終端),再按“Ctrl + D”鍵(可自行修改)關(guān)閉。GNOME終端界面如圖所示。2.1.1 終端介紹2.1 初識(shí)終端目前桌面環(huán)境下的命令終端軟件有很多種,它們各有特色,且都有各自的用戶群。目前流行的終端軟件有Xterm、Gnome-Terminal、Konsole、rxvt等。本書使用的Linux操作系統(tǒng)(Ubuntu)已默認(rèn)安裝Gnome-Terminal,如圖所示。Gnome-Terminal提供了剪切、粘貼、多標(biāo)簽顯示,以及設(shè)置終端配置文件等功能。中文支持和用戶界面相對(duì)友好。用戶可以使用窗口菜單或快捷鍵完成操作。Xterm是一款基于 X Window
53、 System系統(tǒng)的終端模擬器,用來提供多個(gè)獨(dú)立的Shell 輸入輸出。其最早由馬克 范德沃德(Mark Vandevoorde)于1984年為VS100顯示器編寫的獨(dú)立虛擬終端。Konsole是基于KDE平臺(tái)的終端模擬器,除了提供支持使用Shell的方法,Konsole同樣提供了很多能讓命令行操作便利的功能,如配置文件管理,回滾和配色方案,以及半透明效果等。2.1.2 終端軟件2.1 初識(shí)終端rxvt是X Window系統(tǒng)下一個(gè)很優(yōu)秀的終端模擬器。作為標(biāo)準(zhǔn)的xterm終端的替代品。具有占用資源小,啟動(dòng)快的特點(diǎn)。上述幾款終端軟件區(qū)別不大,窗口類似,都用來實(shí)現(xiàn)命令的輸入,完成用戶與操作系統(tǒng)的交互
54、。名詞解釋:X Window。X Window是一種以位圖方式顯示的軟件窗口系統(tǒng),最早于1984年麻省理工學(xué)院開發(fā),后來變成UNIX、類UNIX等操作系統(tǒng)所一致使用的標(biāo)準(zhǔn)化軟件工具包及顯示架構(gòu)的運(yùn)作協(xié)議。X Window通過軟件工具及架構(gòu)協(xié)議建立操作系統(tǒng)所用的圖形用戶界面,此后逐漸擴(kuò)展到其他操作系統(tǒng)上,幾乎所有的操作系統(tǒng)都能支持與使用X Window。GNOME和KDE也都是以X Window為基礎(chǔ)構(gòu)建成而成的。2.1.2 終端軟件2.1 初識(shí)終端2.2 認(rèn)識(shí)Shell2.2.1Shell概述返回目錄2.2.2Shell命令格式2.2.1 Shell概述2.2 初識(shí)Shell用戶使用操作系統(tǒng)幾
55、乎都在桌面環(huán)境下,通過鼠標(biāo)單擊操作基本可以完成大部分的工作。圖形界面對(duì)用戶十分友好,交互方便。然而,Linux操作系統(tǒng)的許多功能使用Shell命令來完成要比圖形界面更快速且直接。因此,掌握Shell命令的用法十分重要。學(xué)習(xí)Shell命令,首先需要理解Shell的定義以及Shell在操作系統(tǒng)中的定位。Shell可直譯為“貝殼”,而Linux操作系統(tǒng)中的Shell可以被視為Linux內(nèi)核的一個(gè)外層保護(hù)工具。主要負(fù)責(zé)完成用戶與內(nèi)核之間的交互,其主要面對(duì)的是用戶。Shell本質(zhì)上是一個(gè)命令行解釋器。其功能為將用戶命令解析為操作系統(tǒng)所能理解的指令,從而實(shí)現(xiàn)用戶與操作系統(tǒng)的交互。Shell為操作系統(tǒng)提供了
56、內(nèi)核以上的功能,直接用來管理和運(yùn)行系統(tǒng)。2.2.1 Shell概述2.2 初識(shí)Shell用戶、Shell和Linux操作系統(tǒng)內(nèi)核之間的關(guān)系,如圖所示。在這里需要特別注意的是Shell、Shell腳本、Shell命令三者的區(qū)別,它們是三個(gè)不同的概念。Shell命令是用戶向系統(tǒng)內(nèi)核發(fā)送的的控制請(qǐng)求,而這個(gè)控制命令是無法被內(nèi)核理解的。它只是一個(gè)文本流。2.2.1 Shell概述2.2 初識(shí)Shell而Shell是命令行解釋器,是用來解析用戶命令的。Linux內(nèi)核可以做很多事,硬件如顯卡、聲卡、內(nèi)存、硬盤等都由內(nèi)核來控制。這些硬件執(zhí)行的命令需要由用戶來下達(dá),而內(nèi)核對(duì)用戶的文本控制命令是“聽不懂”的。因
57、此,用戶在命令行提示符下輸入命令文本,這樣的命令傳遞給內(nèi)核前需要有一個(gè)“翻譯”,這個(gè)“翻譯”就是Shell。在特定的情況下,硬件需要執(zhí)行很多命令,這時(shí)可以將命令集合起來,結(jié)合控制語句,編輯成Shell腳本文件,交由Shell批量執(zhí)行。Shell有很多種類型,不同的Shell具備不同的功能。Linux操作系統(tǒng)支持的Shell種類如下。(1)Bourne Shell(簡(jiǎn)稱sh)由AT&T貝爾實(shí)現(xiàn)室鮑恩(S.R.Bourne)開發(fā)。Bourne Shell是UNIX最初使用的Shell。Bourne Shell在Shell編程方面十分優(yōu)秀,但在處理與用戶的交互方面不盡如人意。例如,不支持別名與歷史記
58、錄等功能。2.2.1 Shell概述2.2 初識(shí)Shell(2)Bourne Again Shell(簡(jiǎn)稱bash)是多數(shù)Linux操作系統(tǒng)發(fā)行版的默認(rèn)Shell。作為Bourne Shell的增強(qiáng)版,其各項(xiàng)功能都比較完善。與Bourne Shell完全向下兼容。它提供了命令補(bǔ)齊、命令編輯和命令歷史等特色功能,有很友好的用戶界面。(3)C Shell(簡(jiǎn)稱csh)相較于Bourne Shell更適合編程,其語法與C語言類似。由加州大學(xué)伯克利分校開發(fā)。C Shell的語法相對(duì)復(fù)雜,且執(zhí)行效率不高。(4)Korn Shell(簡(jiǎn)稱ksh),由戴維 科恩(David Korn)開發(fā)。與Bourne
59、Shell兼容。Linux操作系統(tǒng)提供pdksh(ksh的擴(kuò)展),支持任務(wù)控制,可以在命令行上掛起、后臺(tái)執(zhí)行、喚醒或終止程序。2.2.1 Shell概述2.2 初識(shí)ShellLinux操作系統(tǒng)中Shell的運(yùn)行環(huán)境是終端。用戶只需開啟終端,即可啟動(dòng)Shell環(huán)境。如圖所示,命令行提示符是Shell運(yùn)行環(huán)境的標(biāo)志。2.2.2 Shell命令格式2.2 初識(shí)Shell1.命令提示符通常情況下Shell命令行提示符采用以下的格式。用戶在提示符后面輸入命令并按Enter鍵,向系統(tǒng)發(fā)送指令。username:用戶名,即當(dāng)前登錄用戶的用戶名。hostname:主機(jī)名,即系統(tǒng)的主機(jī)名。direction:目
60、錄名,即當(dāng)前用戶所處的路徑,“”表示在用戶主目錄下;“/”表示在根目錄(類似于Windows系統(tǒng)下的C盤)下,即系統(tǒng)目錄下。$:Shell提示符,表示當(dāng)前用戶為普通用戶。如果當(dāng)前用戶為超級(jí)用戶(管理員),則提示符為“#”。2.2.2 Shell命令格式2.2 初識(shí)Shell如圖所示,在Ubuntu系統(tǒng)中,通過鼠標(biāo)單擊或者快捷鍵“Ctrl + Alt + T”打開終端,看到當(dāng)前的提示符為“l(fā)inuxubuntu:/1000phone$”。其中,“l(fā)inux”為當(dāng)前登錄的用戶名;主機(jī)名為“ubuntu”;當(dāng)前用戶所處的路徑為“/1000phone”,即用戶主目錄下的“1000phone”目錄中。2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣東云浮市羅定市市場(chǎng)監(jiān)督管理局招用青年見習(xí)人員2人模擬試卷附答案詳解(完整版)
- 2025安徽安慶望江縣融媒體中心急需緊缺專業(yè)技術(shù)人員招聘2人考前自測(cè)高頻考點(diǎn)模擬試題及答案詳解(新)
- 2025年上半年全省事業(yè)單位公開招聘工作人員(含教師)筆試南充考區(qū)考前自測(cè)高頻考點(diǎn)模擬試題附答案詳解(突破訓(xùn)練)
- 2025湖南省兒童醫(yī)院高層次人才公開招聘16人模擬試卷帶答案詳解
- 2025年度鄭州工程技術(shù)學(xué)院招聘高層次人才81名考前自測(cè)高頻考點(diǎn)模擬試題附答案詳解(突破訓(xùn)練)
- 2025昆明市祿勸縣人民法院聘用制書記員招錄(2人)考前自測(cè)高頻考點(diǎn)模擬試題及答案詳解(各地真題)
- 2025湖南株洲市行政審批服務(wù)局公開招聘中級(jí)雇員2人模擬試卷及答案詳解(奪冠)
- 2025年度鄭州警察學(xué)院招聘人才(第二批)15名考前自測(cè)高頻考點(diǎn)模擬試題及一套答案詳解
- 2025廣西柳州市考試錄用公務(wù)員(人民警察)體能測(cè)評(píng)模擬試卷及答案詳解(必刷)
- 2025廣東茂名市化州市播揚(yáng)鎮(zhèn)敬老院招聘10人考前自測(cè)高頻考點(diǎn)模擬試題完整參考答案詳解
- 慢阻肺臨床路徑試題及答案
- 800個(gè)產(chǎn)糧大縣名單
- 2025年新兼職安全員安全培訓(xùn)試題及答案
- 集體榮譽(yù)-主題班會(huì)課件
- 養(yǎng)老現(xiàn)狀課件
- 【某酚醛污水處理廠的經(jīng)濟(jì)評(píng)估計(jì)算過程案例2100字】
- 當(dāng)代科技倫理與自然辯證法課程的融合與教學(xué)創(chuàng)新探索
- 公司年度財(cái)務(wù)預(yù)算
- 2025年高考語文考前關(guān)注:作文審題立意技巧
- 氯氣的性質(zhì)課件高一上學(xué)期化學(xué)人教版
- 水利工程監(jiān)理部主要工作制度(依據(jù)2014版監(jiān)理規(guī)范編寫)
評(píng)論
0/150
提交評(píng)論