Linux作業系統之奧秘(第2版)

《Linux作業系統之奧秘(第2版)》是2011年出版的圖書,作者是邱世華。本書是一本關於Linux整體概念的工具書,書中用實際的操作步驟和開機流程來說明作業系統的本質與精髓,希望通過閱讀本書,讀者能提高對Linux作業系統架構的理解。

基本介紹

Linux作業系統之奧秘(第2版)

邱世華 編著

16開

340頁

用實際的操作步驟和啟動流程來說明作業系統的本質與精髓

內容簡介

本書分三篇共9章內容,主要包括BIOS、引導管理程式、kernel與initrd、進入系統前的Script File、進入系統、系統中的電源管理、系統檢查、系統性能、Virtual Machine等內容。

本書適合任何對Linux感興趣的讀者,同時也可作為大中專院校相關專業輔導讀本。

作者序

沒想到這本書可以再版,這都要感謝讀者們的“愛護”。一開始筆者只想把所學的東西、所知道的事情做個整理,作為一本參考書,分享給大家,沒想到大家對於這本書的內容非常感興趣,讓筆者十分欣慰。在寫作過程中,也陸續收到讀者的來信(這是我最興奮的事情),詢問書中一些相關的問題,也希望通過這些郵件,在本版中能補充讀者們所需要知道的答案與知識。

一開始會希望有再版的機會,主要是書中所提到的“upstart”與“ACPI”兩大部分。筆者總是納悶,為什麼遍尋網路、書本都找不到有關“upstart”的文章?但是,這部分在較新版的Linux中,卻是一項非常重要的特色,尤其在最近發布的Ubuntu 9.10中,可以看到把upstart的精神發揮得淋漓盡致(該目錄已被搬到“/etc/init”下),很多的系統設定都是通過upstart來啟用的。

至於“ACPI”,筆者認為這個功能在系統的運行中,是特別值得注意的。不論是關機、重新啟動還是休眠等,尤其我們已身處在一個重視環保的年代,似乎更需要了解電源管理的意義。再有就是筆記本電腦(比伺服器計算機更注重ACPI的功能)使用率的提高,而且目前的Linux對ACPI的支持度比起以前實在好太多了(難道是與筆者所使用的版本有關?)。不論如何,筆者相信讀者會和我一樣對電源管理的設定及套用感興趣的。

隨著家中小朋友的年紀越來越大,老婆的脾氣也越來越受到“考驗”,真的很為難在這樣的時候還要讓我“安靜”地寫書,希望這本書可以當做已經過期的生日禮物(好像很久沒過生日了……)。另外,也要感謝兩個小朋友的阿姨們對我老婆的關心,她們一直都是我老婆可以“發泄”的對象。當然也要感謝這本書的編輯書瑜以及小世,忙到快翻掉還要被我催稿(好像反過來了),希望大家可以長長久久地一直合作下去。

當然沒有忘記最偉大的讀者們,沒有你們就沒有這本書。大家若對這本書有任何意見,都可以告訴筆者,大家都是Linux User,互相交流是唯一進步最快的方式。當你們詢問問題時,就等於是讓筆者在Linux領域有進一步鑽研的機會,這也是為何很高興收到讀者寫信詢問的原因,期待你們的問題!

邱世華

2009年11月

導 讀

使用Linux這么多年,一直以來,都沒有時間好好地把研究及經驗整理出來,一方面也是因為Linux下的kernel、軟體更新速度實在太快了。因此,在規劃本書時,便希望儘量不要因套件、版本的不同,而造成內容的差異。

另一方面,也期望將本書規劃成非常實用的工具書,不論遇到任何系統的疑難雜症,都可以利用這本書找到真正核心的問題,因為Linux並不是短時間即可學好的作業系統,所需要的入門知識實在太多了!

建議你在閱讀本書時,一定要掌握一個重點——Linux與硬體的關係是十分密切的,這也是本書一再強調的。雖然本書是以Fedora為主要的範例說明,但只要是使用Linux當成kernel的作業系統,其內容都適用。本書結構主要分成三大篇:

第一篇:引入系統

第二篇:系統中狀態

第三篇:Virtual Machine

本書篇名與系統的關係圖

三篇的關係就好比是整個作業系統的架構,從硬體到X Window都綁在一起,彼此關係密不可分。尤其是第三篇的Virtual Machine,是一個很新、很特別的機制,因為跨越了硬體、軟體及作業系統的界線,而成為了一個獨立的虛擬作業系統。

第一篇:引入系統

本篇內容主要以Linux基本觀念為主,讓讀者可以通過實例,了解Linux進入作業系統的每一個步驟,以及軟硬體之間的關係。以整個啟動流程為章節順序開始介紹,從BIOS一直到登錄Linux都涵蓋在內。第1章雖然和Linux沒有直接關係,但BIOS對Linux啟動以及系統的實際操作上有一定程度的影響,因而將其加入到基本觀念中。接著,之後的第2章、第3章和第4章都是Linux中不得不知的細節。

kernel及initrd是比較偏重硬體的部分,如果是CPU、記憶體或硬體的問題,將造成無法開機,比較有可能會在第3章及第4章啟動的過程中看到,因為在這兩章中的階段是開始啟動kernel,卻又尚未進入真正的作業系統。

第二篇:系統中狀態

在第5章中,許多啟動時遇到的問題都是在此階段產生的。因為這是進入系統的第一個階段,所有的環境、區域變數,以及系統的設定都是在此建立的,也就是說,如果問題是由系統本身所造成的,將很有可能會停在這個步驟。

