中文字幕欧美日韩一区二区三区_高清久久一区_阳光姐妹淘韩国版_日韩精品免费视频一区二区三区_91在线成人_一级黄色免费_精品欧美黑人一区二区三区

Linux服務器啟動過程詳解

    隨著Linux的應用日益廣泛,特別是在網絡應用方面,有大量的網絡服務器使用Linux操作系統。由于Linux的桌面應用和Windows相比還有一定的差距,所以在企業應用中往往是Linux和Windows操作系統共存形成異構網絡。在服務器端大多使用Linux和Unix的,目前Linux的擅長應用領域是單一應用的基礎服務器應用,譬如DNS和DHCP服務器、Web服務器、目錄服務器、防火墻、文件和打印服務器、Intranet代理服務器 。啟動 Linux 系統的過程包括很多階段。不管您是引導一個標準的 x86 處理器,還是PowerPC 機器,很多流程都驚人地相似。本文將描述了從開機到登錄的 Linux 啟動全過程。

 (1) 從BIOS到內核
    BIOS自檢
    計算機在接通電源之后首先由BIOS進行自檢,即進行所謂的POST(Power On Self  
Test),然后依據BIOS內設置的引導順序從硬盤、軟盤或CDROM中讀入“引導塊”。 在 PC 中,引導 Linux 是從 BIOS 中的地址 0xFFFF0 處開始的。BIOS 的第一個步驟是加電自檢(POST)。POST 的工作是對硬件進行檢測。BIOS 的第二個步驟是進行本地設備的枚舉和初始化。給定 BIOS 功能的不同用法之后,BIOS 由兩部分組成:POST 代碼和運行時服務。當 POST 完成之后,它被從內存中清理了出來,但是 BIOS 運行時服務依然保留在內存中,目標操作系統可以使用這些服務。 
    要引導一個操作系統,BIOS 運行時會按照 CMOS 的設置定義的順序來搜索處于活動狀態并且可以引導的設備。引導設備可以是軟盤、CD-ROM、硬盤上的某個分區、網絡上的某個設備,甚至是 USB 閃存。通常,Linux 都是從硬盤上引導的,其中主引導記錄(MBR)中包含主引導加載程序。MBR 是一個 512 字節大小的扇區,位于磁盤上的第一個扇區中(0 道 0 柱面 1 扇區)。當 MBR 被加載到 RAM 中之后,BIOS 就會將控制權交給 MBR。
    提取 MBR 的信息
    要查看 MBR 的內容,請使用下面的命令:
    # dd if=/dev/hda of=mbr.bin bs=512 count=1 # od -xa mbr.bin 

    這個 dd 命令需要以 root 用戶的身份運行,它從 /dev/hda(第一個 IDE 盤) 上讀取前 512 個字節的內容,并將其寫入 mbr.bin 文件中。od 命令會以十六進制和 ASCII 碼格式打印這個二進制文件的內容。

  (2)啟動GRUB/LILO
    GRUB和LILO都是引導加載程序。最簡單地講,引導加載程序(boot loader) 會引導操作系統。當機器引導它的操作系統時,BIOS 會讀取引導介質上最前面的 512 字節(即人們所知的 主引導記錄(master boot record,MBR))。在單一的 MBR 中只能存儲一個操作系統的引導記錄,所以當需要多個操作系統時就會出現問題。所以需要更靈活的引導加載程序。
    GRUB 與 LILO 的比較
    如本文開始處所述,所有引導加載程序都以類似的方式工作,滿足共同的目的。不過,LILO 和 GRUB 之間有很多不同之處:
·  LILO 沒有交互式命令界面,而 GRUB 擁有。  
·  LILO 不支持網絡引導,而 GRUB 支持。  
·  LILO 將關于可以引導的操作系統位置的信息物理上存儲在 MBR 中。如果修改了 LILO 配置文件,必須將 LILO 第一階段引導加載程序重寫到 MBR。相對于 GRUB,這是一個更為危險的選擇,因為錯誤配置的 MBR 可能會讓系統無法引導。使用 GRUB,如果配置文件配置錯誤,則只是默認轉到 GRUB 命令行界面。
    安全提示:
    關于安全性,任何可以接觸到引導磁盤/CD 的人,只需要使用沒有設置安全性的 grub.conf 或 lilo.conf,就可以繞過本文中提及的所有安全措施。特別是使用 GRUB 時,因為能夠引導到單用戶模式,所以是一個嚴重的安全漏洞。解決此問題的一個簡單方法是在機器的 BIOS 中禁止通過 CD 和軟盤進行引導,并確保為 BIOS 設置了一個口令,使得其他人不能修改這些設置。

   (3)加載內核
    當內核映像被加載到內存之后,內核階段就開始了。內核映像并不是一個可執行的內核,而是一個壓縮過的內核映像。通常它是一個 zImage(壓縮映像,小于 512KB)或一個 bzImage(較大的壓縮映像,大于 512KB),它是提前使用 zlib 進行壓縮過的。在這個內核映像前面是一個例程,它實現少量硬件設置,并對內核映像中包含的內核進行解壓,然后將其放入高端內存中,如果有初始 RAM 磁盤映像,就會將它移動到內存中,并標明以后使用。然后該例程會調用內核,并開始啟動內核引導的過程。
    GRUB 中的手工引導
    在 GRUB 命令行中,我們可以使用 initrd 映像引導一個特定的內核,方法如下:
    grub> kernel /bzImage-2.6.14.2
   [Linux-bzImage, setup=0x1400, size=0x29672e]
    grub> initrd /initrd-2.6.14.2.img
   [Linux-initrd @ 0x5f13000, 0xcc199 bytes]
    grub> boot
    Uncompressing Linux... Ok, booting the kernel.
如果您不知道要引導的內核的名稱,只需使用斜線(/)然后按下 Tab 鍵即可。GRUB 會顯示內核和 initrd 映像列表。

   (4)執行init進程
    init進程是系統所有進程的起點,內核在完成核內引導以后,即在本線程(進程)空間內加載init程序,它的進程號是1。init進程是所有進程的發起者和控制者。因為在任何基于Unix的系統(比如Linux)中,它都是第一個運行的進程,所以init進程的編號(Process ID,PID)永遠是1。如果init出現了問題,系統的其余部分也就隨之而垮掉了。
    init進程有兩個作用。第一個作用是扮演終結父進程的角色。因為init進程永遠不會被終止,所以系統總是可以確信它的存在,并在必要的時候以它為參照。如果某個進程在它衍生出來的全部子進程結束之前被終止,就會出現必須以init為參照的情況。此時那些失去了父進程的子進程就都會以init作為它們的父進程。快速執行一下ps -af 命令,可以列出許多父進程ID(Parent Process ID,PPID)為1的進程來。
    init的第二個角色是在進入某個特定的運行級別(Runlevel)時運行相應的程序,以此對各種運行級別進行管理。它的這個作用是由/etc/inittab文件定義的。

  (5)通過/etc/inittab文件進行初始化
    init的工作是根據/etc/inittab來執行相應的腳本進行系統初始化,如設置鍵盤、字體,裝載模塊,設置網絡,等等。
    對于RedhatLinux來說,執行的順序為: 
·   /etc/rc.d/rc.sysinit            # 由init執行的第一個腳本 
/etc/rc.d/rc.sysinit主要做在各個運行模式中相同的初始化工作,包括: 
  設置初始的$PATH變量。
配置網絡。
為虛擬內存啟動交換。
設置系統的主機名。
檢查root文件系統,以進行必要的修復。
檢查root文件系統的配額。
為root文件系統打開用戶和組的配額。
以讀/寫的方式重新裝載root文件系統。
清除被裝載的文件系統表/etc/mtab。
把root文件系統輸入到mtab。
使系統為裝入模塊做準備。
查找模塊的相關文件。
檢查文件系統,以進行必要的修復。
加載所有其他文件系統。
清除幾個/etc文件:/etc/mtab、/etc/fastboot和/etc/nologin。
刪除UUCP的lock文件。
刪除過時的子系統文件。
刪除過時的pid文件。
設置系統時鐘。
打開交換。
初始化串行端口。
裝入模塊。
·  /etc/rc.d/rcX.d/[KS]

    首先終止“K”開頭的服務,然后啟動“S”開頭的服務。

     對每一個運行級別來說,在/etc/rc.d子目錄中都有一個對應的下級目錄。這些運行級別的下級子目錄的命名方法是rcX.d,其中的X就是代表運行級別的數字。比如說,運行級別3的全部命令腳本程序都保存在/etc/rc.d/rc3.d子目錄中。在各個運行級別的子目錄中,都建立有到/etc/rc.d/init.d子目錄中命令腳本程序的符號鏈接,但是,這些符號鏈接并不使用命令腳本程序在 /etc/rc.d/init.d子目錄中原來的名字。如果命令腳本程序是用來啟動一個服務的,其符號鏈接的名字就以字母S打頭;如果命令腳本程序是用來關閉一個服務的,其符號鏈接的名字就以字母K打頭。許多情況下,這些命令腳本程序的執行順序都很重要。如果沒有先配置網絡接口,就沒有辦法使用DNS服務解析主機名!為了安排它們的執行順序,在字母S或者 K的后面緊跟著一個兩位數字,數值小的在數值大的前面執行。比如:/etc/rc.d/rc3.d/S50inet就會在 /etc/rc.d/rc3.d/S55named之前執行。存放在/etc/rc.d/init.d子目錄中的、被符號鏈接上的命令腳本程序是真正的實干家,是它們完成了啟動或者停止各種服務的操作過程。當 /etc/rc.d/rc運行通過每個特定的運行級別子目錄的時候,它會根據數字的順序依次調用各個命令腳本程序執行。它先運行以字母K打頭的命令腳本程序,然后再運行以字母S打頭的命令腳本程序。對以字母K打頭的命令腳本程序來說,會傳遞Stop參數;類似地對以字母S打頭的命令腳本程序來說,會傳遞 Start參數。 
