《操作系統(tǒng)課程設(shè)計》實驗指導(dǎo)手冊

上傳人:仙*** 文檔編號:30475671 上傳時間:2021-10-10 格式:DOC 頁數(shù):31 大?。?26.54KB
收藏 版權(quán)申訴 舉報 下載
《操作系統(tǒng)課程設(shè)計》實驗指導(dǎo)手冊_第1頁
第1頁 / 共31頁
《操作系統(tǒng)課程設(shè)計》實驗指導(dǎo)手冊_第2頁
第2頁 / 共31頁
《操作系統(tǒng)課程設(shè)計》實驗指導(dǎo)手冊_第3頁
第3頁 / 共31頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《操作系統(tǒng)課程設(shè)計》實驗指導(dǎo)手冊》由會員分享,可在線閱讀,更多相關(guān)《《操作系統(tǒng)課程設(shè)計》實驗指導(dǎo)手冊(31頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 《操作系統(tǒng)課程設(shè)計》 實驗指導(dǎo)手冊 蘇州大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院 2009年9月 《操作系統(tǒng)課程設(shè)計》實驗指導(dǎo)手冊 目錄 目 錄 一、實驗環(huán)境 二、實驗內(nèi)容 三、準(zhǔn)備知識 四、實驗步驟  實驗一 安裝Red Hat Linux  實驗二 編譯Linux內(nèi)核  實驗三 觀察Linux行為  實驗四 系統(tǒng)調(diào)用 《操作系統(tǒng)課程設(shè)計》實驗指導(dǎo)手冊 一、實驗環(huán)境   硬件平臺:普通PC機(jī)硬件環(huán)境。   操作系統(tǒng):Linux環(huán)境,Red Hat Linux 9.0以上版本,啟動管理器使用LILO。

2、  編譯環(huán)境:伴隨著操作系統(tǒng)的默認(rèn)gcc環(huán)境。   工作源碼環(huán)境:一個調(diào)試的內(nèi)核源碼,版本不低于2.4.18。 二、實驗內(nèi)容   本實驗側(cè)重于Linux操作系統(tǒng)的認(rèn)識、應(yīng)用,并對Linux內(nèi)核進(jìn)行初步探索。實驗分為四個部分,每個部分大約2次實驗。所有實驗完成后,將在計算機(jī)上安裝一個可用的Linux操作系統(tǒng),并完成至少一個的可調(diào)試內(nèi)核。 1.安裝Red Hat Linux 2.編譯Linux內(nèi)核 3.觀察Linux行為 4.系統(tǒng)調(diào)用 28 三、準(zhǔn)備知識 1.Linux的內(nèi)核   Unix操作系統(tǒng)家族將功能分為兩類。首先,內(nèi)核執(zhí)行時CPU處于管態(tài);其次,所

3、有其他操作系統(tǒng)部件執(zhí)行時CPU處于用戶態(tài)。內(nèi)核負(fù)責(zé)抽象與管理一臺機(jī)器的硬件資源以及這些資源在執(zhí)行程序之間的共享。因為Linux實現(xiàn)的是一種UNIX方式的接口,資源抽象和共享模型的通用定義已經(jīng)被確定了。   資源抽象(Resource abstraction)是指編寫軟件(通常情況)來簡化必須應(yīng)用于硬件的操作以使該硬件能恰當(dāng)?shù)墓ぷ?。Linux將計算機(jī)部件抽象為進(jìn)程和資源。一個進(jìn)程是執(zhí)行一個目標(biāo)程序的CPU操作的一個抽象。進(jìn)程抽象使得操作系統(tǒng)能夠控制一個程序中的每個實例的執(zhí)行。操作系統(tǒng)中的所有執(zhí)行進(jìn)程抽象的所有方面稱為進(jìn)程管理。資源管理是創(chuàng)建資源抽象以及在進(jìn)程執(zhí)行時為它們分配和回收系統(tǒng)資源的過程

4、。RAM是一種系統(tǒng)資源。另一種系統(tǒng)資源是CPU。內(nèi)核的其他資源包括系統(tǒng)的所有設(shè)備,它們具有各自的抽象模型。UNIX試圖將除CPU和可執(zhí)行內(nèi)存之外的每一種資源視為一個文件。   Linux中,一個進(jìn)程使用資源時,通常需要對該資源的獨占使用。資源管理有兩個關(guān)鍵的方面:對獲得資源的競爭和對獨占使用的確保。對資源的競爭由資源管理程序控制。操作系統(tǒng)必須包含一個部件來負(fù)責(zé)接收使用每個資源的請求、為一個進(jìn)程分配資源,以及當(dāng)一個進(jìn)程釋放資源時進(jìn)行回收。如不能滿足進(jìn)程的資源請求,則阻塞該進(jìn)程。Linux和其他現(xiàn)代操作系統(tǒng)用模式位來確保對系統(tǒng)資源,包括CPU、內(nèi)存和設(shè)備的獨占使用。模式位使系統(tǒng)可以工作在管態(tài)(s

5、upervisor mode)或用戶態(tài)(user mode)。在一些情況下,兩個或更多進(jìn)程需要共享一個資源,Linux采用有控制的共享策略。 2.內(nèi)核的組織結(jié)構(gòu)   Linux內(nèi)核被設(shè)計和實現(xiàn)為單內(nèi)核。硬件設(shè)備日益發(fā)展,不斷包括更新的設(shè)備,完全在一個設(shè)備驅(qū)動程序中提供適當(dāng)?shù)膬?nèi)核支持變得日益困難。Linux通過一個新的“容器”,稱為模塊(module),來解決這個問題,在模塊中執(zhí)行內(nèi)核主要部分的擴(kuò)展。 2.1 Linux的中斷機(jī)制   同i386體系結(jié)構(gòu)中的中斷機(jī)制,使用cli()和sti()兩個內(nèi)核函數(shù)來清除和設(shè)置中斷啟用標(biāo)志。 2.2 使用Linux的內(nèi)核服務(wù)   用戶將內(nèi)核看作

6、一個大的抽象數(shù)據(jù)類型(ADT),它保持狀態(tài)并在其公共接口——系統(tǒng)調(diào)用接口上提供大量函數(shù)。在Linux中,系統(tǒng)調(diào)用接口名義上由POSIX.1規(guī)范定義。一個系統(tǒng)調(diào)用發(fā)生時,用戶進(jìn)程執(zhí)行內(nèi)核代碼。存在一個問題,如何由用戶進(jìn)程(處在用戶態(tài))切換到內(nèi)核代碼(處在管態(tài))?   具有模式位的CPU通常也具有硬件陷阱指令。陷阱指令(trap instruction)是一條用于將CPU轉(zhuǎn)移到一個預(yù)定地址(有時作為一個指令操作數(shù)的函數(shù))并將其自身切換為管態(tài)的指令。陷阱指令并不是一條特權(quán)指令,因此任何程序都可以執(zhí)行一條陷阱指令。對于系統(tǒng)調(diào)用F,stub過程用于調(diào)用F。stub被鏈接到用戶空間正調(diào)用的程序。一個進(jìn)程

7、在運行期間執(zhí)行對F的調(diào)用,控制被轉(zhuǎn)換到stub過程而不是直接轉(zhuǎn)換到內(nèi)核。利用陷阱指令和stub過程可以實現(xiàn)由用戶空間向內(nèi)核空間的安全轉(zhuǎn)換。 2.3 串行執(zhí)行   Linux的內(nèi)核函數(shù)執(zhí)行時處在一個臨界區(qū),即,一旦進(jìn)程調(diào)用一個系統(tǒng)函數(shù),該函數(shù)通常要運行到結(jié)束并在CPU分配給不同的進(jìn)程之前返回,但是中斷除外。這種類型的內(nèi)核是單線程(single-threaded)的,因為在任何時刻(忽略ISR)在內(nèi)核中只允許一個執(zhí)行線程在執(zhí)行。這至少有兩個重要的意義: 1.一個內(nèi)核函數(shù)可以更新各種內(nèi)核數(shù)據(jù)結(jié)構(gòu)而不用擔(dān)心另一個進(jìn)程會中斷它的執(zhí)行并改變相同的數(shù)據(jù)結(jié)構(gòu)。競爭狀態(tài)不會發(fā)生。 2.在編寫一個新的內(nèi)核