在硬體之上,如何通過Linux內置的指令以及一些外在的工具程式,判斷系統的穩定度?本篇的重點在於如何檢查系統軟硬體的搭配狀況,也針對目前很重要的觀念——“電源管理”做深入的探討。不論是系統中的硬體狀態或是電源管理的問題,都可以在本篇範圍中尋求解答。

很多硬體無法使用的原因並不一定是來自硬體本身,能否順利排除,往往得靠使用者對軟硬體是否具備整合能力來判斷。對一個負載越大的系統,就越需要本篇的指引,通過本篇所介紹的觀念,可以幫助使用者以較快的方式找到問題的癥結,或是讓讀者知道如何在Linux中對應到硬體的狀態。

從系統管理者的角度來看,整個系統的穩定度都操控在手中,若沒有將系統與軟硬體之間的關係理清楚,很容易會產生非預期的結果。本書中的第一篇及第二篇都是非常重要的部分,尤其像現在的伺服器,很多會因為性能取向而直接犧牲圖形接口,這樣的導向就更需要第二篇之前的基本觀念。

對一般使用者來說,計算機一買來,就應該按照第7章所談到的系統檢查先行檢查過,這是個很容易忽略的關鍵,雖然不是每一項都會影響到啟動的進行,但性能的差別是非常大的。

之後再運用第8章所介紹的系統性能觀念,並參考其中所介紹到的硬體測試工具或方法,以了解性能所帶來的差異。有時候某些硬體並不一定需要工具程式才可以評估好壞,在有限的資源中,也有可以即時知道的方法。

第5.4節:X Window

會把這一節拉出來獨立做說明,是因為本節主要是以探討X Window為主,而與其他相關的章節進行區分。雖然說這也是屬於系統中的狀態,但重點是Linux中圖形界面的基本觀念,本節的重點是讓讀者對Linux如何讓使用者具備圖形界面能有較清楚的認識。

和以往所看到如何在X Window下使用各式各樣的軟體不同,本節是以一個全新的角度來看視窗界面架構的。與本書的基本精神一樣,我們並不會提到如何操作X Window,取而代之的,是說明X Window的啟動流程以及整個X Window的架構,這對於基於筆記本電腦使用XWindow的使用者而言,是非常有幫助的,尤其是當遇到啟動X Window的問題時。

第三篇:Virtual Machine

另一個獨立的章節就是第9章——VirtualMachine,原因在於Virtual Machine於Linux是一個全新的架構,雖不能說是Linux的觀念,但往後所有的Linux,都有可能會加入Virtual Machine的功能。因為是全新的功能,本章重點先放在如何操作上,這也是本書唯一介紹操作層面的章節,希望讓讀者可以以最快的速度熟悉此項最新的功能。

Virtual Machine是未來的趨勢,不只是Linux,Windows也已經走向這樣的機制,WindowsServer 2008其實就已經是Virtual Machine的作業系統。連Windows都已經默認以Virtual Machine為系統架構,身為Linux使用者的你當然一定要知道。

本書所要帶給讀者的,不是速成找到問題的解決之道,而是希望通過建立對整體Linux作業系統架構的理解,讓所有使用者可以在問題發生時,了解其問題原因所在以及未來防範的方法。相信唯有如此,才可以讓一台Linux的主機無後顧之憂,而不需要一直有追隨版本的迷思。

Note|如何取得Linux作業系統——Fedora

Fedora 是由Red Hat所主導的免費Linux-based作業系統,讀者可從網站下載各版本的安裝光碟image檔案。

目 錄

第一篇引入系統

第1章 BIOS——啟動硬體及載入固件的靈魂 2

1.1 何謂BIOS 3

1.2 Power On 10

1.3 POST 12

1.4 BIOS信息 14

1.5 BIOS修復 17

1.6 硬碟的零磁軌 18

1.7 BIOS與作業系統的互動 26

第2章 引導管理程式 28

2.1 何謂GRUB 29

2.2 GRUB的設定方式 38

2.3 多重引導的管理 44

2.4 安裝GRUB 50

2.5 除錯方式 59

2.6 拯救無法開機的情況 61

第3章 kernel ∈itrd:核心程式與初始化檔案 68

3.1 何謂kernel 71

3.2 編譯kernel 74

3.3 何謂initrd 91

3.4 開機時常用的kernel參數 102

第4章 進入系統前的ScriptFile 107

4.1 認識nash 109

4.2 掛載主要的檔案系統 111

4.3 建立設備檔案所需的檔案系統 117

4.4 轉移前的準備 131

第二篇系統中狀態

第5章 進入系統 140

5.1 upstart啟動機制 143

5.2 runlevel的介紹 147

5.3 登錄Terminal 153

5.4 X Window 180

第6章 系統中的電源管理 207

6.1 何謂ACPI 208

6.2 G State 215

6.3 S State 217

6.4 C/D/P State 223

第7章 系統檢查 228

7.1 硬體 229

7.2 ext3與journaling 241

7.3 ext4 246

7.4 固件 249

第8章 系統性能 262

8.1 性能調校 263

8.2 硬體測試 274

總結 287

第三篇Virtual Machine

第9章 VirtualMachine 289

9.1 虛擬機的原理 293

9.2 XEN 306

9.3 KVM 313

相關詞條

熱門詞條

聯絡我們