歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網

開機簡述

日期:2017/2/27 14:31:18   编辑:更多Linux
  啟動 1. lilo 2. kernel 3. init 1/2/3/5 important files: /etc/inittab /etc/rc.d/... 4. xdm (graphics interface) important file: /etc/X11/xinit/xsession It seemed that different distribution has differrent xsession. 5. see how /etc/X11/xinit/xsession is written. some related files: Xclients, xinitrc, .xsession, .Xclients, .xinitrc   開機過程指的是從打開計算機電源直到Linux顯示用戶登錄畫面的全過程。分析LINUX 開機過程也是深入了解LINUX核心工作原理的一個很好的途徑。在不同的計算機平台上, LINUX的開機過程稍有不同,本節以X386微機系統為例,介紹LINUX的開機過程。 1. 開機自檢   在剛開機時,根據X386CUP的特性,代碼段(CS,CODE SEGMENT)寄存器的值為全1, 指令計數器(IP,INSTRUCTION POINTER)的值為全0,即CS=FFFF、IP=0000。這時CPU根據 CS和IP 的值執行FFFF0H處的指令。由於FFFF0H已經到了基本內存的高地址頂端,所以, FFFF0H處的指令一般總是一個JMP指令,以便CPU能夠跳到比較低的地址去執行那裡的代碼, 這個地址通常是ROM BIOS 的入口地址。接著,ROM BIOS 進行開機自檢,如檢查內存,鍵 盤等。在自檢過程中,ROM BIOS會在上位內存(UMB,UPPERMEMORY BLOCK)中進行掃描, 看看是否存在合法的設備控制卡ROM BIOS(如:SCSI卡上的ROM),如果有,就執行其中的 一些初始化代碼。最後,ROM BIOS 讀取磁盤上的第一個扇區並將這個扇區的內存裝入內存。 2. 預引導   假定硬盤是系統的啟動磁盤。硬盤的第一扇區稱為主引導記錄(MBR, MASTER BOOTRECORD)。 MBR 的長度為512字節。可分為兩部分:第一部分為引導(PRE-BOOT)區,占了446個字節; 第二部分為分區表(PARTITION PABLE),共有66個字節,記錄硬盤的分區信息。預引導 區的作用之一是找到標記為活動(ACTIVE)的分區,並將活動分區的引導區讀入內存。   如果用軟盤啟動計算機,ROM BIOS 讀入的是軟盤的引導區,即軟盤的第一個扇區。 3. 核心映像裝入   在LINUX系統中,人們通常把LILO(LINUX LOADER)放在MBR或某個分區的超級塊 (SUPERBLOCK)中。假定LILO在MBR中,讀取MBR後,LILO就會被首先執行。此時,屏幕上 出現“BOOT:”字樣,接下來的工作是裝入LINUX核心映像。如果LILO安裝在某個分區的超 級塊中,通常還會有一個管理開機的程序,這個管理開機的程序負責讀取LILO,進而進行 核心映像的裝入工作。 4. 核心啟動   核心裝入完畢後,CPU的控制權就交給了核心啟動代碼。此時,核心首先進行硬件的 檢測和設備驅動程序的初始化,然後運行INIT。INIT 是LINUX核心啟動的第一個用戶進程, 其進程號為1,是系統其它用戶進程的祖先。 5. 系統初始化   INIT進程負責進行一系列系統初始化程序和腳本文件,/ETC/INITTAB中包含了INIT所 做的所有工作。 6. 等待用戶登錄   系統初始化完畢後,INIT 切換到多用戶模式,並為每一個虛擬控制台和串行終端啟 動一個GETTY進程。GETTY進程負責接受和檢驗用戶的登錄要求。   至此,LINUX系統的啟動工作全部完成。不同核心版本的LINUX 的啟動過程有一定的 差異,不同發行版本的LINUX 的啟動也可能稍有不同,但基本過程是類似的。另外,在 “BOOT:”後,利用“LINUX SINGLE”命令可以迫使LINUX進入單用戶模式,除不要求用 戶登錄和不啟動虛擬終端以外,啟動過程的其它部分也基本類似。




Copyright © Linux教程網 All Rights Reserved