8、函數(shù)時,始終注意不能編寫可能阻塞并等待消息或其他只有某些另外的進(jìn)程才能釋放的資源的代碼。這類代碼可能在內(nèi)核中導(dǎo)致死鎖。 2.4 守護(hù)進(jìn)程   當(dāng)一臺Linux機(jī)器啟動時,幾個稱作守護(hù)進(jìn)程(daemon)的對用戶透明的進(jìn)程也被啟動,并且它們的存在對操作系統(tǒng)的正確運行是必需的。習(xí)慣上,守護(hù)進(jìn)程是執(zhí)行名字以字符“d”結(jié)尾的程序。通過在shell里敲入以下命令來觀察哪些守護(hù)進(jìn)程正在Linux機(jī)器上運行:     ps aux | more 典型情況下,將發(fā)現(xiàn)syslogd、klogd、crond和lpd在系統(tǒng)上運行。 2.5 引導(dǎo)過程   一臺i386計算機(jī)可以通過一張引導(dǎo)記錄包含Linu

9、x引導(dǎo)程序而不是Windows操作系統(tǒng)引導(dǎo)程序的Linux引導(dǎo)盤來引導(dǎo)Linux。對于一個分區(qū)的硬盤來說,裝載處于不同分區(qū)的不同操作系統(tǒng)是可能的。Windows操作系統(tǒng)可以通過標(biāo)識一個分區(qū)為活動分區(qū)來處理多分區(qū)磁盤,系統(tǒng)總是從活動分區(qū)引導(dǎo)。Linux提供一個可以存放在系統(tǒng)引導(dǎo)記錄中的特殊Linux裝載程序(LILO)使用戶在引導(dǎo)時可以選擇活動分區(qū)。在這種情況下,LILO將會被載入到引導(dǎo)記錄中以使BIOS在POST之后運行它。   在POST之后,引導(dǎo)記錄已經(jīng)被讀取,并且裝載程序已經(jīng)將操作系統(tǒng)放入主存,引導(dǎo)過程開始運行內(nèi)核代碼以初始化計算機(jī)硬件。計算機(jī)通過設(shè)置CPU為管態(tài)并轉(zhuǎn)移到在內(nèi)核中的主入

10、口點準(zhǔn)備啟動內(nèi)核。內(nèi)核初始化陷阱列表、中斷處理程序、調(diào)度程序等,并初始化管理程序。然后硬件進(jìn)程創(chuàng)建初始進(jìn)程(initial process)。初始進(jìn)程創(chuàng)建第一個有用的Linux進(jìn)程來運行init程序并開始執(zhí)行一個空閑周期。在內(nèi)核初始化完成以后,初始進(jìn)程的唯一職責(zé)就是使用空閑CPU時間。也就是說,當(dāng)沒有其他進(jìn)程想要使用CPU時它將占用CPU。初始進(jìn)程有時也稱為空閑進(jìn)程(idle process)。 2.6 登錄到機(jī)器   在初始化時,內(nèi)核在每個可以用于支持用戶登錄的通信端口創(chuàng)建一個進(jìn)程。這些進(jìn)程將運行g(shù)etty程序的一個拷貝。getty進(jìn)程初始化自身后等待用戶使用這個端口。當(dāng)用戶開始使用該端

11、口時,getty運行l(wèi)ogin程序,期望一個用戶標(biāo)識出現(xiàn)在第1行并且一個口令出現(xiàn)在第2行。一旦端口的login程序得到了標(biāo)識和口令,它通過系統(tǒng)的/etc/passwd文件確認(rèn)用戶的身份。如果本次驗證成功,那么login進(jìn)程改變當(dāng)前目錄到用戶主目錄并執(zhí)行指定的shell程序以便用戶通過shell直接與login進(jìn)程進(jìn)行交互。一個登錄到UNIX機(jī)器的用戶只是使用一個在機(jī)器啟動時創(chuàng)建的進(jìn)程。因此用戶進(jìn)程通過該shell數(shù)據(jù)段和堆棧段的唯一拷貝執(zhí)行一個shell程序。 3.進(jìn)程與資源管理   進(jìn)程管理程序負(fù)責(zé)創(chuàng)建程序員使用的進(jìn)程抽象并提供措施以便一個進(jìn)程可以創(chuàng)建、銷毀、同步和保護(hù)其他進(jìn)程。類似

12、的,資源管理程序涉及創(chuàng)建合適的抽象來代表一個進(jìn)程可能請求的實體(并在資源不可得時阻塞它們的執(zhí)行)。除抽象外,資源管理程序必須提供一個進(jìn)程用來請求、獲得和釋放資源的接口。   Linux內(nèi)核負(fù)責(zé)處理進(jìn)程調(diào)度的程序(像內(nèi)核中的所有其他部分一樣)只有在一個進(jìn)程或者因為系統(tǒng)調(diào)用或者因為中斷開始以管態(tài)執(zhí)行時才能執(zhí)行。Linux中父進(jìn)程通過fork()系統(tǒng)調(diào)用創(chuàng)建一個新的任務(wù)/進(jìn)程。當(dāng)然,execve()系統(tǒng)調(diào)用也將極大的影響進(jìn)程描述符的內(nèi)容,因為這樣會加載進(jìn)程并執(zhí)行一個與調(diào)用execve()時所執(zhí)行程序不同的程序。Linux內(nèi)核還包括一個系統(tǒng)調(diào)用clone()來支持線程。Linux的調(diào)度程序負(fù)責(zé)在內(nèi)存

13、中選擇處于TASK_RUNNING狀態(tài)的進(jìn)程,為之分配CPU。schedule()內(nèi)核函數(shù)可以通過中斷來調(diào)用,它也作為ret_from_sys_call代碼塊的一部分來調(diào)用,所以它總是作為一個與用戶進(jìn)程或中斷相關(guān)的任務(wù)來運行。   Linux中使用兩種不同的同步機(jī)制,一種在內(nèi)核代碼自身內(nèi)部,另一種為用戶進(jìn)程提供同步機(jī)制。內(nèi)核中的同步主要是保證在當(dāng)前內(nèi)核代碼處于臨界部分時不會產(chǎn)生中斷。外部同步機(jī)制是基于事件模型。   用戶可以通過以下四種方式使用內(nèi)核來執(zhí)行IPC:管道(和命名管道),System V IPC,System V共享內(nèi)存,套接字。   保護(hù)機(jī)制有兩種形式:地址空間隔離和文件保護(hù)

14、。 4.存儲管理   Linux使用請求分頁虛擬內(nèi)存模型作為內(nèi)存管理設(shè)計的基礎(chǔ)。在該模型中,每個進(jìn)程分配其自身的虛擬地址空間。進(jìn)程引用虛擬地址,系統(tǒng)在訪問內(nèi)存地址之前將每個這種引用映射成一個主(也稱為物理)內(nèi)存地址。內(nèi)核和硬件一起保證了虛擬內(nèi)存地址的內(nèi)容被放入到物理內(nèi)存,并且保證相應(yīng)的虛擬地址在被進(jìn)程引用時綁定到正確的物理內(nèi)存。內(nèi)存管理程序履行如下一些常見職責(zé): 以物理內(nèi)存頁框為單位進(jìn)行塊的分配和回收。 保護(hù)機(jī)制以單頁為基礎(chǔ)。 內(nèi)存共享基于頁。 通過內(nèi)存層次,在輔存和主存之間向前向后移動頁面來自動控制移動。   虛擬地址空間被劃分成段:3GB的用戶段和1GB的內(nèi)核段。每個內(nèi)核