·  執行/etc/ec.d/rc.local
Redhat Linux中的運行模式2、3、5都把/etc/rc.d/rc.local做為初始化腳本中的最后一個,所以用戶可以自己在這個文件中添加一些需要在其他初始化工作之后,登錄之前執行的命令。在維護Linux系統運轉的日子里,肯定會遇到需要系統管理員對開機或者關機命令腳本進行修改的情況。如果所做的修改只在引導開機的時候起作用,并且改動不大的話,可以考慮簡單地編輯一下/etc/rc.d/rc.local腳本。這個命令腳本程序是在引導過程的最后一步被執行的。
·  執行  /bin/login 程式    
            
  login 程序會提示使用者需輸入賬號及密碼, 接著編碼并確認密碼的正確性, 若二者相合, 則為使用者進行初始化環境, 并將控制權交給 shell,即等待用戶登錄。
多次為止Linux啟動過程全部結束。
   
    總結:與 Linux 本身非常類似,Linux 的啟動引導過程也非常靈活,可以支持眾多的處理器和硬件平臺。LILO 引導加載程序對引導能力進行了擴充,但是它卻缺少文件系統的感知能力。最新一代的引導加載程序,例如 GRUB將更加靈活。 
北大青鳥網上報名
北大青鳥招生簡章
中文字幕欧美日韩一区二区三区_高清久久一区_阳光姐妹淘韩国版_日韩精品免费视频一区二区三区_91在线成人_一级黄色免费_精品欧美黑人一区二区三区
精品在线视频一区| 欧美一区二区精品在线| 欧美精品一区二区在线观看| 99久久99久久免费精品蜜臀| 亚洲成av人片一区二区梦乃| 中文字幕精品一区二区精品绿巨人| 在线观看一区二区精品视频| 国产精品18久久久| 亚洲成人tv网| 亚洲丝袜美腿综合| 国产日韩影视精品| 欧美一级午夜免费电影| 91福利小视频| 99精品欧美一区| 国产成人精品免费在线| 麻豆成人久久精品二区三区小说| 一区二区三区鲁丝不卡| 中文字幕亚洲电影| 欧美国产成人在线| 国产欧美一区二区精品仙草咪| 日韩欧美在线影院| 5月丁香婷婷综合| 欧美日韩在线观看一区二区| 色婷婷狠狠综合| 色综合 综合色| 色视频欧美一区二区三区| bt欧美亚洲午夜电影天堂| 国产成人av电影免费在线观看| 国内不卡的二区三区中文字幕 | 北条麻妃一区二区三区| 成人网在线播放| 成人avav影音| av激情综合网| 色综合天天做天天爱| 91成人免费在线视频| 欧美无乱码久久久免费午夜一区| 欧洲国内综合视频| 欧美精品在线观看一区二区| 欧美电影免费观看高清完整版在线| 日韩视频国产视频| 亚洲精品在线免费观看视频| 久久久久久久久99精品| 国产精品不卡一区| 亚洲精品国产a| 日韩国产在线一| 亚洲欧洲精品成人久久奇米网| 久久夜色精品国产欧美乱极品| 欧美日韩一区久久| 色综合天天综合在线视频| 91香蕉视频mp4| 在线不卡的av| 久久精品一区二区三区av| 亚洲欧洲av另类| 奇米888四色在线精品| 国产精品99久久久久久久女警 | 99国产精品久久| 欧美日韩不卡一区二区| 久久综合av免费| 亚洲自拍与偷拍| 精品综合久久久久久8888| www.日韩大片| 欧美精品日韩精品| 国产精品久久久久四虎| 亚洲成av人**亚洲成av**| 一区二区在线免费观看| 国内欧美视频一区二区 | 国产欧美日韩三区| 午夜精品成人在线视频| 国产成人啪午夜精品网站男同| 欧美性大战久久久久久久 | 亚洲视频免费看| 国内外成人在线| 欧美日韩黄色影视| 国产精品女同一区二区三区| 蜜臀av一区二区在线免费观看| 91亚洲精品乱码久久久久久蜜桃| 精品国产一区二区三区四区四| 亚洲九九爱视频| 国产激情偷乱视频一区二区三区| 欧美视频一区二区三区四区| 国产亚洲综合av| 日本伊人午夜精品| 欧美亚洲国产一区在线观看网站| 日本一区免费视频| 毛片一区二区三区| 欧美日韩精品二区第二页| 亚洲少妇最新在线视频| 国产成人精品在线看| 欧美一区二区视频在线观看2020| 一区二区三区电影在线播| caoporen国产精品视频| 国产精品午夜在线| 成熟亚洲日本毛茸茸凸凹| 久久亚洲影视婷婷| 国产一区二区在线影院| 2017欧美狠狠色| 日本不卡一二三区黄网| 欧美日韩色综合| 亚洲午夜激情网站| 欧美影院一区二区三区| 亚洲欧美另类久久久精品 | 日韩av网站在线观看| 欧美视频三区在线播放| 一区二区三区欧美亚洲| 色噜噜狠狠色综合欧洲selulu| 国产精品久久毛片a| 成人免费视频一区| 中文欧美字幕免费| av电影在线不卡| 亚洲裸体在线观看| 在线观看视频一区二区欧美日韩| 亚洲国产视频在线| 欧美日韩情趣电影| 日韩专区在线视频| 日韩欧美在线网站| 久草中文综合在线| 国产三级一区二区| 色综合久久久久久久久久久| 亚洲小说欧美激情另类| 日韩一区二区在线播放| 蜜臀av性久久久久蜜臀av麻豆| 日韩女优制服丝袜电影| 国产成人一区二区精品非洲| 中文字幕成人av| 欧美午夜免费电影| 蜜桃av噜噜一区| 国产欧美日韩综合| 欧美在线啊v一区| 免费视频一区二区| 国产女人18水真多18精品一级做| 91免费看`日韩一区二区| 亚洲国产成人av好男人在线观看| 欧美日韩成人激情| 粉嫩蜜臀av国产精品网站| 亚洲国产综合视频在线观看| 精品国产凹凸成av人网站| 国产成人精品亚洲777人妖| 玉足女爽爽91| 精品国产乱码久久久久久老虎| av在线不卡免费看| 亚洲成人777| 欧美激情一区二区在线| 在线观看不卡视频| 国产一区91精品张津瑜| 亚洲欧美在线观看| 日韩一区二区中文字幕| 99国产欧美另类久久久精品| 美女一区二区三区在线观看| 成人免费在线播放视频| 欧美一级黄色录像| 91亚洲精品久久久蜜桃网站| 久久成人久久鬼色| 亚洲欧美另类综合偷拍| 久久色在线观看| 欧洲另类一二三四区| 成人免费看视频| 韩国中文字幕2020精品| 午夜精品久久一牛影视| 亚洲欧美区自拍先锋| 久久久久免费观看| 91麻豆精品国产91久久久久 | 国产女主播视频一区二区| 69堂成人精品免费视频| 91蝌蚪porny| 成人美女视频在线观看| 加勒比av一区二区| 日韩专区在线视频| 亚洲综合激情另类小说区| 国产精品久久久久久久久免费相片| 337p亚洲精品色噜噜狠狠| 99精品视频在线观看免费| 国产一区二区在线观看视频| 日韩—二三区免费观看av| 一卡二卡三卡日韩欧美| 最新国产の精品合集bt伙计| 国产免费观看久久| 亚洲国产精品av| 日本一区二区成人在线| 久久品道一品道久久精品| 日韩一级片在线观看| 日韩一区二区电影在线| 欧美一区二区在线免费观看| 欧美一区二区三区喷汁尤物| 欧美午夜视频网站| 欧美日韩夫妻久久| 欧美日韩久久一区| 欧美三级在线看| 欧美日韩国产一级片| 欧美影院一区二区三区| 欧美午夜精品一区| 欧美性猛交一区二区三区精品| 欧洲一区二区三区在线| 欧美视频在线一区二区三区 | 亚洲视频每日更新| 一区二区三区在线免费观看| 午夜成人免费视频| 青青草国产成人av片免费| 免费视频最近日韩| 国产伦精品一区二区三区免费 | 91精品办公室少妇高潮对白|