1. 程式人生 > >讀書筆記之《Linux作業系統之奧祕》

讀書筆記之《Linux作業系統之奧祕》

Linux作業系統之奧祕

邱世華 著

電子工業出版社

  市面上大部分關於Linux的書都著重探討Server管理,X Window操作上,缺乏Linux根基;也有些書以對Kernel的解析為主,把Linux的應用切除在外。本書試圖在這兩個極端之間找到平衡點。

  本書的重點——Linux與硬體十分密切。

  本書分為三大篇:進入系統、管理系統、GUI介面。

  • 進入系統
    1. BIOS
      1. 何謂BIOS

全名為基本輸入輸出系統

啟動電源——》Initial北橋——》講程式載入記憶體中——》讀取南橋中的CMOS data——》建立SMBIOS——》POST

四大作用:自動檢測並進行初始化。記錄系統設定值。中斷處理。載入作業系統。

CPU先找到BIOS——》BIOS開始執行——》BIOS訪問CMOS設定——》講BIOS中的引數與CMOS中的設定合併,一起載入記憶體

      1. Power On
      2. POST
      3. BIOS資訊
      4. BIOS維護
      5. 硬碟的主引導扇區(MBR)

硬碟的第一個扇區是MBR。分為Bootloader、Partition table和Magic Number三個區域。

Bootloader的主要作用有兩個:載入扇區。指向kernel

每個分割槽的第一個扇區被稱為引導扇區(boot sector)。

      1. BIOS與作業系統的互動
    1. 開機管理程式
      1. 何謂GRUB

【GRUB2已經取消stage】

stage1主要負責當BIOS交接給GRUB時,載入存在於各分割槽中的開機檔案,即所謂的開機管理程式。stage1檔案是MBR中的bootloader的備份檔案。

stage1.5的作用是連線stage1和stage2的通道,裡面存放的是某一系統檔案的格式。其實stage1.5是存在硬碟最前面的32K中(但是要跳過MBR)。

stage2是核心程式,提供的功能有:提供選項;訪問設定檔案;連線下一個boot sector。

      1. GRUB的設定方式

主要內容:title root kernel initrd

      1. 多重開機的管理
      2. 安裝GRUB
      3. 除錯方式
      4. 拯救無法開機的情況

總結

    1. Kernel與initrd
      1. 何謂kernel
      2. 編譯kernel
      3. 何謂initrd

Kernel載入記憶體——》在記憶體中建立rootfs空間——》講initrd檔案載入到rootfs中,順序執行其中的指令碼——》進入實際的檔案系統工使用者使用

      1. 開機常用的kernel引數

總結

    1. initrd中init

nash指令——》掛載主要的檔案系統——》建立裝置檔案所需要的檔案系統——》建立最初所需要使用的裝置檔案——》載入相關模組——》切入實體作業系統

      1. 認識nash
      2. 掛載主要的檔案系統

Init檔案中要執行的第一件事建立/proc以及/sys

      1. 建立裝置檔案所需的檔案系統

建立虛擬空間——》在虛擬空間中建立console的顯示介面目錄——》建立磁碟對應檔案所需使用的目錄

      1. 轉移前的準備

總結

    1. Init

系統進入後進行的第一個程式

      1. init的基本結構

以initdefault值判斷進入哪個runlevel——》執行/etc/rc.d/rc.sysinit——》執行rc.Xd下的程式——》通過登入程式進入shell

      1. /etc/rc.d/rc.sysinit
      2. /etc/rc.d/rcX.d
      3. 通過登入程式進入shell

總結

  • 管理系統
    1. 系統檢查
      1. 硬體部分
      2. ext3與Journaling
      3. 韌體部分

總結

    1. 系統性能
      1. 效能除錯
      2. 硬體測試

總結

  • GUI介面
    1. X Window System

X Window有三個部分組成:X Server(主控臺)、X Client(應用程式)、Window Manager(視窗管理軟體)

      1. X重要元件

Keyboard/Mouse/Screen…——》X Server——》X Client(browser)/X Client(xterm)…

Window Manager提供方便的環境(如視窗的拖拉、大小的更改等)

Widget 視窗控制元件,圖形的函式庫

Display Manager提供使用者登入的畫面;幫X Server建立session

Desktop Manager將前述軟體等打包在一起的組合套件

      1. 進入X Window流程的差異

大致兩種初始化方式:startx;init 5

使用startx沒有登入介面,會沿用之前環境下的引數變數像語系等

      1. 操作X Window的Client-Server

總結

    1. Virtual Machine
      1. XEN的介紹

XEN是一套在硬體和使用者之間的一個模擬介面。在硬體與系統之間加入了一層Hypervisor。

好處有:加強了硬體的可用性;動態分配資源;降低支出;安全性;可移動性或可移植性

      1. 安裝PV

PV(Para-Vritualization)區域性模擬,需要作業系統在開發時講XEN的技術包括進去。

      1. 安裝FV

FV(Full Virtualization)完全模擬,效能會有折扣,不支援新技術。對CPU有特殊需求,如Intel VT與AMD-V。

      1. XEN相關設定

總結

附錄A GRUB Stage1.5與Stage2錯誤資訊對照表