15、和用戶段又進(jìn)一步劃分為代碼段和數(shù)據(jù)段。每當(dāng)進(jìn)程執(zhí)行時,它的狀態(tài)包括一個段選擇器。如果進(jìn)程在用戶空間執(zhí)行,那么段選擇器被設(shè)置為user;如果在內(nèi)核段執(zhí)行,則選擇器被設(shè)置為kernel。   缺頁處理。當(dāng)進(jìn)程引用一個缺頁時,存儲管理程序?qū)⒃擁搹妮o存拷貝到主存中。裝入一頁到內(nèi)存頁框中時,存儲管理程序首先試圖通過調(diào)用一個內(nèi)部內(nèi)核函數(shù)__get_free_pages()來為進(jìn)程獲得一塊新的頁框。如果沒有可用的塊,頁面管理程序試圖釋放空間。首先是否存在可以從緩沖區(qū)中回收的塊,下一步試圖回收為System V共享內(nèi)存保留的頁框。如果仍不能滿足塊請求,頁面管理程序就開始通過使用近似的全局最近最少使用(LRU

16、)替代算法查看所有分配用于容納虛擬地址空間的用戶空間部分的頁框。從物理內(nèi)存中移出一個頁面時,頁面管理程序需要查看它是否是臟(dirty)的。   地址變換。Linux超越當(dāng)今的CPU和內(nèi)存管理單元(MMU)定義了一個獨立于體系結(jié)構(gòu)的存儲模型,因此它包含沒有用于i386實現(xiàn)的部件。在通用模型中,一個虛擬地址通過三級映射變換為物理地址。一個虛擬地址j被劃分為4個部分: 頁目錄偏移,j.pgd 頁中間目錄偏移,j.pmd 頁表偏移,j.pte 頁內(nèi)偏移,j.offset 如果將一個頁面加載到物理內(nèi)存中,虛擬地址j對應(yīng)的物理地址i由下式?jīng)Q定:   i = PTE ( PMD ( PGD

17、( j.pgd ) + j.pmd ) + j.pte ) + j.offset 這里PTE代表頁表,PMD代表頁中間目錄表,PGD代表頁目錄表。由于i386微處理器和兼容的MMU沒有足夠的硬件支持完整的三級變換過程,所以在這種體系結(jié)構(gòu)中只實現(xiàn)了兩級變換。這是通過將每個中間目錄減少到一個表項來實現(xiàn)的。 5.設(shè)備管理   在Linux中有兩種基本的設(shè)備管理方法可用: 采用輪詢判斷何時設(shè)備完成了一個操作。 采用中斷。   設(shè)備驅(qū)動程序和設(shè)備通過使用主從碼字來引用。主碼(主設(shè)備號)與每個Linux內(nèi)核將使用的設(shè)備驅(qū)動程序相關(guān)聯(lián)。從碼(從設(shè)備號)用于在使用特定設(shè)備驅(qū)動程序的物理設(shè)備之間

18、進(jìn)行區(qū)分。UNIX設(shè)備傳統(tǒng)上分成塊設(shè)備和字符設(shè)備。緩沖被用于塊設(shè)備而不是字符設(shè)備。Linux保持了這種基本區(qū)別,但兩種設(shè)備類型API之間的差別比UNIX系統(tǒng)中要小得多。   當(dāng)機(jī)器引導(dǎo)時,設(shè)備驅(qū)動程序通常被注冊到操作系統(tǒng)中。一個內(nèi)核函數(shù)被用于注冊設(shè)備。設(shè)備驅(qū)動程序的API與文件管理程序的文件操作API相同。UNIX試圖將每一種設(shè)備視為一個文件。 6.文件管理   Linux文件管理程序定義了一個單一的文件內(nèi)部視圖,應(yīng)用程序用它來讀取和修改寫在所有存儲設(shè)備上的文件。每類存儲設(shè)備在它的文件管理程序中實現(xiàn)相同的視圖。Linux文件管理程序設(shè)計為讓應(yīng)用程序使用一組由POSIX所指定的固定函數(shù)

19、來操作文件:open()、close()、lseek()、read()、write()、ioctl()等等。文件管理程序中一個與文件系統(tǒng)獨立的部分處理普通工作,如檢查訪問權(quán)限和決定何時需要讀寫磁盤塊。另一部分處理所有與文件系統(tǒng)相關(guān)的工作,如判斷塊在磁盤上的定位和指導(dǎo)設(shè)備驅(qū)動程序讀寫特定塊。兩部分結(jié)合起來使得在處理磁盤上的文件時,Linux在API級別提供了一組固定的操作,即使文件使用Windows OS、MINIX或其他操作系統(tǒng)寫入。   Linux文件管理程序API建立在虛擬文件系統(tǒng)(VFS)輸出的抽象文件模型上。VFS執(zhí)行與系統(tǒng)獨立的文件操作,操作系統(tǒng)設(shè)計人員對VFS提供了擴(kuò)展以完成所有

20、需要的與文件系統(tǒng)相關(guān)的操作。VFS的核心是轉(zhuǎn)換。轉(zhuǎn)換(switch)為用戶空間程序提供了標(biāo)準(zhǔn)文件管理程序API并建立內(nèi)部接口,該接口由支持MS-DOS、MINIX、Ext2等文件的不同文件系統(tǒng)翻譯程序所使用。通過實現(xiàn)一個新的文件系統(tǒng)相關(guān)(翻譯程序)的部件可以提供對一種新文件系統(tǒng)的支持。   一個VFS文件描述符稱為一個inode。當(dāng)文件打開時,每個與系統(tǒng)相關(guān)的文件翻譯程序?qū)⑼獠棵枋龇膬?nèi)容轉(zhuǎn)換為VFS inode格式。相反,文件關(guān)閉時,內(nèi)部inode的內(nèi)容被用于更新外部文件描述符。VFS也支持目錄,所以它假設(shè)外部文件目錄至少包含每個存儲于該目錄文件的名字和其文件描述符的地址。   裝載文件

21、系統(tǒng)。具有可移動介質(zhì)存儲設(shè)備的計算機(jī),每次介質(zhì)裝入或移出時必須改變系統(tǒng)的文件結(jié)構(gòu)。VFS采用傳統(tǒng)的UNIX機(jī)制,允許這些文件系統(tǒng)能結(jié)合到系統(tǒng)的目錄層次。mount命令用于向現(xiàn)存的目錄層次添加一個新的文件系統(tǒng),用新的文件系統(tǒng)的根結(jié)點代替以前裝載文件系統(tǒng)的一個目錄來實現(xiàn)。   打開文件。為了打開一個文件,文件管理程序在存儲系統(tǒng)上搜索指定的路徑名。搜索可能是一個擴(kuò)展的過程。如果搜索碰到一個安裝點,那么它從一種文件系統(tǒng)轉(zhuǎn)移到另一種文件系統(tǒng)并繼續(xù)搜索。因此搜索可能從,如一個Ext2文件系統(tǒng)開始,但最終在一個MS-DOS文件系統(tǒng)中找到文件。對于成功打開的文件,在進(jìn)程的文件描述符表中創(chuàng)建一表項,該表項指向

22、打開文件表中一個叫做文件結(jié)構(gòu)的表項。文件結(jié)構(gòu)表項在主存中創(chuàng)建以后,它引用VFS的inode。   讀寫文件。當(dāng)文件打開時,創(chuàng)建struct file的一個實例。在該文件中,字段:   struct file_operation *f_ops; 指定read()、write()、lseek()、select()等函數(shù)的入口點,它們用于執(zhí)行與系統(tǒng)相關(guān)的文件I/O操作。同時包含的還有一組在inode中指定的默認(rèn)file_operations,這樣如果任何特定文件操作沒有在f_ops列表中指定,那么將使用來自默認(rèn)列表中的函數(shù)。這些實例的實質(zhì)目標(biāo)是在用戶空間和輔存之間移動信息。一個文件被組織為連續(xù)

23、的字節(jié)流,使用緩沖的方法可以極大的提高系統(tǒng)的性能。Linux試圖使用最大限度的內(nèi)存來提供I/O緩沖區(qū)。 7.了解Linux的更多信息   Linux不斷的發(fā)展,有許多優(yōu)秀的可利用的信息源。下面列出一些可能對你有幫助的站點: Linux文檔工程(http://metalab.unc.edu/mdw/Linux.html)是有關(guān)Linux各方面文檔的在線收集。 Beck, et al.[1998]的書《Linux Kernel Internals》的第2版描述了2.0版內(nèi)核的組織并解釋了Linux單個部分是如何設(shè)計的細(xì)節(jié)。 Vahalia[2000]的有關(guān)UNIX內(nèi)部結(jié)構(gòu)、Bach[

24、1996]的有關(guān)UNIX System V內(nèi)部結(jié)構(gòu)和McKusick, et al.[1996]的有關(guān)BSD4.4內(nèi)部結(jié)構(gòu)的書描述了傳統(tǒng)UNIX系統(tǒng)是如何構(gòu)建的。   學(xué)習(xí)Linux內(nèi)部結(jié)構(gòu)的人必須閱讀源代碼。完整的源代碼瀏覽站點http://lxr.linux.no/source對此有幫助。另外,應(yīng)該在實驗室的機(jī)器上有一份源代碼的拷貝。它可能被放在文件系統(tǒng)層次的任何地方,但通常的路徑在/usr/src/linux上。也就是說,linux是包含所有源代碼子樹的根目錄。   下面是一些有用的資源: http://www.linux.org/ Linux的官方網(wǎng)站 中國Li

