版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Linux操作系統(tǒng)
第一章、Linux概述
Linux概述的內(nèi)容
1.1Linux簡介1.2Linux系統(tǒng)特性1.3RedHatLinux系統(tǒng)的組成1.1Linux簡介何為Linux?來源?類別?支持平臺?編程語言?Linux誕生誕生:1991.10(LinusBenedictTorvalds芬蘭人時年23歲),正確讀音[linoks](也有人讀liniks、linuks)正式版本:1992.03內(nèi)核1.0推出類別:是UNIX操作系統(tǒng)在PC機上的完整實現(xiàn)。具有UNIX的全部功能。支持硬件平臺:從最初IntelX86~到目前支持所有主流平臺,如PC、PowerPC、Alpha工作站、SUNSparc工作站等。編程語言:C語言是目前惟一能與WINDOWS相抗衡,又得到廣泛支持、廣泛應(yīng)用的網(wǎng)絡(luò)及桌面操作系統(tǒng)。1.1Linux簡介(續(xù))Linux特點有哪些?Linux內(nèi)核、許多系統(tǒng)軟件、應(yīng)用軟件的源代碼是公開的。
Linux系統(tǒng)軟件和應(yīng)用軟件很多來源于GNU組織。GNU是自由軟件基金會的一個項目,是GNUisNotUNIX的遞歸縮寫。GPL:GeneralPublicLicense,通用公共(軟件)許可證,GPL允許軟件作者擁有版權(quán),及授予任何人合法復(fù)制、發(fā)行和修改軟件的權(quán)利。1993加入GNU。Linux是一個功能強大的網(wǎng)絡(luò)操作系統(tǒng),同時它是一個自由軟件,是免費的、源代碼開放的(LinusTorvalds說:“使Linux成為GPL的一員是我一生中所做過的最漂亮的一件事”)編制它的目的是建立不受任何商品化軟件版權(quán)制約的、全世界都能自由使用的Unix兼容產(chǎn)品1.1Linux簡介(續(xù))Linux功能支持多種不同格式的文件系統(tǒng)支持多種語言,如C、C++、Java、Lisp等。支持多種腳本語言,如Perl、shell等支持Xwindows系統(tǒng)及應(yīng)用程序支持多種自然語言,如中文、英文等支持多種大型數(shù)據(jù)庫,如Oracle、Sybase、Infomax等。支持與WINDOWS操作系統(tǒng)進行文件共享強大的網(wǎng)絡(luò)功能,支持多種網(wǎng)絡(luò)協(xié)議,如TCP/IP、IPX、Appletalk、NETBEUI等。1.1.1
Linux版本Linux版本分為兩類?內(nèi)核(kernel)版本是指在Linux領(lǐng)導(dǎo)下的開發(fā)小組開發(fā)出來的系統(tǒng)內(nèi)核版本號。目前最新內(nèi)核版本號是kernel
2.6發(fā)行(Distribution)版本以Linuxkernel為核心,搭配各種應(yīng)用程序和文檔,包裝起來,并提供安裝界面和系統(tǒng)設(shè)置及管理工具,構(gòu)成發(fā)行版本。內(nèi)核(kernel)版本major.minor.patchlevel?(主版本號.次版本號.當(dāng)前內(nèi)核版本的修訂次數(shù))如:kernel2.4.18-14,表示對內(nèi)核2.4版本的第18次修改,修改了14處。次版本號是偶數(shù),表示內(nèi)核為穩(wěn)定發(fā)布版本,是奇數(shù),表示為不穩(wěn)定的開發(fā)版本。如:Kernel2.6.18-19,表示對內(nèi)核2.6版本的第18次修改,修改了19處。目前號稱最穩(wěn)定Linux內(nèi)核2.6.24版本發(fā)布(2008-01-25
)發(fā)行(Distribution)版本套裝軟件版本如:RedHatLinux9.0的內(nèi)核版本是2.4.20-8FedoraCore6的內(nèi)核版本是kernel-2.6.18-1.2798FedoraCore8的內(nèi)核版本是kernel-2.6.23-1.42有200多種Linux
Distribution
目前主流的Linux
DistributionRedHatLinux(FedoraCore)Mandriva(Mandrake)LinuxDebianLinuxUbuntuLinux紅旗Linux主流的Linux
Distribution西文版/國際版中文版RedHatLinux★XteramLinuxMandrakeLinux★紅旗Linux★DebianLinux★
TurboLinux中文版UbuntuLinux★BluePointLinuxSuSELinuxSlackwareLinuxTurboLinux★:桌面環(huán)境更好一些Linux的圖形界面RedHatLinux主界面RedHatLinux簡介1995,BobYoung和MarcEwing創(chuàng)建官方網(wǎng)站軟件包管理系統(tǒng)Up2date(RPM),YUM(RPM)目前,RedHat分為兩個系列:RedHatEnterpriseLinux(由RedHat公司收費技術(shù)支持和更新),適用于服務(wù)器,是個收費的操作系統(tǒng)FedoraCore(社區(qū)開發(fā)的、免費的、用戶數(shù)量龐大、優(yōu)秀的社區(qū)支持、版本生命同期短、版本更新快、開發(fā)初期多媒體支持不佳)2003發(fā)布FedoraCore1目前最新的是FedoraCore8,2007-11
FedoraCore4界面FedoraCore6界面最新FedoraCore8界面MandrivaLinux簡介1998.7,GaelDuval創(chuàng)建并發(fā)布,前身是Mandrake官方網(wǎng)站剛開始國內(nèi)很流行軟件包管理系統(tǒng)Urpmi(RPM)MandrivaLinux主界面DebianLinux簡介1993,IanMurdock創(chuàng)建,是迄今為止最遵循GNU規(guī)范的Linux系統(tǒng)軟件包管理系統(tǒng)APT(DEB),被譽為Linux軟件包管理工具中最強大的管理工具官方網(wǎng)站特點:GNU規(guī)范、100%免費、強大的Apt-Get、安裝相對不容易DebianLinux主界面UbuntuLinux簡介UbuntuLinux是一份完整的桌面Linux操作系統(tǒng),免費獲得,并有社團及專業(yè)支持。擁有Debian所有優(yōu)點。Ubuntu社團按照Ubuntu宣言里所銘記的思想而組建:軟件應(yīng)免費提供,軟件工具應(yīng)能以人們本地語種的形式可用且不犧牲任何功能,人們應(yīng)擁有定制及改變他們軟件的自由,這包括以任何他們認為適宜的方式。Ubuntu是一個古非洲語單詞,意指對他人的博愛。不是香港藝人陳冠希的“博愛”UbuntuLinux發(fā)行將這種博愛之心帶到了軟件世界中。目前最新版本:UbuntuLinux7.10(2007.10.18發(fā)布)Kubuntu(KDE桌面環(huán)境)Edubuntu(LinuxforEducation,用于學(xué)校教學(xué))Xubuntu(Xfce桌面環(huán)境)Gobuntu(GNU/Linux版本)缺點:還沒有成熟的商業(yè)模式紅旗Linux簡介中文操作系統(tǒng),是中科院軟件所、北大方正、康柏聯(lián)合推出的具有自主知識產(chǎn)權(quán)的全中文的linux發(fā)行版本KDE圖形桌面環(huán)境官方網(wǎng)站紅旗Linux主界面1.1.2選擇Linux的原因Linux是一套具有Unix全部功能的免費操作系統(tǒng)Linux不僅為用戶提供了強大的操作系統(tǒng)功能,而且還提供了豐富的應(yīng)用軟件Linux為廣大用戶提供了一個在家里學(xué)習(xí)和使用Unix操作系統(tǒng)的機會Linux能與現(xiàn)有存在的操作系統(tǒng)共存隨著世界頂級的IT公司(IBM、HP、Dell、Oracle、SGI、AMD、Transmeta等)的加盟,相信Linux將以更迅猛的勢頭發(fā)展,并最終成為一個多平臺的、市場占有率較高的、極其優(yōu)秀的網(wǎng)絡(luò)操作系統(tǒng)。1.2Linux系統(tǒng)的特性1.2.1Linux和其他系統(tǒng)的區(qū)別1.2.2Linux系統(tǒng)的特性1.2.3FedoraCore特性1、Linux和UNIX的不同Unix簡介20世紀(jì)70年代,貝爾實驗室開發(fā)出UNIX目前分為AT&TSystemV和BerkleyBSD兩個系列目前常見的UNIX版本有:SunSolaris(E45045萬,1998年)SCOUNIXHP-OSAIX注:Linux同時兼容SystemV和BSD兩種Unix系統(tǒng)1、Linux和UNIX的不同(續(xù))LINUX是免費的,而UNIX卻極其昂貴,對于應(yīng)用程序也一樣。LINUX支持多種硬件平臺,而UNIX不行,只支持特定的硬件平臺。LINUX得到了廣泛的用戶支持,而UNIX的支持卻很少。2、Linux與Windows的區(qū)別與Windows的工作方式的根本區(qū)別,也是Linux思想的核心Linux的應(yīng)用目標(biāo)是網(wǎng)絡(luò)可選的GUI文件名擴展重新引導(dǎo)命令區(qū)分大小寫2、Linux與Windows的區(qū)別(續(xù))與Windows的類似用戶和組文件系統(tǒng)端口與設(shè)備網(wǎng)絡(luò)服務(wù)2、Linux與Windows的區(qū)別(續(xù))1.2.2Linux系統(tǒng)的特性包含了UNIX的全部功能和特性P12、13、14開放性的系統(tǒng)多用戶、多任務(wù)的系統(tǒng)提供了良好的用戶界面具有出色的穩(wěn)定性和速度性能具有可靠的系統(tǒng)安全性提供了豐富的網(wǎng)絡(luò)功能標(biāo)準(zhǔn)兼容性和可移植性免費的、源代碼公開設(shè)備獨立性(設(shè)備當(dāng)作文件來看待)1.2.3FedoraCore特性1、FedoraCore5test1的新內(nèi)容P14
2、硬件需求P15
3、硬盤空間需求P154、內(nèi)存需求P155、FedoraCore5test1特定軟件包FedoraExtras倉庫Audit守護進程audit以及日志文件6、Linux內(nèi)核(kernel
2.6)FedoraCore8新特性
(2007.11)1.3RedHatLinux的組成Linux內(nèi)核(kernel)LinuxShellLinux文件結(jié)構(gòu)Linux實用工具內(nèi)核、Shell和文件系統(tǒng)一起形成了基本的操作系統(tǒng)結(jié)構(gòu)
內(nèi)核、外殼、應(yīng)用是任一OS的基本結(jié)構(gòu)Linux內(nèi)核(kernel)內(nèi)核是系統(tǒng)的心臟是運行程序和管理磁盤和打印機等硬件設(shè)備的內(nèi)部核心程序從用戶哪里接收命令并送到內(nèi)核去執(zhí)行內(nèi)核包括進程管理內(nèi)存管理硬件設(shè)備驅(qū)動文件系統(tǒng)驅(qū)動網(wǎng)絡(luò)管理等LinuxShellShell是系統(tǒng)的用戶界面,是用戶與內(nèi)核進行交互的接口。Linux也提供可視化的GUI—XWindowsKDE和GNOME接收用戶輸入的命令并把它送入內(nèi)核去執(zhí)行。實際上Shell是一個命令解釋器,解釋用戶輸入的命令,并送到內(nèi)核。(相當(dāng)于DOS的)Linux每個用戶可以擁有自己的用戶界面或者Shell,目前主要有:P17,有哪幾種?BourneShellBASHKornshellCshellShell命令分內(nèi)部命令和外部命令Linux文件結(jié)構(gòu)文件結(jié)構(gòu)是文件存放在磁盤等存儲設(shè)備上的組織方法。主要表現(xiàn)在對文件和目錄的組織上。用戶可以對文件和目錄進行權(quán)限的設(shè)置目錄采用多級樹型結(jié)構(gòu),用戶可以創(chuàng)建自己的目錄和文件所有的外設(shè)在LINUX系統(tǒng)中,也是以文件的形式表現(xiàn)。實用工具RedHatLinux的實用工具分三類編輯器用于編輯文件,主要有ED、EX、VI和EMACS過濾器用于接收數(shù)據(jù)并過濾數(shù)據(jù),主要有Filter交互程序允許用戶發(fā)送信息或接收來自其他用戶的信息2.1安裝前的準(zhǔn)備工作FedoraCore4.0安裝盤4張安裝界面有兩種字符界面安裝圖形界面安裝比較項目字符界面安裝圖形界面安裝適用范圍所有要安裝Linux的主機Linux支持顯示圖形的主機安裝速度快慢用戶界面字符界面,用鍵盤操作圖形界面,可用鼠標(biāo)操作2.1.1配置系統(tǒng)資源Linux與Windows在文件管理、數(shù)據(jù)結(jié)構(gòu)等方面存在很大的差異。1、個人桌面(PersonalDesktop)類圖形化界面X-Windows必須>=1.8GB磁盤空間若需KDE或GNOME必須>=2.2GB磁盤空間若選擇FedoraCore4自帶軟件包(辦公、圖形等)必須>=6.9GB磁盤空間2.1.1配置系統(tǒng)資源(續(xù))選擇個人桌面(PersonalDesktop)類時,若選擇由系統(tǒng)自動分區(qū),則會創(chuàng)建以下分區(qū):/分區(qū)根分區(qū),保存著其他所有文件(具體大小可根據(jù)磁盤容量大小來決定)/boot分區(qū)大小為100MB,保存有FedoraCore4的內(nèi)核和相關(guān)文件。Swap交換分區(qū)(最大為512MB)取決于系統(tǒng)內(nèi)存和硬盤的大小,通常不超過內(nèi)存容量的2倍。如:RAM為256MB,則SWAP分區(qū)為256MB~512MB。2.1.1配置系統(tǒng)資源(續(xù))2、工作站(Workstation)類型適合需要所有桌面環(huán)境和軟件開發(fā)工具的用戶安裝?;蛘甙寻惭b好的FedoraCore4作為工作站來使用。有兩種桌面可選:KDE(KDesktopEnvironment)WorkstationGNOME(GNUNetworkObjectModelEnvironment)Workstation不會安裝任何服務(wù)器即不會安裝WEB、FTP、DNS等服務(wù)器2.1.1配置系統(tǒng)資源(續(xù))選擇工作站(Workstation)類時,會把硬盤上所有的LINUX分區(qū)全部刪除,重新劃分3個分區(qū):Swap交換分區(qū)(最大為512MB)同個人桌面方式/boot分區(qū)大小100MB,存有FedoraCore4內(nèi)核和相關(guān)文件。/分區(qū)根分區(qū),保存著其他所有文件(具體大小可根據(jù)磁盤容量大小來決定)默認安裝(無圖形桌面),需要2.4GB;選擇GNOME或KDE安裝需要2.9GB;選擇全部安裝,則需要7GB。2.1.1配置系統(tǒng)資源(續(xù))3、服務(wù)器(Server)類服務(wù)器安裝會把硬盤上所有的分區(qū)全部刪除,不管以前硬盤上安裝過什么系統(tǒng)。因此,安裝前一定要確認硬盤的數(shù)據(jù)完全不需要。然后將硬盤分區(qū)。Swap交換分區(qū)(最大為512MB)同個人桌面/boot分區(qū)大小100MB,存有FedoraCore4內(nèi)核和相關(guān)文件。/分區(qū)根分區(qū),保存著其他所有文件默認安裝(無圖形桌面),需要1GB;加上X-Windows需要1.2GB;選擇全部安裝,不要圖形桌面需3.6G,要圖形桌面則需7GB。2.1.1配置系統(tǒng)資源(續(xù))4、定制(Custom)所有設(shè)置由用戶手動安裝,包括分割磁盤、分配空間、格式化硬盤、選擇安裝組件等。適用于對LINUX比較熟悉的用戶不適用于初學(xué)者安裝2.1.2磁盤分區(qū)1、磁盤分區(qū)介紹分區(qū)是指在硬盤上建立多個單獨存儲區(qū)域是在物理硬盤上進行邏輯硬盤的分割。目的是便于管理。WINDOWS系統(tǒng)中每個分區(qū)就是一個驅(qū)動器,就有一個根目錄。目錄是森林結(jié)構(gòu)LINUX系統(tǒng)中,無論多少分區(qū),無論分區(qū)中保存什么數(shù)據(jù),都只有一個根目錄,一個獨立且惟一的文件結(jié)構(gòu)。目錄是樹結(jié)構(gòu)2.1.2磁盤分區(qū)(續(xù))LINUX中硬盤和分區(qū)的表示安裝好的FedoraCore4系統(tǒng)中,整個硬盤和每個分區(qū)都被表示為/dev目錄中的文件。與WINDOWS中不同。根據(jù)硬盤的類型,分別表示為:IDE硬盤(驅(qū)動器標(biāo)識符為hdx*)hd表示分區(qū)所在硬盤類型為IDEX指盤號(a:基本盤,b:從盤,c:輔助主盤,d:輔助從盤)*指分區(qū),即主分區(qū)和擴展分區(qū),從5開始就是邏輯分區(qū)。例:hda3表示主硬盤上的第3個主分區(qū)或擴展分區(qū),hdb1表示從硬盤上的第1個主分區(qū)或擴展分區(qū)。SCSI硬盤(驅(qū)動器標(biāo)識符為sdx*)sd表示分區(qū)所在硬盤類型為SCSIX指盤號(a:基本盤,b:從盤,c:輔助主盤,d:輔助從盤)*指分區(qū),即主分區(qū)和擴展分區(qū),從5開始就是邏輯分區(qū)。例:SCSI的引導(dǎo)盤使用的設(shè)備文件/dev/sda1、/dev/sda2、/dev/sda3、/dev/sda4作為主分區(qū),/dev/sda5作為擴展分區(qū)。2.1.2磁盤分區(qū)(續(xù))2、硬盤種類及容量計算(fdisk–l)2.1.2磁盤分區(qū)(續(xù))2、硬盤種類及容量計算(fdisk–l)Heads磁盤面Sectors扇區(qū)Cylinders柱面扇區(qū)大?。?12KB)硬盤容量計算(虛擬機上演示)=磁盤面數(shù)*扇區(qū)個數(shù)*每個扇區(qū)的大小*柱面?zhèn)€數(shù)如:255*63*512*2088ytes(17.1GB)2.1.2磁盤分區(qū)(續(xù))3、合理地規(guī)劃分區(qū)對于linux系統(tǒng),一個硬盤的分區(qū),一般應(yīng)該有4個主分區(qū),其中擴展分區(qū)也算一個主分區(qū)。分區(qū)結(jié)構(gòu)14個主分區(qū),沒有擴展分區(qū)。想劃分5個以上分區(qū)是不可能的分區(qū)結(jié)構(gòu)23個主分區(qū),1個擴展分區(qū)。比較好,分區(qū)自由度大,分區(qū)也不受約束,能劃分5個以上分區(qū)。最合理的分區(qū)結(jié)構(gòu)主分區(qū)在前,擴展分區(qū)在后,擴展分區(qū)中劃分邏輯分區(qū)。主分區(qū)個數(shù)+擴展分區(qū)個數(shù)<=42.2安裝FedoraCore4.02.2.1安裝方式(方法)1、從硬盤安裝FedoraCore4.0安裝盤拷貝到硬盤啟動DOS進入/dosutils子目錄執(zhí)行autoboot命令進行安裝2、從網(wǎng)絡(luò)鏡像文件安裝FTP、SMB共享卷安裝、鏡像文件安裝等網(wǎng)絡(luò)方式安裝。3、安裝光盤啟動計算機安裝3、光盤自啟動安裝(1)設(shè)置BIOS啟動順序(2)選擇安裝界面按ENTER鍵進入圖形安裝界面★輸入linuxtext按ENTER鍵進入文本安裝界面按功能鍵查看詳細安裝信息(3)檢測FedoraCore4.0安裝盤數(shù)據(jù)選擇OK,檢測安裝光盤的數(shù)據(jù)完整性。選擇SKIP(跳過檢測光盤數(shù)據(jù))進入基本硬件檢測,對鍵盤、顯示器等進行檢測,沒有問題進入圖形安裝程序。圖形安裝界面單擊NEXT進入安裝語言設(shè)置對話框,選擇簡體中文(4)選擇安裝語言單擊NEXT選擇安裝類型(5)選擇安裝類型個人桌面工作站服務(wù)器定制2.2.2系統(tǒng)分區(qū)
(6)分區(qū)設(shè)置Linux使用的分區(qū)為ext格式,Windows使用的分區(qū)是FAT或NTFS格式。自動分區(qū)手動分區(qū)DiskDruid(7)磁盤分區(qū)FC4.0至少需要3個分區(qū),1個/根分區(qū)用于系統(tǒng),1個用于交換數(shù)據(jù)SWAP,1個BOOT分區(qū)(8)創(chuàng)建分區(qū)并掛載創(chuàng)建分區(qū)為分區(qū)設(shè)置掛載點為分區(qū)選擇文件類型指定分區(qū)空間大小掛載點(mountpoint)含義Linux系統(tǒng)正常使用的前提是必須掛載linux系統(tǒng)。目錄可以記錄文件名和文件數(shù)據(jù)的相關(guān)信息目錄也可以是和文件系統(tǒng)產(chǎn)生對應(yīng)關(guān)系的入口點,稱入口點目錄為掛載點安裝FC4時,通常要將磁盤分割成幾個部分,每個部分掛載不同的目錄。如:“/”,根分區(qū)掛載點設(shè)置在/dev/hda1上面。“/home”,家目錄掛載點設(shè)置在/dev/hda2上面。表示/home目錄下的所有子目錄,都將使用/dev/hda2分區(qū)中的空間存儲數(shù)據(jù)。創(chuàng)建/boot分區(qū)啟動分區(qū),類型ext3空間100MB創(chuàng)建交換分區(qū)SWAP交換分區(qū)類型SWAP空間最多物理內(nèi)存的兩倍,不超過512MB
創(chuàng)建/根分區(qū)根分區(qū)/,用于保存安裝的系統(tǒng)文件。類型ext3分區(qū)空間根據(jù)磁盤空間大小來決定,通常是比較大。
掛載點下拉菜單選項分區(qū)類型掛載點說明ext3/bootBoot中安裝Linux系統(tǒng)啟動所需文件,所以空間較小(100M左右)ext3/user應(yīng)用軟件存放位置,空間較大(2GB以上)ext3/home用戶宿主目錄的父目錄。(看系統(tǒng)使用人員多少,通常要考慮限量,用戶數(shù)*限量)ext3/根分區(qū)作為系統(tǒng)目錄樹的根節(jié)點,需要較大空間ext3/var存放可變數(shù)據(jù)。(看系統(tǒng)使用人員多少,通常要考慮限量,用戶數(shù)*限量,DHCP、DNS等數(shù)據(jù))SWAP交換分區(qū)沒有掛載點,類型為SWAP,大小通常是物理內(nèi)存的兩倍掛載點下拉菜單選項(續(xù))分區(qū)類型掛載點說明ext3/bin存放標(biāo)準(zhǔn)系統(tǒng)實用程序ext3/dev存放設(shè)備文件ext3/opt存放可選的第三方安裝軟件ext3/sbin存放標(biāo)準(zhǔn)系統(tǒng)管理文件ext3/tmp用于存放臨時文件的分區(qū)。ext3/var/log系統(tǒng)日志記錄分區(qū)2.2.3網(wǎng)絡(luò)配置和其他事項(9)配置IP地址和子網(wǎng)掩碼若不知道IP地址,也可以在安裝后再進行設(shè)置。(10)配置主機名、網(wǎng)關(guān)、DNS等也可以在安裝后再進行設(shè)置。(11)配置防火墻可設(shè)置是否允許訪問服務(wù):SSH、HTTP、HTTPS、FTP、SMTP。(12)設(shè)置時區(qū)和根口令Root口令是管理員使用的口令長度必須大于6個字符
(13)選擇安裝軟件包
(14)選擇語言支持
(15)開始安裝安裝前會檢查軟件包需要的光盤編號安裝程序開始格式化磁盤、配置文件系統(tǒng)、并將需要安裝的鏡像文件傳輸?shù)接脖P,開始安裝。
(15)安裝文件過程
安裝過程需1小時左右安裝過程中會提示更換安裝盤片號2.2.4完成安裝安裝完成,重新引導(dǎo)計算機,進入FC4登錄設(shè)置程序。安裝完成后FC4首次啟動界面顯示系統(tǒng)設(shè)置選擇顯示器型號設(shè)置系統(tǒng)登錄用戶完成設(shè)置用戶可以登錄LINUX系統(tǒng)用戶登錄、設(shè)置登錄環(huán)境選擇桌面環(huán)境語言[會話]選擇桌面環(huán)境KDE、GNOME
選擇桌面環(huán)境語言桌面環(huán)境及桌面語言環(huán)境選擇后,進入LINUX系統(tǒng)
GNOME桌面2.2.5安裝過程中的故障排除1、無法從光盤中引導(dǎo)設(shè)置BIOS順序,第一驅(qū)動器設(shè)置為從光盤(CD-ROM)引導(dǎo)檢查光盤啟動文件是否完整2、系統(tǒng)顯示了11號錯誤11號錯誤:分段錯誤(segmentationfault),可能是硬件問題或內(nèi)存問題,通常這些錯誤存在了RAM或CPU緩存中,解決辦法:BIOS中關(guān)閉CPU緩存內(nèi)存條調(diào)整插槽重新插好3、分區(qū)表問題確認重要數(shù)據(jù)備份后,重新安裝,刪除所有數(shù)據(jù)4、分區(qū)問題手動安裝分區(qū)時,沒有創(chuàng)建滿足DiskDruid分區(qū)所必須的三個分區(qū)?!?”、”/boot”、SWAP分區(qū)。初學(xué)應(yīng)選擇自動分區(qū),自動分區(qū)通常不會出現(xiàn)這類問題2.2.6卸載FedoraCore4.0卸載FC4,將需要從硬盤的主引導(dǎo)記錄(MBR)中刪除有關(guān)啟動引導(dǎo)GRUB或LILO信息。GRUB功能強大,建議使用。LILO歷史長,功能簡單,現(xiàn)在一般不用。使用DOS、WINDOWS系統(tǒng)的fdisk(不認識FC4的ext文件類型)無法刪除硬盤中的FC4DM、sfdisk(能識別FC4的ext文件類型)FC4安裝盤啟動系統(tǒng),刪除系統(tǒng)分區(qū)。刪除FC4系統(tǒng)時一定要小心,確定選擇的分區(qū)沒有數(shù)據(jù),誤刪除后數(shù)據(jù)很難恢復(fù)。2.3硬盤安裝FC4已知條件FC4安裝盤ISO鏡像文件保存在硬盤上已經(jīng)安裝了WINDOWS2000或WINDOWSXP操作系統(tǒng)WINDOWS系統(tǒng)安裝在C盤上,且第一個主分區(qū)是NTFS格式要求安裝雙系統(tǒng),且通過硬盤安裝。準(zhǔn)備工作用PQMagic或NortonPartitionMagic將NTFS格式進行數(shù)據(jù)無損轉(zhuǎn)換成FAT32格式2.3.1安裝環(huán)境的簡要說明1、關(guān)于系統(tǒng)引導(dǎo)管理器的簡介系統(tǒng)引導(dǎo)管理器,相當(dāng)于一個容器,把計算機中所有系統(tǒng)的引導(dǎo)文件都裝載在管理器中,管理所有系統(tǒng)的引導(dǎo)和啟動。系統(tǒng)引導(dǎo)管理器GRUB是一個多操作系統(tǒng)的引導(dǎo)管理器。啟動引導(dǎo)器GRUB可以有兩種安裝位置:MBR或啟動分區(qū)中的首扇區(qū),通常情況下要安裝到MBR,主機啟動時就可以自動加載啟動引導(dǎo)器,但PC已經(jīng)安裝了WINDOWS系統(tǒng)。所以:安裝LINUX時,將GRUB安裝在LINUX的啟動分區(qū)的第一個扇區(qū)而非硬盤的MBR上。目前常用的引導(dǎo)管理器GRUB是目前所有LINUX系統(tǒng)的默認的引導(dǎo)管理器。功能強大、配置簡單,能引導(dǎo)LINUX,也能引導(dǎo)WINDOWS。WINGRUB是GRUB的WINDOWS版本,用法與WINDOWS的GRUB沒有多大區(qū)別LILOLILO歷史較長,功能簡單,現(xiàn)在一般不用。YABOOT用于POWERPC架構(gòu)的機器上。2、Wingrub引導(dǎo)管理器的安裝雙擊Wingrub的安裝文件,運行安裝程序。設(shè)置Wingrub的安裝路徑設(shè)置安裝路徑后,安裝Wingrub3、安裝GRUB打開Wingrub程序,選擇tools菜單,單擊Installgrub,出現(xiàn)對話框如圖所示直接單擊BootFromMBRPartition,打開下拉菜單,選擇LINUX要安裝的分區(qū),單攻Install即可進行安裝GRUB。下拉列表框有(hd0,0)或(hd0,1),則選(hd0,0)若只有(hd0,1),說明第一個分區(qū)是NTFS格式,需要轉(zhuǎn)換為FAT32。若什么都沒有,則用下面的方法配置boot.ini文件選擇SystemDrive,選C,選BootFromBOOT.INI,輸入標(biāo)題mygrub,TimeOut選30秒。單擊Install,grub就安裝好了。Grub的配置文件C:\boot\grub\menu.lst,或者C:\grub\menu.lst
兩者之間的區(qū)別BootFromMBRPartition這種方法是開機就能看到menu.lstSystemDrive這種方法是開機時要按一下mygrub,然后,才能看到menu.lst的內(nèi)容Menu.lst就是多操作系統(tǒng)的菜單2.3.2配置啟動文件運行wingrub,選擇tools菜單中的PartitionList,查看分區(qū)列表信息。配置啟動文件過程1、找一個FAT32分區(qū),沒有的話要把NTFS分區(qū)進行轉(zhuǎn)換。把下載的ISO光盤鏡像文件(共4張)放到該分區(qū)下。2、在該分區(qū)下建立一個linux目錄,從第1張ISO文件isolinux中抽取vmlinuz和initrd.img兩個文件,放到linux目錄中。需要注意的是:僅此兩個文件,放入其他文件,安裝過程中可能會退出。抽取文件時用WinRAR軟件,建立linux目錄、輸入menu.lst等必須全部是小寫,且是半角英文。否則安裝過程中會出現(xiàn)找不到文件的情況發(fā)生。3、編輯menu.lstmenu.lst的格式Timeout10開機等待進入系統(tǒng)的時間Title后面指示開機顯示的菜單內(nèi)容Root后面指示vmlinuz和initrd.img文件所在的分區(qū)Kernel后面指示計算機使用哪里的內(nèi)核來啟動Initrd后面指示安裝文件所在分區(qū)和目錄。#是注釋
2.3.3安裝FedoraCore配置啟動文件編輯好后,重新啟動計算機,啟動引導(dǎo)菜單,選擇FedoraCore的安裝啟動選項進行安裝。過程與前面介紹的基本相同。注意選擇手動分區(qū),選自動分區(qū)會刪除WINDOWSGRUB的安裝配置引導(dǎo)分區(qū)安裝設(shè)置MBR初學(xué)第1個扇區(qū)需要修改啟動文件boot.ini參見P38~392.4系統(tǒng)的基本操作2.4.1引導(dǎo)Linux系統(tǒng)2.4系統(tǒng)的基本操作(續(xù))1、BIOS啟動調(diào)用BIOS直接把LILO代碼調(diào)入內(nèi)存,跳轉(zhuǎn)執(zhí)行LILO即BIOS調(diào)入Windows/DOS下MBR代碼,由MBR代碼調(diào)入LILO代碼,對于Linux,必須保證KERNEL放在1024柱面之前,只有KERNEL啟動后,才有讀取1024柱面以后的數(shù)據(jù)2、內(nèi)核部分LILO引導(dǎo)部分內(nèi)核,內(nèi)核解壓縮并裝入內(nèi)存后,開始初始化硬件和設(shè)備驅(qū)動程序。最后,內(nèi)核啟動init程序,形成系統(tǒng)的第一個進程。2.4系統(tǒng)的基本操作(續(xù))3、從KERNEL到loginpromptKERNEL啟動后生成第一個進程init。Init作用是根據(jù)/etc/inittab來執(zhí)行相應(yīng)的腳本,進行系統(tǒng)初始化。如設(shè)置鍵盤、字體、裝載模塊,設(shè)置網(wǎng)絡(luò)等。4、INIT程序部分Init程序保存在/sbin或/bin下,負責(zé)系統(tǒng)啟動時運行一系列程序和腳本。Init進程是系統(tǒng)的第0號進程。5、/etc/rc.d/rc.sysinit及/etc/rc.d/rc完成各運行模式的系統(tǒng)初始化工作6、/sbin/mingettyInit在等待/etc/rc.d/rc執(zhí)行完畢后,在指定的各個虛擬終端上運行/sbin/mingetty,等待用戶登錄,LINUX啟動結(jié)束運行Init進程2.4.2登錄FC4系統(tǒng)啟動細節(jié)2.4.3關(guān)閉FC4系統(tǒng)注銷對話框3.1Linux系統(tǒng)內(nèi)核簡述內(nèi)核是LINUX的心臟,是在系統(tǒng)引導(dǎo)時所裝入的程序,用于提供用戶程序和硬件之間的接口,執(zhí)行發(fā)生在多任務(wù)系統(tǒng)中的實際任務(wù)轉(zhuǎn)換,處理讀寫磁盤的需求,處理網(wǎng)絡(luò)接口,以及管理內(nèi)存等。LINUX內(nèi)核精短、穩(wěn)定性高、可擴展性好、硬件需求低、免費、網(wǎng)絡(luò)功能豐富且適用于多種CPU。主要用作嵌入式設(shè)備、專業(yè)的路由器、防火墻、高端服務(wù)器的操作系統(tǒng)?,F(xiàn)在也有很多PC的桌面系統(tǒng)也使用LINUX。3.1.1Linux內(nèi)核的版本內(nèi)核源代碼樹以linux-X.X.XX.tar.gz文件形式出現(xiàn),其中,X.X.XX為內(nèi)核的版本號。內(nèi)核版本號的形式major.minor.patchlevel主版本號.次版本號.當(dāng)前內(nèi)核版本的修訂次數(shù)如:RedHatLinux8.0的內(nèi)核版本為kernel2.4.18-14,表示對內(nèi)核2.4版本的第18次修改,修改了14處。再如:FedoraCore
6.0的內(nèi)核版本為Kernel2.6.18-19,表示對內(nèi)核2.6版本的第18次修改,修改了19處。版本號說明次版本號是偶數(shù),表示內(nèi)核為穩(wěn)定發(fā)布版本,是奇數(shù),表示為不穩(wěn)定的開發(fā)版本。顯示內(nèi)核信息#uname–r內(nèi)核版本號#uname–s內(nèi)核名稱#uname–v內(nèi)核版本發(fā)布時間#uname–a所有信息3.1.2什么是內(nèi)核內(nèi)核是操作系統(tǒng)(OS)的內(nèi)在核心程序,提供了對計算機設(shè)備的管理調(diào)用功能。用戶界面是OS的外在表象。OS代碼分成兩部分內(nèi)核空間(內(nèi)核所在的地址空間)外部空間(外部管理程序與用戶進程所占的地址空間)外部管理程序是內(nèi)核以外的統(tǒng)稱,是對外圍設(shè)備的管理和界面操作。內(nèi)核Systemcall外部程序3.1.2什么是內(nèi)核(續(xù))傳統(tǒng)的UNIX的單一內(nèi)核(monolithickernel)結(jié)構(gòu)所有OS的相關(guān)功能都被封裝在kernel中,與外部程序處于不同的內(nèi)存地址空間。通過各種方式防止外部程序直接訪問內(nèi)核結(jié)構(gòu)。內(nèi)核代碼由C語言編寫,所有內(nèi)核代碼都是被靜態(tài)編譯聯(lián)入。3.1.2什么是內(nèi)核(續(xù))目前流行的微內(nèi)核(microkernel)結(jié)構(gòu)OS內(nèi)核只提供最基本的、最核心的部分操作(如:創(chuàng)建和刪除任務(wù)、內(nèi)存管理、中斷管理等)其他管理程序(如:文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議棧等)盡可能放在內(nèi)核之外,這些外部管理程序獨立運行,并為外部用戶程序提供OS服務(wù),服務(wù)之間使用進程間通信機制(IPC)進行交互,只有在需要內(nèi)核的協(xié)助時,才通過一套接口對內(nèi)核發(fā)出調(diào)用請求。微內(nèi)核結(jié)構(gòu)優(yōu)缺點優(yōu)點:OS具有良好的靈活性、內(nèi)部結(jié)構(gòu)簡單清晰、程序代碼維護方便。缺點:內(nèi)核與獨立運行的外部管理程序不能很好的優(yōu)化整體性能。3.1.2什么是內(nèi)核(續(xù))Linux內(nèi)核結(jié)構(gòu)的特點使用單一內(nèi)核結(jié)構(gòu)與傳統(tǒng)的UNIX的單一內(nèi)核結(jié)構(gòu)不同的是,LINUX可以動態(tài)裝入和卸載內(nèi)核中的部分代碼。LINUX將這些代碼段稱為模塊(module),并給予強有力的支持,可根據(jù)需要自動裝入和卸載。內(nèi)核為非搶占式的,即不能通過改變優(yōu)先權(quán)來影響內(nèi)核當(dāng)前的執(zhí)行流程。不是一個“硬”實時OS。不支持用戶態(tài)線程,LINUX通過LWP(lightweightthread)機制來實現(xiàn)用戶態(tài)線程的概念,通過系統(tǒng)調(diào)用函數(shù)clone()創(chuàng)建新的線程。3.1.3內(nèi)核的基本概念1、進程和任務(wù)從運行在LINUX下的進程來看,LINUX的內(nèi)核是一個服務(wù)的提供者。單獨的進程互相并行獨立地存在,且不能相互直接影響。每個進程特有的內(nèi)存區(qū)域被保護起來,以防止其他進程修改。進程的工作原理進程就是任務(wù)(觀察角度不同)一個進程的運行狀態(tài)圖進程的運行狀態(tài)運行狀態(tài)任務(wù)是激活的,只能通過中斷或者系統(tǒng)調(diào)用退出。中斷例程狀態(tài)當(dāng)硬件發(fā)出異常情況時(如:通過鍵盤鍵入新的字符),中斷例程處于活動狀態(tài)。系統(tǒng)調(diào)用狀態(tài)由軟件中斷啟動。等待狀態(tài)該狀態(tài)下的進程在等待一個外部事件,當(dāng)外部事件出現(xiàn)后,才繼續(xù)它的工作從系統(tǒng)調(diào)用返回狀態(tài)該狀態(tài)在每次系統(tǒng)調(diào)用和某些中斷調(diào)用之后被自動采用。就緒狀態(tài)進程競爭CPU的處理權(quán)進程和線程進程進程是正在執(zhí)行的程序。程序是靜態(tài)的。在較高的層次上,進程是一個抽象概念,是描述并發(fā)運行的一種模型。在較低的層次上,包括進程映像的結(jié)構(gòu)、執(zhí)行的細節(jié)和在進程間切換處理機的方法。只要在計算機上運行一個程序,相應(yīng)的一個進程就誕生了,而且它伴隨著整個操作過程,直到程序終止。進程的生命周期進程有三種狀態(tài):就緒、執(zhí)行、等待。進程和線程(續(xù))線程線程是在共享內(nèi)存空間中并發(fā)的多道執(zhí)行路徑,它們共享一個進程的資源,工作在相同的內(nèi)存上。在兩個普通進程(非線程)間進行切換時,內(nèi)核準(zhǔn)備從一個進程的上下文切換到另一個進程的上下文要花費很大的開銷,切換的主要任務(wù)是保存老進程CPU狀態(tài),并加載新進程的保存狀態(tài),用新進程的內(nèi)存映像替換老進程的內(nèi)存映像。線程允許進程在幾個正在運行的任務(wù)之間進行切換,而不必執(zhí)行前面提到的完整的上下文。進程和線程(續(xù))超線程(Hyper-Threading,HT)IntelXeon處理器引入的一種新技術(shù)。對于OS來說,HT使單個CPU可以象兩個邏輯CPU那樣運行。使用了該技術(shù),由于每個邏輯CPU可以并行執(zhí)行線程,所以它允許物理CPU同時執(zhí)行多個線程,顯著提高性能。
LINUX沒有對進程和線程進行區(qū)分,而是以任務(wù)來代替。但LINUX內(nèi)核從2.4版本以后,Linux對稱多處理(SMP)內(nèi)核都支持超線程。多處理器系統(tǒng)LINUX內(nèi)核從2.0版本以后,Linux支持對稱多處理(SymmetricMultiprocessor,SMP)現(xiàn)在多個CPU可以同時處理內(nèi)核代碼3.2重要的數(shù)據(jù)結(jié)構(gòu)與模塊相關(guān)的主要數(shù)據(jù)結(jié)構(gòu)modulesymbol_tablemodule用于記錄模塊的信息和相互調(diào)用關(guān)系symbol_table用于將模塊動態(tài)鏈接到內(nèi)核,主要記錄模塊提供的函數(shù)和變量、模塊的引用信息。3.2.1內(nèi)核結(jié)構(gòu)完整的OS硬件、OS內(nèi)核、OS服務(wù)、用戶應(yīng)用程序LINUX內(nèi)核源程序放置在/usr/src/linux目錄下Arch子目錄包括了所有和體系結(jié)構(gòu)相關(guān)的內(nèi)核代碼,每個子目錄都代表一種體系結(jié)構(gòu)。Include子目錄包括編譯內(nèi)核所需要的大部分頭文件與平臺無關(guān)的頭文件include/linux目錄與IntelCPU相關(guān)的頭文件include/asm-i386目錄有關(guān)SCSI設(shè)備的頭文件include/scsi目錄Init包含內(nèi)核的初始化代碼(不是系統(tǒng)引導(dǎo)代碼),包含main.c和version.c兩個文件。這是研究內(nèi)核如何工作的好的起點。3.2.1內(nèi)核結(jié)構(gòu)(續(xù))LINUX內(nèi)核源程序放置在/usr/src/linux目錄下Mm子目錄包括所有獨立于CPU體系結(jié)構(gòu)的內(nèi)存管理代碼。Kernel主要的內(nèi)核代碼Drivers放置系統(tǒng)所有設(shè)備的驅(qū)動程序,每種驅(qū)動程序占用一個代碼Scripts包含用于配置內(nèi)核的腳本文件每個目錄下都有一個.depend文件和makefile文件,是編譯時使用的輔助文件。仔細閱讀這兩個文件,對搞清楚各個文件之間的聯(lián)系和依托關(guān)系很有幫助。3.2.2Linux內(nèi)核組成1、進程調(diào)度(SCHED)SCHED控制進程對CPU的訪問2、內(nèi)存管理(MM)MM允許多個進程安全地共享主內(nèi)存區(qū)域,支持虛擬內(nèi)存管理。3、虛擬文件系統(tǒng)(VFS,VirtualFileSystem)VFS隱藏了各種硬件的細節(jié),為所有設(shè)備提供了統(tǒng)一的接口。VFS分兩部分:邏輯文件系統(tǒng)(ext2、ext3、FAT等)設(shè)備驅(qū)動程序(設(shè)備驅(qū)動模塊)4、網(wǎng)絡(luò)接口(NET)NET提供了對各種網(wǎng)絡(luò)標(biāo)準(zhǔn)存取和各種網(wǎng)絡(luò)硬件的支持。分為網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)驅(qū)動程序。5、進程間通信(IPC)IPC支持進程間的各種通信機制3.2.2Linux內(nèi)核組成(續(xù))6、各個子系統(tǒng)之間的依賴關(guān)系內(nèi)存管理與進程調(diào)度相互依賴進程間通信與內(nèi)存管理虛擬文件系統(tǒng)與網(wǎng)絡(luò)接口內(nèi)存管理與虛擬文件系統(tǒng)各種過程與系統(tǒng)調(diào)用7、系統(tǒng)數(shù)據(jù)結(jié)構(gòu)(使用頻率高的)Task_structLinux內(nèi)核利用一個數(shù)據(jù)結(jié)構(gòu)(Task_struct)代表一個進程,代表進程的數(shù)據(jù)結(jié)構(gòu)的指針形成一個task數(shù)組。數(shù)組默認大小是512,表明linux中同時運行的最多進程數(shù)。Mm_struct每個進程的虛擬內(nèi)存由一個mm_struct結(jié)構(gòu)來代表。InodeVFS中的文件、目錄均由對應(yīng)的索引節(jié)點(inode)代表。3.2.2Linux內(nèi)核組成(續(xù))8、linux的具體結(jié)構(gòu)是指系統(tǒng)的實現(xiàn)結(jié)構(gòu)9、linux內(nèi)核源代碼放置在/usr/src/linux目錄下對內(nèi)核的修改是用補丁文件的方式發(fā)布的,patch實用程序用來對內(nèi)核源文件進行一系列修改。例:現(xiàn)有內(nèi)核2.2.xx,想升級到2.4.18。則需要先獲得2.4.18的補丁文件,應(yīng)用patch來修改2.2.xx文件。#cd/usr/src/linux#patch–pl<patch-2.4.183.2.2Linux內(nèi)核組成(續(xù))10、linux內(nèi)核源代碼的結(jié)構(gòu)位于/usr/src/linux目錄下/include包含了建立內(nèi)核代碼時所需的大部分頭文件。/init包含了內(nèi)核的初始化代碼,是內(nèi)核工作的起點。/arch包含了所有硬件結(jié)構(gòu)相關(guān)的內(nèi)核代碼。/drivers包含了系統(tǒng)所有設(shè)備的驅(qū)動程序。/fs包含了所有文件系統(tǒng)代碼,ext3、fat等。/net包含了內(nèi)核的聯(lián)網(wǎng)代碼。/mm包含了所有內(nèi)存管理代碼。/ipc包含了進程間相互通信的代碼。/kernel包含了主內(nèi)核代碼。3.2.2Linux內(nèi)核組成(續(xù))11、閱讀源代碼在基于intel的系統(tǒng)上,當(dāng)loadlin.exe或者lilo把內(nèi)核裝入到內(nèi)存并把控制權(quán)傳遞給內(nèi)核時,內(nèi)核開始啟動。內(nèi)存管理位置:/mm,arch/*/mm文件:/mm/memory.c,/mm/filemap.c,/mm/buffer.c,/mm/swap_state.c,/mm/swapfile.c內(nèi)核位置:arch/*/kernel,include/linux文件:sched.c,fork.cinterrupt.h,sched.hPCI偽驅(qū)動:drivers/pci/pci.c,定義:include/linux/pci.hIPCInclude/linux/ipc.h,ipc/msg.c,ipc/shm.c,ipc/sem.c,ipc/pipe.c中斷處理代碼:arch/i386/kernel/irq.c定義:include/asm-i386/irq.h3.2.3動態(tài)內(nèi)存管理以頁面為基礎(chǔ)管理內(nèi)存,每個頁面212字節(jié)請求空閑頁面structpage*_alloc_pages(intgfp_mask,unsignedlongorder);unsignedlong_get_free_pages(intgfp_mask,unsignedlongorder);/*order描述要保留的頁面數(shù)*/釋放已有的頁面void_free_pages(structpage*page,unsignedlongorder);noidfree_pages(unsignedlongaddr,unsignedlongorder);程序設(shè)計時通過malloc()、free()函數(shù)管理內(nèi)存內(nèi)核void*kmalloc(size_tsize,intflags);voidkfree(constvoid*objp)3.3算法簡介算法是在有限步驟內(nèi)求解某一問題時所使用的一組定義明確的規(guī)則。解題過程中,無論是思路還是編寫程序,都是在實施某種算法。算法應(yīng)具有的特征:有窮性:一個算法必須保證執(zhí)行有限步之后結(jié)束。確切性:算法的每一步驟必須有確切的定義。輸入:有0個或多個輸入條件。輸出:對輸入進行加工后的結(jié)果。可行性:原則上能夠精確地運行。3.3.1信號信號的種類數(shù)目與具體的平臺有關(guān)LINUX內(nèi)核定義的常見信號值C語言宏名用途1SIGHUP從終端上發(fā)出的結(jié)束信號2SIGINT來自鍵盤的中斷信號(Ctrl+C)3SIGQUIT來自鍵盤的退出信號(Ctrl+\)8SIGFPE浮點異常信號(例如浮點運算溢出)9SIGKILL該信號結(jié)束接收信號的進程14SIGALRM進程的定時器到期時發(fā)送該信號15SIGTERMkill命令發(fā)出的信號17SIGCHLD標(biāo)識子進程停止或結(jié)束的信號19SIGSTOP鍵盤(Ctrl+Z)或調(diào)試程序的停止執(zhí)行信號3.3.1信號(續(xù))進程可以選擇對某種信號所采取的特定操作忽略信號:進程可忽略產(chǎn)生的信號,但SIGKILL和SIGSTOP。阻塞信號:進程可選擇阻塞某些信號。該信號通過進程處理由內(nèi)核進行默認處理3.3.2Linux系統(tǒng)的中斷內(nèi)核中的中斷硬件中斷軟件中斷(異常)1、中斷的分類物理硬件設(shè)備產(chǎn)生的中斷異常陷阱系統(tǒng)調(diào)用int802、中斷的產(chǎn)生中斷事件中斷處理程序查詢狀態(tài)寄存器,針對不同的事件進行不同的處理。3、IRQ(IRQ1~IRQ15)PC的中斷線使用前必須進行申請,申請之前輪詢看哪條中斷線有空閑。IRQ是非常寶貴的資源,占用方式有兩種:獨占、共享3.3.3定時器中斷所有OS都需要測量時間,并保持系統(tǒng)時間。系統(tǒng)時間是通過安排硬件以指定的間隔觸發(fā)中斷來實現(xiàn)的LINUX的系統(tǒng)時間以系統(tǒng)開始工作時的滴答聲測量。一個滴答聲是10ms,即定時器中斷每秒將觸發(fā)100次。定時器時鐘消耗CPU時間LINUX支持間隔定時器(與進程相關(guān))定時器到期時,會向定時器的所屬進程發(fā)送信號。Real定時器實時更新Virtual只在進程運行時更新Profile內(nèi)核代表進程運行時更新3.3.4調(diào)度程序調(diào)度程序負責(zé)各個進程分配處理器(占用處理器時間),有以下幾項內(nèi)容:各種調(diào)度類各種調(diào)度函數(shù)實時優(yōu)先級調(diào)度算法詳細內(nèi)容參見P59頁,自己看。不作要求。3.4Linux操作系統(tǒng)的進程進程(OS進行資源分配的單位)系統(tǒng)進程:完成OS的各種功能的進程,是運行狀態(tài)下的OS本身。用戶進程:用戶啟動的進程3.4.1進程以及進程間通信機制程序是靜態(tài)的指令和數(shù)據(jù)進程是運行中的、動態(tài)的程序進程在運行過程中要使用許多計算機資源(CPU、RAM、文件、寄存器、IRQ等)LINUX是多任務(wù)OS,可能同時會有多個進程使用同一資源
進程和資源管理。進程間的切換由調(diào)度程序完成。每個進程都有自己的虛擬地址空間。如何避免進程之間的相互影響,或者希望多個進程完成同一個任務(wù),LINUX提供許多機制,利用這些機制,進程之間可以通信共同完成某項任務(wù)。IPC(進程間通信)常用的兩種機制信號管道3.4.2Linux進程Linux內(nèi)核利用一個數(shù)據(jù)結(jié)構(gòu)(task_struct)代表一個進程。代表進程的數(shù)據(jù)結(jié)構(gòu)指針形成一個task數(shù)組。
task_struct結(jié)構(gòu)1、標(biāo)識號:進程標(biāo)識號惟一識別一個進程2、狀態(tài)信息:運行、停止、等待、僵死3、調(diào)度信息:用于調(diào)度程序完成進程間的切換4、有關(guān)進程間通信的信息:實現(xiàn)進程間通信5、進程鏈信息:父進程、子進程,所有進程的根就是init進程。6、時間和定時器:記錄進程占用CPU的時間信息及到時告警。7、文件系統(tǒng)信息:進程打開系統(tǒng)中的文件的描述信息8、和進程相關(guān)的上下文信息:進程可被看作是系統(tǒng)狀態(tài)的集合。3.4.3關(guān)于Linux線程進程進程是運行中的程序,其構(gòu)成要素有:代碼、數(shù)據(jù)、堆棧、文件、I/O和虛擬內(nèi)存信息。系統(tǒng)對進程的處理要花費更多的資源開銷。線程(也稱輕量級進程)進程中指令的不同執(zhí)行路線。例:EXCEL、WORD編輯過程中,主線程處理用于錄入、編輯等工作,其他并行運行的線程必須時可在后臺保存用戶的文檔。利用線程可共享進程的基本要素來減輕系統(tǒng)開支。3.4.3關(guān)于Linux線程(續(xù))線程可分:用戶線程和內(nèi)核線程用戶線程不需要內(nèi)核支持,因而不占用內(nèi)核開銷。但當(dāng)一個線程因I/O處于等待狀態(tài)時,整個進程就會被調(diào)度程序切換為等待狀態(tài),其他線程得不到運行的機會。內(nèi)核線程內(nèi)核線程需要內(nèi)核參與,由內(nèi)核完成調(diào)度,內(nèi)核線程用戶線程的上述限制,但卻占用更多的系統(tǒng)開支。3.4.3關(guān)于Linux線程(續(xù))Linux線程Linux支持內(nèi)核空間的多線程Internet上有用戶線程庫可供下載Linux線程、內(nèi)核線程的實現(xiàn)與WINDOWS等OS的內(nèi)核線程實現(xiàn)不同,WINDOWS等OS是單獨定義線程,增加了內(nèi)核和調(diào)度程序的復(fù)雜性。Linux將線程定義為“執(zhí)行上下文”,實際上只是進程的另外一個“執(zhí)行上下文”。所以在Linux中,內(nèi)核只需區(qū)分進程,只需一個進程/線程數(shù)組。調(diào)度程序仍然是進程的調(diào)度程序,Linux的clone()系統(tǒng)調(diào)用可用來建立新的線程。3.4.4會話和進程組Linux是多用戶系統(tǒng),同一時刻系統(tǒng)中運行有屬于不同用戶的多個進程。如何管理呢?Linux內(nèi)核通過維護會話和進程組而管理多用戶進程。會話用戶從終端登錄到Linux系統(tǒng),代表一個會話開始。進程組為完成某個任務(wù),把相關(guān)的進程放在一個進程組里。每個進程是一個進程組的成員,每個進程組又是某個會話的成員。會話與控制終端成一一對應(yīng)關(guān)系同一會話中的進程通過該會話的領(lǐng)頭進程和一個終端相連。這個終端就是控制終端,一個會話只能有一個控制終端,一個終端只能控制一個會話。同一會話中只能有一個前臺進程組。其他均是后臺進程,可能屬于不同的后臺進程組。3.4.5進程調(diào)度進程的運行模式有兩種調(diào)度程序LINUX中無法停止當(dāng)前正在運行的進程,只能被動地由調(diào)度程序?qū)⑵溥x擇為運行進程,或切換為等待狀態(tài)。搶先式的調(diào)度方法,每個進程最多運行200ms(時間片)。切換進程的選擇,依據(jù)一定的優(yōu)先級來選擇可運行進程??蛇\行進程(在等待CPU資源的進程)不可運行進程(在等待其他資源的進程)進程運行模式用戶模式內(nèi)核模式(系統(tǒng)模式)由調(diào)度程序通過系統(tǒng)調(diào)用來切換{3.4.5進程調(diào)度(續(xù))進程切換進程1:PID1Task_struct(CPU、寄存器狀態(tài)、相關(guān)指令的執(zhí)行上下文)進程2:PID2Task_struct(CPU、寄存器狀態(tài)、相關(guān)指令的執(zhí)行上下文)調(diào)度程序切換進程保存PID1的狀態(tài)信息恢復(fù)PID1的狀態(tài)信息3.4.5進程調(diào)度(續(xù))進程有兩種類型一般進程(優(yōu)先級低)實時進程(優(yōu)先級高)Priority(優(yōu)先級)系統(tǒng)為進程設(shè)定的優(yōu)先級,實際上是允許進程運行的時間值,從進程開始運行時算起。Counter(計數(shù)器)進程運行的時間值,開始運行時設(shè)置為priority(200ms),每次時鐘中斷該值減1,Rt_priority(實時優(yōu)先級)系統(tǒng)為進程設(shè)定的相對優(yōu)先級實時進程的調(diào)度策略循環(huán)賽(roundrobin)先進先出(firstinfirstout)Linux內(nèi)核對SMP的支持每個處理器都在運行著進程,當(dāng)運行在某個處理器上的進程耗盡其時間片或該進程處于等待狀態(tài)時,該處理器將單獨運行調(diào)度程序來選擇新的進程。每個處理器有個自己的空閑進程,都有自己的當(dāng)前進程。Task_struct結(jié)構(gòu)包含:Processor字段,當(dāng)前運行該進程的處理器編號Last_processor字段,上次運行該進程的處理器編號Processor_musk字段,該字段第N位為1,表示該進程可以運行在第幾個處理器上。利用該字段可以將某個進程限制在單個處理器上運行。3.4.6進程的創(chuàng)建初始進程 (P65)系統(tǒng)啟動時,啟動進程運行在內(nèi)核模式,且只有這一個進程,即初始進程,系統(tǒng)初始化結(jié)束后,初始進程啟動一個內(nèi)核線程(即init),而自己則處于空循環(huán)狀態(tài),當(dāng)系統(tǒng)中沒有可運行進程時,調(diào)度程序?qū)⑦\行這一空閑進程??臻e進程的task_struct是惟一的一個非動態(tài)分配的任務(wù)結(jié)構(gòu)。該結(jié)構(gòu)在內(nèi)核編譯時分配,稱為init_task。Init內(nèi)核線程/進程的標(biāo)識號為1,是系統(tǒng)的第1個真正進程,負責(zé)初始的系統(tǒng)設(shè)置工作,例如打開控制臺、掛裝文件系統(tǒng)等。接下來,init進程執(zhí)行系統(tǒng)的初始化程序(可能是/etc/init、/bin/init或/sbin/init)。3.4.6進程的創(chuàng)建(續(xù))初始進程 init進程將/etc/inittab當(dāng)作腳本文件運行以建立系統(tǒng)中新的進程,這些新的進程又可以建立新的進程。例如,getty進程可建立login進程來接受用戶的登錄請求。進程的創(chuàng)建新的進程通過“克隆”舊的程序(當(dāng)前程序)而建立Fork和clone系統(tǒng)調(diào)用可用來建立新的進程?!翱寺 边M程時,允許兩個進程共享相同的資源(文件、信號處理程序、虛擬內(nèi)存等)3.4.7管道管道最常用的IPC機制,當(dāng)輸入輸出數(shù)據(jù)量很大時,效率特別高。利用管道,一個進程的輸出可直接成為另一個進程的輸入,無需通過文件傳遞。將一個命令的輸出傳送給另一個命令,作為另一個命令的輸入。相當(dāng)于排球里的二傳手功能。管道實現(xiàn)通過將兩個file結(jié)構(gòu)指向同一個臨時的VFS索引節(jié)點,而兩個VFS索引節(jié)點又指向同一個物理頁而實現(xiàn)管道。管道格式:命令1|命令2|……|命令n例如:ls–l/etc|more3.5升級內(nèi)核Linux內(nèi)核源代碼公開、漏洞修補、優(yōu)秀代碼加入、最新軟件技術(shù)的加入,都會導(dǎo)致內(nèi)核的快速升級。3.5.1為什么要升級內(nèi)核內(nèi)核承擔(dān)LINUX操作系統(tǒng)最核心的任務(wù),是其他程序和硬件運行過程中的仲裁者。內(nèi)核要管理所有進程的內(nèi)存,保證進程都能平等地得到CPU的時隙。更新的內(nèi)核會支持更多的硬件,具備更好的進程管理能力,運行速度更快且更穩(wěn)定。且能修復(fù)舊版本中的漏洞。經(jīng)常升級內(nèi)核是LINUX用戶需要掌握的操作內(nèi)容。3.5.2內(nèi)核的配置與編譯LINUX支持的CPUX86、ARM、DECAlpha、SUNSparc、M68000、MIPS、PowerPC安裝過程中能自動識別這些CPU將獲得的內(nèi)核放置在正確位置(x86型)/usr/src/linux/arch/i386/boot目錄檢查源代碼#cd/usr/src/linux;makemrproper該命令確保源代碼目錄下沒有不正確的.o文件以及文件的互相依賴。配置內(nèi)核配置命令(任選一種)#makeconfig(基于文本的最傳統(tǒng)的配置界面)#makemenuconfig(基于文本選單的配置界面)#makexconfig(基于圖形窗口模式的配置界面)#makeoldconfig(只想在原來內(nèi)核配置的基礎(chǔ)上上修改一些小地方,則用這個命令會省去不少麻煩)配置內(nèi)核(續(xù))配置選項大部分可使用默認值,只有小部分需要根據(jù)用戶不同的需要進行選擇。選擇相應(yīng)的配置Y表示將該功能編譯進內(nèi)核N表示不將該功能編譯進內(nèi)核M將該功能編譯成可以在需要時動態(tài)插入到內(nèi)核中的模塊將與內(nèi)核其他部分關(guān)系較遠且不經(jīng)常使用的部分功能代碼編譯成為可加載模塊有利于減少內(nèi)核的長度、減少內(nèi)核消耗的內(nèi)存。內(nèi)核源代碼文件的檢驗與編譯對內(nèi)核源代碼文件的依賴性和完整性進行檢驗后進行編譯#makedep(確保關(guān)鍵文件在正確的位置)#makeclean(確保所有有關(guān)文件都處于最新版本狀態(tài))#makezImage(編譯壓縮形式的內(nèi)核)#makebzImage(編譯內(nèi)核)若選擇了可加載模塊,則編譯完內(nèi)核后,要對選擇的模塊進行編譯#makemodule(編譯選擇的模塊)#makemodule-install(將編譯后的模塊轉(zhuǎn)移到系統(tǒng)標(biāo)準(zhǔn)位置)模塊的標(biāo)準(zhǔn)位置/lib/modules/x.y.z(版本號)#Ismod列出內(nèi)核的當(dāng)前模塊4.1XWindow簡介XWindow簡稱X系統(tǒng),是一個可移植的GUI(圖形用戶接口)軟件設(shè)計標(biāo)準(zhǔn),不屬于OS,只是一個應(yīng)用程序。結(jié)構(gòu)與設(shè)備無關(guān),可移植性強。X系統(tǒng)的源代碼完全公開。事實上的工業(yè)軟件標(biāo)準(zhǔn)。適用于所有系統(tǒng)UNIX、WINDOWSXP、WINDOWSNT等。4.1XWindow簡介(續(xù))4.1.1X系統(tǒng)的產(chǎn)生1984年,在美國麻省理工學(xué)院(MIT)計算機科學(xué)研究室里開始研發(fā)。MIT的BobScheifler研究分布式系統(tǒng)DEC公司的JimGettys在MIT做Athena計劃他們兩個都需要一個視窗系統(tǒng),從斯坦福大學(xué)搞了一套W的實驗性視窗系統(tǒng)。在W的基礎(chǔ)上開發(fā),當(dāng)與W有明顯區(qū)別時,他們稱新系統(tǒng)叫X系統(tǒng)。嚴(yán)格地說,X系統(tǒng)并不是一個軟件,而是一個協(xié)議,定義了一個圖形用戶界面系統(tǒng)所必須具備的功能。4.1XWindow簡介(續(xù))4.1.2X系統(tǒng)的特點X系統(tǒng)具有網(wǎng)絡(luò)透明性通過網(wǎng)絡(luò),應(yīng)用程序在其他PC上輸出顯示就和在自己的PC上一樣容易,其通信架構(gòu)與網(wǎng)絡(luò)上的另一端PC所用的語言無關(guān)??芍С侄喾N不同風(fēng)格的使用界面X系統(tǒng)不是計算機作業(yè)系統(tǒng)的一部分X系統(tǒng)只是個應(yīng)用程序,很容易在不同的系統(tǒng)上進行安裝。4.1.3XWindow與MicrosoftWindows1、相同點都提供圖形界面都可同時處理多個窗口程序都允許通過鍵盤和簡單字符以外的其他方式完成信息交互。用戶可以利用鍵盤和鼠標(biāo)建立級聯(lián)菜單、窗體、窗口和對話框的界面。4.1.3XWindow與MicrosoftWindows(續(xù))MicrosoftWindows是完整的OS,具有從內(nèi)核到窗口環(huán)境的一切元素XWindow只是OS的一個窗口環(huán)境2、區(qū)別靈活的界面XWindow重要的概念:窗口與界面的分離完整的GUI界面由XServer和窗口管理器組成XServer建立圖形顯示、顯示窗口和鼠標(biāo)跟蹤的運動、按鍵與多個窗口。窗口管理器提供菜單、窗口邊框和移動、切換、最大化、最小化窗口等機制。界面配置的微調(diào)控制(背景、窗口顏色等)采用客戶機/服務(wù)器技術(shù)在機器上運行并與顯示器、顯卡直接交互作用的是XWindow服務(wù)器。在XWindow中的程序或應(yīng)用程序稱為客戶程序。如終端、圖形界面、管理屏幕的顯示方式。4.2XWindow系統(tǒng)4.2.1XWindow的基本組成Server(服務(wù)器)控制顯示器和輸入裝置(鍵盤、鼠標(biāo)等)的軟件,用于建立視窗、在視窗中顯示圖形影像和文字、回應(yīng)客戶機程序的需求。Client(客戶機)借助Server在指定的視窗中完成特定的操作,如編輯文字、畫圖、計算器的計算等。Communicationchannel(通信通道)客戶機和服務(wù)器用來作為彼此交互的通信通道客戶機和服務(wù)器的通信分類客戶機和服務(wù)器在同一計算機上執(zhí)行彼此均可使用機器上任何可用的方法做交互處理通信IPC(inter-processcommunication)客戶機在一臺機器上執(zhí)行、顯示器和服務(wù)器在另一臺機器上執(zhí)行雙方通信必須通過網(wǎng)絡(luò)協(xié)議才可以進行。XWindow解析服務(wù)資源為X服務(wù)器的顯示處理能力。X客戶程序要顯示圖形圖象,但不能直接控制顯示硬件,只能使用由用戶面前的X服務(wù)器提供的顯示資源。同樣X客戶也不能接受用戶輸入,也只能使用X服務(wù)器控制的鍵盤或鼠標(biāo)資源來接受輸入。X服務(wù)器是硬件的控制者,X客戶只是單純的執(zhí)行程序,只能使用X服務(wù)器提供的服務(wù)進行輸入輸出。XWindow解析(續(xù))X服務(wù)器(XServer)是一個管理顯示的進程,必須運行在一個有圖形顯示能力的計算機上。理論上,一臺計算機上可以同時運行多個X服務(wù)器,每個X服務(wù)器能管理多個與之相連的顯示設(shè)備。X客戶程序(XClient)是一個使用X服務(wù)器顯示其數(shù)據(jù)的程序,它可以運行在與X服務(wù)器不同的計算機上。X協(xié)議(Xprotocol)是X客戶程序和服務(wù)器進行通信的一套協(xié)議,X協(xié)議支持網(wǎng)絡(luò),能在本地系統(tǒng)中和網(wǎng)絡(luò)實現(xiàn)這個協(xié)議,支持的網(wǎng)絡(luò)協(xié)議有TCP/IP、DECnet等。XWindow窗口管理器XWindow的所有窗口形成了一個樹狀結(jié)構(gòu)。XWindow的窗口管理程序運行在根窗口上。所有其他窗口為根窗口的子窗口,而其他窗口上也有相應(yīng)的按鈕、對話框等組件。
4.2.2文件管理器與MicrosoftWindows的文件管理程序類似,LINUX中常用的文件管理器有:1、X-Files文件管理器2、UC文件管理器(TheUNIXCockpit3.0)3、字符狀態(tài)下的文件管理工具X-Files文件管理器支持三鍵鼠標(biāo)、二鍵鼠標(biāo)4.2.3窗口管理器窗口的類型及內(nèi)容1、窗口2、風(fēng)格3、工作區(qū)域中菜單4、虛擬桌面和桌面區(qū)域5、終端窗口為用戶提供一個標(biāo)準(zhǔn)的命令行操作界面Shell提示符$或#Parted顯示分區(qū)信息Quit退出Exit退出shell6、常用窗口管理器簡介FVWM虛擬的窗口管理器桌面上支持虛擬窗口,內(nèi)存開銷少。FVWM2FVWM的改進KDEK桌面環(huán)境,也是眾多用戶看好的窗口管理器。FVWM2窗口管理器KDE桌面4.2.4硬件安裝1、系統(tǒng)驅(qū)動程序安裝的常識安裝開發(fā)工具make、gcc、automake
安裝內(nèi)核源代碼包kernel-sourceRPM包安裝#rpm–ivhkernel-source*.rpm#rpm–ivh*.rpm4.2.4硬件安裝2、有關(guān)硬件的常識不同的硬件有不同的驅(qū)動程序查看硬件的芯片#lspci–v3、選擇硬件驅(qū)動程序版本4、設(shè)置顯卡下載顯卡的RPM包安裝RPM包5、配置聲卡#lspci|grepaudio檢查系統(tǒng)的聲卡型號6、使用U盤(P81)BIOS設(shè)置AssignIRQForUSB為Enable插入U盤,掛載U盤到某個文件系統(tǒng)上4.3GNOME4.3.1GNOME簡介GNOME是一種支持多種開發(fā)平臺的開發(fā)桌面環(huán)境??蛇\行在:GNU/Linux、Solaris、HP-UX、BSD等是GNUNetworkObjectModelEn
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【9A文】中鐵十一局集團有限公司安全事故綜合應(yīng)急預(yù)案(定稿)
- 學(xué)校供暖系統(tǒng)改造協(xié)議
- 環(huán)保項目招標(biāo)承諾書模板
- 裝修材料銷售聯(lián)盟協(xié)議
- 酒店管理合同評審管理辦法
- 旅行策劃師兼職合作協(xié)議
- 農(nóng)業(yè)技術(shù)創(chuàng)新合作框架
- 美食節(jié)廚師勞動合同范本
- 交通運輸客戶投訴響應(yīng)方案
- 游泳池水處理管道系統(tǒng)工程協(xié)議
- 酒精性肝硬化查房
- 2024年學(xué)校禁毒安全工作計劃
- 貸款營銷具體措施和方法
- 透析中合并心衰護理課件
- 初中數(shù)學(xué)因式分解練習(xí)題100題附詳解
- 新生兒臍疝與護理課件
- 提升班組學(xué)習(xí)能力的組織與培訓(xùn)方法
- 2024屆高考語文復(fù)習(xí):小說敘述特色專題復(fù)習(xí) 課件
- 慢性病的心理預(yù)防及調(diào)適護理課件
- 煤礦安全檢查工課件
- 2024年銀行考試-招商銀行歷年考試高頻考點試題附帶答案
評論
0/150
提交評論