25、nux論壇 永遠(yuǎn)的Unix http://www.kernelnewbies.org/ Kernel新手上路 http://www.tldp.org/ Linux文檔項目 Linux雜志 去搜索你要的東西吧:) 四、實驗步驟 實驗一 安裝Red Hat Linux 8.0   本實驗使用圖形化、基于鼠標(biāo)的安裝程序,從網(wǎng)絡(luò)上定制安裝Red Hat Linux。所討論的課題如下: 逐漸熟悉安裝程序的用戶界面; 啟動安裝程序; 選擇安裝方法; 安裝中的配置步驟(語言、鍵盤、鼠標(biāo)、分區(qū)等等); 結(jié)束安裝。 1.圖形化安裝程序用戶界

26、面   如果你從前使用過圖形化用戶界面(graphical user interface,GUI),你對這一過程會比較熟悉;你只需使用鼠標(biāo)在屏幕間翻閱,點擊按鈕,或者輸入文本字段。你還可以使用[Tab]和[Enter]鍵在安裝中瀏覽各屏幕。 注:如果不想使用GUI安裝程序,你可以使用文本模式的安裝程序。要啟動文本模式安裝程序,使用以下引導(dǎo)命令:   boot: text 本實驗不提供文本模式安裝步驟的介紹。   關(guān)于虛擬控制臺的表示。Red Hat Linux安裝程序不僅僅提供了安裝進(jìn)程的對話框。除了提供從shell提示下輸入命令的方法外,它還提供了幾種不同類型的診斷消息。安裝程序在

27、五個虛擬控制臺中顯示這些消息,你可以用一個組合鍵在其間切換。   這些虛擬控制臺在你安裝Red Hat Linux中遇到問題時會對你很有幫助。安裝中在系統(tǒng)控制臺上顯示的消息可以幫助你準(zhǔn)確地找到問題的癥結(jié)所在。關(guān)于虛擬控制臺的列表,所用的切換鍵組合,以及它們顯示的內(nèi)容,請參閱表-1。   一般來說,除非你試圖診斷安裝問題,你沒有理由離開默認(rèn)的控制臺(第七號虛擬控制臺)。 表-1 控制臺,組合鍵,和內(nèi)容 控制臺 組合鍵 內(nèi)容 1 [Ctrl]-[Alt]-[F1] 安裝對話框 2 [Ctrl]-[Alt]-[F2] shell提示 3 [Ctrl]-[Alt]-[F3]

28、 安裝日志(安裝程序的消息) 4 [Ctrl]-[Alt]-[F4] 與系統(tǒng)相關(guān)的消息 5 [Ctrl]-[Alt]-[F5] 其他消息 7 [Ctrl]-[Alt]-[F7] X圖形化顯示 2.啟動安裝程序   要開始安裝,你必須首先引導(dǎo)安裝程序。請確定你已具備安裝中將會用到的所有資料。注意,偶爾,某些硬件在安裝中需要一個驅(qū)動程序盤。驅(qū)動程序盤為安裝程序不支持的硬件添加支持。   你可以使用下列任何介質(zhì)來引導(dǎo)安裝程序(這要根據(jù)你的系統(tǒng)所能支持的而定),本實驗引導(dǎo)盤,從網(wǎng)絡(luò)上進(jìn)行安裝: 可引導(dǎo)的光盤 — 你的機(jī)器支持可引導(dǎo)的光盤驅(qū)動器,并且你想執(zhí)行網(wǎng)絡(luò)或硬盤驅(qū)動

29、器安裝。 引導(dǎo)盤 — 你的機(jī)器不支持可引導(dǎo)的光盤驅(qū)動器,并且你想從一個本地光盤、網(wǎng)絡(luò)或硬盤驅(qū)動器上安裝。   將引導(dǎo)盤插入到你的計算機(jī)的第一個軟盤驅(qū)動器內(nèi),然后重新引導(dǎo)(或使用光盤來引導(dǎo),如果你的計算機(jī)支持的話)。你可能需要改變你的BIOS設(shè)置來允許你從軟盤或光盤中引導(dǎo)。   片刻之后,一個包含 boot: 提示的屏幕就會出現(xiàn)。這個屏幕包括了許多不同的引導(dǎo)選項。每個引導(dǎo)選項還有一個或多個與之關(guān)聯(lián)的幫助屏幕。要訪問幫助屏幕,按在屏幕底部列出的恰當(dāng)?shù)墓δ苕I。   在你引導(dǎo)安裝程序的時候,請留意兩個問題: 當(dāng)你看到了 boot: 提示后,如果在一分鐘內(nèi)不采取任何行動,安裝程序會自動開始。要

30、禁用這項功能,按幫助屏幕上的功能鍵之一。 如果你按了幫助屏幕上的功能鍵,在幫助屏幕從引導(dǎo)介質(zhì)中被讀取時會出現(xiàn)稍微的延遲。   正常情況下,你只需按 [Enter] 鍵來引導(dǎo)。請留意引導(dǎo)消息以便查看 Linux 內(nèi)核是否檢測到了你的硬件。如果你的硬件被正確地檢測到,請繼續(xù)到下一個部分。如果它沒有正確地檢測到你的硬件,你可能會需要在專家模式下重新開始安裝。 3.選擇一種安裝方法   你想使用何種安裝方法?可用的安裝方法如下所列: 光盤   如果你有一個光盤驅(qū)動器和 Red Hat Linux 光盤,你可以使用這種方法。你將需要一個引導(dǎo)盤或一個可引導(dǎo)的光盤。 硬盤驅(qū)動器   如果

31、你已將 Red Hat Linux ISO 映像復(fù)制到本地硬盤驅(qū)動器中,你可以使用這種方法。你將需要一個引導(dǎo)盤。 NFS 映像   如果是從一個 NFS 服務(wù)器中使用 ISO 映像或 Red Hat Linux 的鏡像映像來安裝,你可以使用這種方法。你將需要一個網(wǎng)絡(luò)驅(qū)動程序盤。另,NFS 安裝也可以在 GUI 模式中執(zhí)行。本實驗可采用這種模式進(jìn)行安裝。 FTP   如果你從一個 FTP 服務(wù)器中直接安裝,使用這種方法。你將需要一個網(wǎng)絡(luò)驅(qū)動程序盤。本實驗也可采用這種模式進(jìn)行安裝。 HTTP   如果你從一個 HTTP(萬維網(wǎng))服務(wù)器中直接安裝,使用這種辦法。你將需要一個網(wǎng)絡(luò)驅(qū)動程序盤

32、。 4.通過NFS安裝   NFS對話框(圖-1)只有在你從NFS服務(wù)器中安裝時才會出現(xiàn)(如果你使用網(wǎng)絡(luò)驅(qū)動程序盤提供了驅(qū)動程序,并且在「安裝方法」中選擇了「NFS 映像」的話)。   輸入你的 NFS 服務(wù)器的域名或 IP 地址。譬如,如果你是從 域的 eastcoast 主機(jī)上安裝的話,在「NFS 服務(wù)器」 字段中輸入 。   接下來,輸入導(dǎo)出目錄的名稱。如果 NFS 服務(wù)器導(dǎo)出的是 Red Hat Linux 安裝樹的鏡像,輸入包含 RedHat 目錄的目錄(如果你不知道該目錄的路徑,請向?qū)嶒炛笇?dǎo)人員咨詢)。譬如,如果你的 NFS 服務(wù)器包含目錄 /mirrors/redh

33、at/i386/RedHat,請輸入 /mirrors/redhat/i386。   接下來,你會看到「歡迎」對話框。   FTP安裝類似,這里不再贅述。 圖-1 NFS 設(shè)置對話框 5.安裝中的配置   接下來的步驟可能與本大綱有少許不一致,你可以根據(jù)屏幕提示進(jìn)行操作。如果遇到問題,請向?qū)嶒炛笇?dǎo)人員資訊。 5.1 歡迎使用 Red Hat Linux   「歡迎」屏幕不提示你做任何輸入。點擊「下一步」按鈕來繼續(xù)。 5.2 使用鼠標(biāo)來選擇你想在安裝中使用的語言   選擇恰當(dāng)?shù)恼Z言會在稍后的安裝中幫助你定位時區(qū)配置。安裝程序?qū)噲D根據(jù)你在這個屏幕上所指定的信息來定

34、義恰當(dāng)?shù)臅r區(qū)。當(dāng)你選定了語言后,點擊「下一步」來繼續(xù)。 5.3 鍵盤配置   使用鼠標(biāo)來選擇你要在本次安裝中和今后用作系統(tǒng)默認(rèn)的鍵盤布局類型(例如,美國英語式)。選定后,點擊「下一步」來繼續(xù)。 5.4 鼠標(biāo)配置   為你的系統(tǒng)選擇正確的鼠標(biāo)類型。如果你找不到確切的匹配,選擇你確定會與你的系統(tǒng)兼容的鼠標(biāo)類型。選定后,點擊「下一步」來繼續(xù)。 5.5 選擇安裝還是升級   如果安裝程序在你的系統(tǒng)上檢測到從前安裝的 Red Hat Linux 版本,「升級檢查」屏幕就會自動出現(xiàn)。如果你想執(zhí)行升級,選擇「升級現(xiàn)有安裝」。如果你想對要在系統(tǒng)上升級的軟件包有更大程度上的控制,請確定選擇「定制要升

35、級的軟件包」。要在你的系統(tǒng)上執(zhí)行 Red Hat Linux 的新安裝,選擇「執(zhí)行 Red Hat Linux 的新安裝」,然后點擊「下一步」。本實驗在機(jī)器上執(zhí)行Red Hat Linux的新安裝。 5.6 安裝類型   選擇你要執(zhí)行的安裝類型。Red Hat Linux 允許你選擇最符合你需要的安裝類型。你的選項有「個人桌面」、「工作站」、「服務(wù)器」、「定制」、和「升級」。本實驗選擇「定制」,選定后,點擊「下一步」來繼續(xù)。 5.7 磁盤分區(qū)設(shè)置   分區(qū)允許你將硬盤驅(qū)動器分隔成獨立的區(qū)域,每個區(qū)域都如同是一個單獨的硬盤驅(qū)動器。如果你運行不止一個操作系統(tǒng),分區(qū)將特別有用。在這個屏幕上,

36、你可以選擇自動分區(qū),或者使用 Disk Druid 來手工分區(qū)。   自動分區(qū)允許你不必親自為驅(qū)動器分區(qū)而執(zhí)行安裝。如果你對在系統(tǒng)上分區(qū)信心不足,建議你不要選擇手工分區(qū),而是讓安裝程序自動為你分區(qū)。要手工分區(qū),選擇 Disk Druid 分區(qū)工具。 5.8 自動分區(qū)   自動分區(qū)在有關(guān)哪些數(shù)據(jù)要從系統(tǒng)中刪除(若適用)這一方面允許你有控制權(quán)??晒┠氵x擇的選項有: 「刪除系統(tǒng)內(nèi)所有的 Linux 分區(qū)」——選擇該選項來只刪除 Linux 分區(qū)(在從前安裝 Linux 時創(chuàng)建的分區(qū))。這將不會影響你的硬盤驅(qū)動器上可能會有的其它分區(qū) (例如:VFAT 或 FAT32 分區(qū))。 「刪除系統(tǒng)內(nèi)的

37、所有分區(qū)」——選擇這一選項來刪除你的硬盤驅(qū)動器上的所有分區(qū)(這包括由其它操作系統(tǒng)如 Windows 9x/NT/2000/ME/XP 所創(chuàng)建的分區(qū)或 NTFS 分區(qū))。 「保存所有的分區(qū),使用現(xiàn)有的空閑空間」——選擇這一選項來保留你當(dāng)前的數(shù)據(jù)和分區(qū),假設(shè)你的硬盤驅(qū)動器上有足夠的可用空閑空間的話。   使用你的鼠標(biāo)來選擇你想安裝 Red Hat Linux 的硬盤驅(qū)動器。如果你有兩個或兩個以上硬盤驅(qū)動器,你應(yīng)該選擇包含本次安裝的硬盤驅(qū)動器。沒有被選擇的硬盤驅(qū)動器,及其中的數(shù)據(jù),將不會受到影響。要評審并對自動分區(qū)創(chuàng)建的分區(qū)做一些必要的改變,選擇「評審」選項。選擇「評審」后,點擊「下一步」來向前

38、移動,你將會看到在 Disk Druid 中為你創(chuàng)建的分區(qū)。如果它們沒有滿足你的需要,你還能夠?qū)@些分區(qū)進(jìn)行修改。當(dāng)你選好之后,點擊「下一步」來繼續(xù)。本次實驗采用手動分區(qū)方式,來體會一下為硬盤分區(qū)的感覺。 5.9 為你的系統(tǒng)分區(qū)   這一步,你必須告訴安裝程序要在哪里安裝 Red Hat Linux。這是通過在將要安裝 Red Hat Linux 的一個或多個磁盤分區(qū)上定義掛載點來做到的。這時,你可能還需要創(chuàng)建或刪除分區(qū)(請參見圖-2)。 圖-2 用 Disk Druid 來分區(qū) 安裝程序使用的分區(qū)工具是 Disk Druid。除了某些較隱晦的情況外,Disk Druid 能夠為典

39、型的安裝處理其分區(qū)要求。   實驗中,首先刪除所有已存在的分區(qū),無論是Linux的分區(qū)還是其他系統(tǒng)的分區(qū)。然后,在硬盤上創(chuàng)建至少兩個分區(qū),它們是:根分區(qū),掛載點為 / ,文件系統(tǒng)類型為ext3或者ext2;交換分區(qū),掛載點為 /swap ,文件系統(tǒng)類型swap。以下是一個推薦的分區(qū)方案: 一個交換分區(qū)(至少 32 MB)——交換分區(qū)用來支持虛擬內(nèi)存。換一句話說,當(dāng)沒有足夠的內(nèi)存來貯存你的系統(tǒng)正在處理的數(shù)據(jù)時,這些數(shù)據(jù)就被寫入交換區(qū)。你的交換分區(qū)的最小值應(yīng)該相當(dāng)于你的計算機(jī)內(nèi)存的兩倍和32 MB中較大的一個值。 一個 /boot 分區(qū)(100 MB)——這個掛載在 /boot 上的分區(qū)包含

40、操作系統(tǒng)的內(nèi)核(允許你的系統(tǒng)引導(dǎo) Red Hat Linux),以及其它幾個在引導(dǎo)過程中使用的文件。鑒于多數(shù) PC BIOS 的限制,創(chuàng)建一個較小的分區(qū)來貯存這些文件是較佳的選擇。對大多數(shù)用戶來說,100 MB引導(dǎo)分區(qū)應(yīng)該是足夠了。 一個根分區(qū)(1.7-5.0 GB)——這是“/”(根目錄)將被掛載的位置。在這個設(shè)置中,所有文件(除了貯存在 /boot 分區(qū)上的以外)都位于根分區(qū)上。一個大小為 1.7 GB 的根分區(qū)可以容納與個人桌面或工作站相當(dāng)?shù)陌惭b(只剩極少空閑空間),而一個大小為 5.0 GB 的根分區(qū)將會允許你安裝每一個軟件包。 5.10 引導(dǎo)裝載程序配置   為了要不使用引導(dǎo)盤

41、來引導(dǎo)你的系統(tǒng),你通常需要安裝一個引導(dǎo)裝載程序。引導(dǎo)裝載程序是計算機(jī)啟動時所運行的第一個軟件,它的責(zé)任是載入操作系統(tǒng)內(nèi)核軟件并把控制轉(zhuǎn)交給它,然后,內(nèi)核軟件再初始化剩余的操作系統(tǒng)。   安裝程序為你提供了兩個引導(dǎo)裝載程序:GRUB 和 LILO。 GRUB(GRand Unified Bootloader)是一個默認(rèn)安裝的功能強(qiáng)大的引導(dǎo)裝載程序。GRUB 能夠通過連鎖載入另一個引導(dǎo)裝載程序來載入多種免費和專有操作系統(tǒng)(連鎖載入是通過載入另一個引導(dǎo)裝載程序來載入 DOS 或 Windows 之類不被支持的操作系統(tǒng)的機(jī)制)。 LILO (LInux LOader) 是用于 Linux 的靈活

42、多用的引導(dǎo)裝載程序。它并不依賴于某一特定文件系統(tǒng),能夠從軟盤和硬盤引導(dǎo) Linux 內(nèi)核映像,甚至還能夠引導(dǎo)其它操作系統(tǒng)。   如果你不想把 GRUB 安裝為引導(dǎo)裝載程序,點擊「改變引導(dǎo)裝載程序」。然后,你便可以選擇安裝 LILO 或干脆不安裝引導(dǎo)裝載程序。本實驗采用LILO作為引導(dǎo)程序,所以,請點擊「改變引導(dǎo)裝載程序」,改變引導(dǎo)程序為LILO。   每個可引導(dǎo)分區(qū)都被列出,包括被其它操作系統(tǒng)使用的分區(qū)。包含你的系統(tǒng)根文件系統(tǒng)的分區(qū)將有一個Red Hat Linux(GRUB)或 linux(LILO)「標(biāo)簽」。其它分區(qū)也可以有引導(dǎo)標(biāo)簽。如果你想添加或改變其它被安裝程序檢測到的分區(qū)的標(biāo)簽,

43、單擊該分區(qū)來選擇它,選定后,你可以點擊 「編輯」 按鈕來改變引導(dǎo)標(biāo)簽。在你想要的引導(dǎo)分區(qū)旁邊選擇「默認(rèn)」來選擇你默認(rèn)的可引導(dǎo) OS。你選定了默認(rèn)引導(dǎo)映像后,安裝才會繼續(xù)。   現(xiàn)在,你已選定了要安裝的引導(dǎo)裝載程序,你還可以決定要在哪里安裝引導(dǎo)裝載程序。你可以在下面兩個位置之一安裝引導(dǎo)裝載程序: 主引導(dǎo)記錄(MBR)   這是我們推薦安裝引導(dǎo)裝載程序的地方,除非 MBR 已經(jīng)在啟動另一個操作系統(tǒng)的引導(dǎo)裝載程序,如 System Commander。MBR 是你的硬盤驅(qū)動器上的一個特殊區(qū)域,它會被你的計算機(jī)的 BIOS 自動載入,并且是引導(dǎo)裝載程序控制引導(dǎo)進(jìn)程的最早地點。如果你在 MBR 上

44、安裝引導(dǎo)裝載程序,當(dāng)你的機(jī)器引導(dǎo)時,GRUB(或 LILO)會呈現(xiàn)一個引導(dǎo)提示。然后你便可以引導(dǎo) Red Hat Linux 或其它任何你配置要引導(dǎo)的操作系統(tǒng)。 你的引導(dǎo)分區(qū)的第一個扇區(qū)   如果你已在系統(tǒng)上使用另一個引導(dǎo)裝載系統(tǒng)的話,我們推薦這個位置。在這種情況下,你的另外的引導(dǎo)裝載系統(tǒng)會首先取得控制權(quán)。然后你可以配置它來啟動 GRUB(或 LILO),繼而引導(dǎo) Red Hat Linux。   如果你的系統(tǒng)只將使用 Red Hat Linux,你應(yīng)該選擇 MBR。對于帶有 Windows 95/98 的系統(tǒng)來說,你也應(yīng)該把引導(dǎo)裝載程序安裝到 MBR,因此它可以引導(dǎo)兩個操作系統(tǒng)。本實驗

45、將引導(dǎo)程序裝在MBR中。   「強(qiáng)制使用 LBA32 (通常不需要)」選項允許你的 /boot 分區(qū)超過 1024 柱面限制。如果你的系統(tǒng)支持使用 LBA32 擴(kuò)展來引導(dǎo)超過 1024 柱面限制的操作系統(tǒng),并且你想把 /boot 分區(qū)放置在 1024 柱面之外,你應(yīng)該選擇該選項。如果你想給引導(dǎo)命令添加默認(rèn)選項,請把它們輸入到 「內(nèi)核參數(shù)」 字段中。你輸入的任何選項將會在每次引導(dǎo)時被傳遞給 Linux 內(nèi)核。 5.11 網(wǎng)絡(luò)配置   如果你沒有網(wǎng)絡(luò)設(shè)備,你將看不到這個屏幕。如果你有網(wǎng)絡(luò)設(shè)備但還沒有配置聯(lián)網(wǎng)(譬如,從你創(chuàng)建的網(wǎng)絡(luò)驅(qū)動程序盤中引導(dǎo),并在提示時輸入了你的網(wǎng)絡(luò)信息),你現(xiàn)在就有機(jī)會

46、來配置它。   安裝程序會自動檢測到你擁有的任何網(wǎng)絡(luò)設(shè)備,并把它們顯示在「網(wǎng)絡(luò)設(shè)備」列表中。選定網(wǎng)絡(luò)設(shè)備后,點擊「編輯」。從彈出的「編輯接口」屏幕上,你可以選擇通過 DHCP 來配置網(wǎng)絡(luò)設(shè)備的 IP 地址和子網(wǎng)掩碼(若沒有選擇 DHCP ,則手工配置),你可以選擇在引導(dǎo)時激活該設(shè)備。如果你選擇了「引導(dǎo)時激活」,你的網(wǎng)絡(luò)接口就會在引導(dǎo)時被啟動。如果你沒有 DHCP 客戶的訪問權(quán),或者你不能肯定這里該提供什么信息,請和你的網(wǎng)絡(luò)管理員聯(lián)系。 5.12 防火墻配置   Red Hat Linux 為增加系統(tǒng)安全性提供了防火墻保護(hù)。防火墻存在于你的計算機(jī)和網(wǎng)絡(luò)之間,用來判定網(wǎng)絡(luò)中的遠(yuǎn)程用戶有權(quán)訪問

47、你的計算機(jī)上的哪些資源。一個正確配置的防火墻可以極大地增加你的系統(tǒng)安全性。請為你的系統(tǒng)選擇恰當(dāng)?shù)陌踩墑e。 5.13 語言支持的選擇   你的系統(tǒng)上可以安裝并支持多種語言。你必須選擇一種語言作為你的默認(rèn)語言。當(dāng)安裝結(jié)束后,你的系統(tǒng)中將會使用默認(rèn)語言。如果你選擇安裝了其它語言,你可以在安裝后改變你的默認(rèn)語言。   如果你只打算在系統(tǒng)上使用一種語言,只選擇那種語言將會節(jié)省大量磁盤空間。默認(rèn)語言是你在安裝中選擇要使用的語言。要在你的系統(tǒng)上使用多種語言,具體指定要安裝的語言,或者選擇在你的 Red Hat Linux 系統(tǒng)上安裝所有可用語言。 5.14 時區(qū)配置   你可以通過選擇你的計算機(jī)

48、的物理位置,或者指定你的時區(qū)和通用協(xié)調(diào)時間(UTC)間的偏移來設(shè)置你的時區(qū)。 5.15 設(shè)置根口令   設(shè)置根帳號及其口令是安裝過程中最重要的步驟之一。你的根帳號與用在 Windows NT 機(jī)器上的管理員帳號類似。根帳號被用來安裝軟件包,升級RPM,以及執(zhí)行多數(shù)系統(tǒng)維護(hù)工作。作為根用戶登錄可使你對系統(tǒng)有完全的控制權(quán)。   安裝程序會提示你為你的系統(tǒng)設(shè)置一個根口令。你必須輸入一個根口令。如果根口令沒有被輸入,安裝程序?qū)⒉辉试S你繼續(xù)。 5.16 驗證配置   如果你執(zhí)行的是個人桌面、工作站、或服務(wù)器安裝,請?zhí)较乱还?jié)。如果你不必設(shè)置網(wǎng)絡(luò)口令的話,你可以跳過這一部分。本實驗跳過這一部分。

49、 5.17 軟件包組的選擇   當(dāng)分區(qū)被選定并按配置格式化后,你便可以選擇要安裝的軟件包了。   除非你選擇的是定制安裝,安裝程序?qū)詣訛槟氵x擇多數(shù)軟件包。你可以選擇根據(jù)功能歸類的軟件包組(譬如,「X 窗口系統(tǒng)」、「編輯器」);單個軟件包;或者兩者的組合。要選擇一個軟件包組,點擊它旁邊的復(fù)選箱。本實驗軟件包的一些配置情況如下: Desktop組:選擇X Windows System, GNOME Desktop Environment和KDE Desktop Environment任選一個即可; Applications組:加上Editors,其他任意; Servers組:

50、都可以不選; Development組:選擇Development Tools,其他任意; System組:任意,不用選Printing Support。 5.18 準(zhǔn)備安裝   你應(yīng)該看到一個為你安裝 Red Hat Linux 做準(zhǔn)備的屏幕。當(dāng)你重新引導(dǎo)系統(tǒng)后,一份完整的安裝日志可在 /root/install.log 中找到,以備今后參考。   要取消安裝進(jìn)程,按你的計算機(jī)的重啟按鈕,或者使用 [Control]-[Alt]-[Delete] 組合鍵來重啟你的機(jī)器。 5.19 安裝軟件包   到了這一步,在所有軟件包被安裝之前你將不必進(jìn)行任何操作。安裝的快慢要依據(jù)你

51、所選擇的軟件包數(shù)量和你的計算機(jī)速度而定。 5.20 創(chuàng)建引導(dǎo)盤   要創(chuàng)建一張引導(dǎo)盤,在你的磁盤驅(qū)動器內(nèi)插入一張空白的、格式化了的磁盤,然后點擊「下一步」。強(qiáng)烈建議你創(chuàng)建一張引導(dǎo)盤。如果由于某種原因,你的系統(tǒng)無法使用 GRUB、LILO、或第三方的引導(dǎo)裝載程序來正確引導(dǎo),引導(dǎo)盤將會使你能夠正確地引導(dǎo)你的 Red Hat Linux 系統(tǒng)。如果你不想創(chuàng)建引導(dǎo)盤,請確定在點擊「下一步」按鈕前選擇相應(yīng)的選項。如果你使用引導(dǎo)盤來引導(dǎo)你的系統(tǒng)(而不是 GRUB 或 LILO),無論何時你對內(nèi)核做了些改變(包括安裝一個新內(nèi)核)后,你都應(yīng)確定創(chuàng)建一張新的引導(dǎo)盤。 5.21 視頻卡配置   安裝程序現(xiàn)

52、在將會給你一個視頻卡列表,以供你選擇。如果你決定要安裝 X 窗口系統(tǒng)軟件包,你現(xiàn)在就有機(jī)會為你的系統(tǒng)配置一個 X 服務(wù)器。如果你的視頻卡沒有出現(xiàn)在列表中,這說明 X 可能不支持它。然而,如果你對你的視頻卡有技術(shù)上的了解,你可以選擇「沒列出的卡」,然后試圖通過匹配視頻卡的視頻芯片與 X 服務(wù)器來配置它。   下一步,輸入在你的視頻卡上安裝的視頻內(nèi)存數(shù)量。如果你不能肯定,請閱讀你的視頻卡文檔。選擇多于可用的內(nèi)存不會損壞你的視頻卡,但是 X 服務(wù)器可能不會正確啟動。如果你斷定你選擇的數(shù)值是不正確的,你可以點擊「恢復(fù)原值」按鈕來返回到建議的設(shè)置。如果你寧愿安裝后再配置 X 或干脆不安裝,你還可以選擇

53、「跳過 X 配置」。 5.22 X 配置——顯示器和定制   為了完成 X 配置,你必須配置你的顯示器并定制你的 X 設(shè)置。 (1) 配置你的顯示器   安裝程序會給你提供一個顯示器列表。你既可以使用自動為你檢測到的顯示器,也可以在這個列表中另選一個。如果你的顯示器沒有在列表中出現(xiàn),選擇最恰當(dāng)?shù)摹竿ㄓ谩剐吞?。若選擇「通用」顯示器,安裝程序會建議一個水平和垂直頻率范圍。這些數(shù)值通常在你的顯示器文檔中可以找到,也可從你的顯示器的銷售商或制作商處得到。請核對你的文檔以確保這些數(shù)值被正確設(shè)置了。   安裝程序為你的系統(tǒng)建議的水平和垂直頻率范圍也顯示在顯示器列表之下。如果你斷定你所選的顯示器或

54、頻率數(shù)值不正確,你可以點擊「恢復(fù)原值」按鈕來返回到建議的設(shè)置中。 當(dāng)顯示器配置完畢后,點擊「下一步」。 (2) 定制配置   為你的 X 配置選擇正確的色彩深度和分辨率。如果你執(zhí)行的是定制或服務(wù)器安裝,你還可以選擇在安裝結(jié)束后,你要將系統(tǒng)引導(dǎo)入文本還是圖形化環(huán)境。除非你有特殊需要,推薦你引導(dǎo)入圖形化環(huán)境(與 Windows 環(huán)境相似)。如果你選擇要引導(dǎo)入文本環(huán)境,你將會看到一個命令提示(與 DOS 環(huán)境相似)。個人桌面和工作站安裝會自動引導(dǎo)入圖形化環(huán)境。 6.安裝完成   祝賀你!你的 Red Hat Linux 安裝現(xiàn)已完成!   安裝程序會提示你做好重新引導(dǎo)系統(tǒng)的準(zhǔn)備。如果

55、安裝介質(zhì)(磁盤驅(qū)動器內(nèi)的磁盤或光盤驅(qū)動器內(nèi)的光盤)在重新引導(dǎo)時沒有被自動彈出,請記住取出它們。如果你沒有安裝并配置一個引導(dǎo)裝載程序,你現(xiàn)在將需要使用你在安裝過程中創(chuàng)建的引導(dǎo)盤。計算機(jī)正常的通電序列完成后,你應(yīng)該看到圖形化的引導(dǎo)裝載程序提示,在這里,你可以做以下的事情: 按 [Enter] 鍵——導(dǎo)致默認(rèn)的引導(dǎo)項目被引導(dǎo)。 選擇一個引導(dǎo)標(biāo)簽,接著按 [Enter] 鍵——導(dǎo)致引導(dǎo)裝載程序引導(dǎo)與該引導(dǎo)標(biāo)簽相對應(yīng)的操作系統(tǒng)。 什么都不做——引導(dǎo)裝載程序的超時時間過后(默認(rèn)為五秒),引導(dǎo)裝載程序?qū)詣右龑?dǎo)默認(rèn)的引導(dǎo)項目。 做引導(dǎo) Red Hat Linux 的恰當(dāng)選擇。你應(yīng)該看到一行行的信息

56、往上卷。最終,你應(yīng)該看到一個 login: 提示或 GUI 登錄屏幕(如果你安裝了 X 窗口系統(tǒng)并選擇要自動啟動它的話)。   在你第一次啟動了 Red Hat Linux 機(jī)器時,你會看到設(shè)置代理屏幕。它會引導(dǎo)你進(jìn)行 Red Hat Linux 配置。使用這個工具,你可以設(shè)置系統(tǒng)時間和日期;安裝軟件;在 Red Hat 網(wǎng)絡(luò)上注冊系統(tǒng)等等。設(shè)置代理讓你能夠一開始就配置環(huán)境,因此你可以馬上就得心應(yīng)手地使用 Red Hat Linux 系統(tǒng)。 二、編譯Linux內(nèi)核   本實驗將告訴你什么是Linux內(nèi)核,什么是模塊以及如何編譯、安裝一個新的內(nèi)核。實驗將帶領(lǐng)你經(jīng)歷內(nèi)核完整的編譯過

57、程,并在你的機(jī)器上安裝一個最新穩(wěn)定版本的Linux內(nèi)核。本實驗討論的課題如下: 內(nèi)核入門 查找并下載源代碼 配置內(nèi)核 編譯和安裝內(nèi)核 啟動配置 1.內(nèi)核入門 1.1 內(nèi)核就是...Linux!   當(dāng)你聽到”Linux”這個詞時你想到了什么?當(dāng)我聽到它時,我通常會想到一個完整的Linux軟件包和其中所有包含的程序。   但是,你也許會驚奇地發(fā)現(xiàn),從技術(shù)上而言,Linux是一個內(nèi)核,而且只是一個內(nèi)核。其余我們所通常稱之為”Linux”(例如一個 shell 和編譯器)的部分實質(zhì)上只是整個軟件包的一部分,它們從技術(shù)上而言是與Linux(內(nèi)核)是分開的。當(dāng)許多人使用”Linux

58、”這個詞來表達(dá)“基于Linux軟件包”時,每個人都會同意Linux內(nèi)核是每個軟件包的心臟。 1.2 與硬件接口   Linux內(nèi)核的重要職責(zé)是與你系統(tǒng)中的硬件直接接口。內(nèi)核提供了一個在裸機(jī)與應(yīng)用程序間的抽象層。例如,程序本身不需要了解你的主板芯片集或磁盤控制器的細(xì)節(jié)了——它們可以在更高層次上讀寫磁盤。 1.3 抽象CPU   Linux內(nèi)核還提供了在你系統(tǒng)處理器上的一層抽象——允許多個程序看起來在同時運行。Linux通過允許多個UNIX進(jìn)程一起運行——而內(nèi)核負(fù)責(zé)將處理器在其間分享。   一個Linux內(nèi)核可以支持一個或多個CPU——而你正在使用的內(nèi)核可能是“可支持-單處理器”(UP-

59、aware)或“可支持-對稱多處理器”(SMP-aware)。如果你碰巧有一塊SMP主板,但你使用的是一個UP內(nèi)核,Linux將無法“看到”你多余的處理器!要解決這個問題,你需要為你的硬件編譯一個特定的SMP內(nèi)核。當(dāng)前,SMP內(nèi)核也可運行在單處理器系統(tǒng)上,但會有少許的性能影響。 1.4 抽象 I/O   內(nèi)核也負(fù)責(zé)處理非常需要的任務(wù)——抽象所有形式的I/O操作。想象一下這個后果,如果每個程序需要與你的特定硬件直接操作,當(dāng)你更換磁盤控制器后,你的所有程序?qū)o法運行了!幸運的是,Linux內(nèi)核遵循UNIX的模型提供了一個簡單的磁盤I/O抽象,而每個程序都能使用它。這樣,你的數(shù)據(jù)庫系統(tǒng)將不用擔(dān)心

60、是運行在一個IDE硬盤上、一個SCSI RAID陣列或一個NFS文件系統(tǒng)上了。 1.5 網(wǎng)絡(luò)為中心   Linux的一個出名之處是它健壯的網(wǎng)絡(luò)功能,尤其是TCP/IP支持。如果你猜測TCP/IP棧是實現(xiàn)在Linux內(nèi)核,那你就對了!內(nèi)核為需要在網(wǎng)絡(luò)上發(fā)送數(shù)據(jù)的程序提供了一個易用、高層次的接口。在這后面,Linux內(nèi)核與你的以太網(wǎng)卡或Modem直接接口,而且處理底層的Internet通訊細(xì)節(jié)操作。 1.6 優(yōu)秀的網(wǎng)絡(luò)支持   Linux一系列優(yōu)點中出色的一點是所有有用的功能都能包含在內(nèi)核中,尤其是與網(wǎng)絡(luò)相關(guān)的。例如,你可以配置一個內(nèi)核來允許你整個的家庭網(wǎng)絡(luò)通過你Linux上的Modem訪

61、問因特網(wǎng)——這被稱為IP Masquerading,或IP NAT。   另外,Linux內(nèi)核可以被配置為載出或安裝(mount)基于網(wǎng)絡(luò)的NFS文件系統(tǒng),使得其他在你LAN上的UNIX機(jī)器與你的Linux系統(tǒng)輕松共享數(shù)據(jù)。 1.7 啟動,第一部分   當(dāng)你開啟你基于Linux的系統(tǒng)時,內(nèi)核被一個引導(dǎo)工具,例如LILO,從硬盤載入內(nèi)存。在此時,內(nèi)核接管了你的系統(tǒng)控制。它所作的第一件事是探測并初始化它所找到的硬件——它被編譯成能支持的那些。一旦硬件已經(jīng)被正確初始化,它就準(zhǔn)備開始運行進(jìn)程了。它運行的第一個進(jìn)程被稱為”init”,位于/sbin目錄下。然后,”init”啟動在/etc/init

62、tab文件中指定的其他進(jìn)程。 1.8 啟動,第二部分   ”init”通常啟動一個名為”getty”程序的多份拷貝,它等待來自控制臺的登錄。在getty成功處理一個登錄請求后,你缺省的shell(通常是bash)被載入。一旦你進(jìn)入bash,你就有能力來啟動任意一個你想要的程序了。   當(dāng)所有這些新的進(jìn)程被啟動后,內(nèi)核仍在控制系統(tǒng),精確地給CPU分割時間片這樣每個進(jìn)程將均勻地分到。另外,內(nèi)核繼續(xù)為各種運行中的進(jìn)程提供硬件抽象和網(wǎng)絡(luò)服務(wù)。 1.9 介紹...模塊!   所有最新的Linux內(nèi)核都支持內(nèi)核模塊。Kernel模塊是非常整齊的——它們是除非需要駐留在硬盤上的內(nèi)核部分。一旦內(nèi)核需

63、要一個特定模塊的功能時,它從硬盤被載入,自動集成到內(nèi)核中就可被使用了。另外,如果內(nèi)核模塊有好幾分鐘未被使用,內(nèi)核可以自愿地將其從內(nèi)存中調(diào)出——被稱之為“自動清除”。 1.10 模塊,第二部分   內(nèi)核模塊是駐留在/lib/modules目錄下,而且每個模塊在其文件名結(jié)尾都有一個”.o”。你也許會猜到,每個模塊代表一個內(nèi)核功能的特定組件——一個模塊可能提供FAT文件系統(tǒng)支持,而另一個可能支持一種特殊的ISA以太網(wǎng)卡。   模塊使得你的內(nèi)核占用少量的內(nèi)存空間。你可創(chuàng)建一個內(nèi)核只包含足以啟動計算機(jī)的功能,而其他的功能則在需要時被載入。由于內(nèi)核能自動清除它所載入的模塊,你系統(tǒng)的內(nèi)存資源能被很好地

64、利用。 1.11 模塊——特別注意!   你是無法將所有一切放入一個模塊的。由于模塊是存放在磁盤上,你可啟動的內(nèi)核映像需要被編譯入你的磁盤控制器以及對你基本文件系統(tǒng)(通常是ext2文件系統(tǒng))的支持。如果你沒有將這些重要的組件編譯入你的內(nèi)核映像(而是將它們作為模塊來編譯),然后你的內(nèi)核就無法獲得基本的功能來從磁盤上載入這些模塊了——導(dǎo)致了一個“雞生蛋、蛋生雞”的問題! 2.查找并下載源代碼 2.1 內(nèi)核版本   要編譯一個最新的內(nèi)核,你需要首先下載它的源代碼。在你下載內(nèi)核的源代碼前,你要知道你要找什么。首先要問你自己的問題是——你需要一份穩(wěn)定的還是測試版的內(nèi)核?   穩(wěn)定版內(nèi)核通

65、常版本號第二位用偶數(shù)數(shù)字——例如,2.0.38、2.2.15、2.2.18和2.4.1是被認(rèn)為是“穩(wěn)定”的內(nèi)核(分別由于其包含0、2、2和4)。如果你想嘗試測試版內(nèi)核,你通常需要找那些版本號第二位是奇數(shù)號碼的內(nèi)核。例如,2.3.99和2.1.38都是測試版內(nèi)核(分別由于其包含3和1)。 2.2 內(nèi)核版本歷史   2.4系列的內(nèi)核被認(rèn)為是較新而且穩(wěn)定的內(nèi)核。如果“較新”和“穩(wěn)定”是你想要的,查找一個版本號的第三位是最高的2.4內(nèi)核(2.4.26是目前最新的版本)。   當(dāng)2.4系列的內(nèi)核仍在開發(fā)中,2.5系列已經(jīng)開始了。這個系列是作為將被集成到2.6穩(wěn)定版系列的新功能和高級功能的測試版。2

66、.5系列到了2.5.75,其開發(fā)已經(jīng)停止。開發(fā)人員已經(jīng)開始著手2.6.0。如果你喜歡冒險使用最新的技術(shù),你可能想使用可以找到的最新的2.6系列內(nèi)核。 2.3 下載內(nèi)核   如果你只是想編譯一個你已安裝內(nèi)核的新版本(例如,實現(xiàn)SMP支持),那不需要下載任何代碼。   你可以在http://www.kernel.org/pub/linux/kernel上找到內(nèi)核代碼。當(dāng)你進(jìn)入到那后,你將發(fā)現(xiàn)內(nèi)核的源代碼按內(nèi)核版本(v2.2、v2.3等),被組織到多個不同的目錄中。在每個目錄中,你將發(fā)現(xiàn)文件被冠以”linux-x.y.z.tar.gz”和”linux-x.y.z.tar.bz2”。這些就是Linux內(nèi)核的源代碼。你也將看到冠以

展開閱讀全文
溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!