久久天堂一区二区三区_国内精品久久久久影院网站_亚洲国产一区二区三区最新_亚洲国产一区二区三区四区五区

Linux服務(wù)器啟動(dòng)過(guò)程詳解

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

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

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

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

   (3)加載內(nèi)核
    當(dāng)內(nèi)核映像被加載到內(nèi)存之后,內(nèi)核階段就開(kāi)始了。內(nèi)核映像并不是一個(gè)可執(zhí)行的內(nèi)核,而是一個(gè)壓縮過(guò)的內(nèi)核映像。通常它是一個(gè) zImage(壓縮映像,小于 512KB)或一個(gè) bzImage(較大的壓縮映像,大于 512KB),它是提前使用 zlib 進(jìn)行壓縮過(guò)的。在這個(gè)內(nèi)核映像前面是一個(gè)例程,它實(shí)現(xiàn)少量硬件設(shè)置,并對(duì)內(nèi)核映像中包含的內(nèi)核進(jìn)行解壓,然后將其放入高端內(nèi)存中,如果有初始 RAM 磁盤映像,就會(huì)將它移動(dòng)到內(nèi)存中,并標(biāo)明以后使用。然后該例程會(huì)調(diào)用內(nèi)核,并開(kāi)始啟動(dòng)內(nèi)核引導(dǎo)的過(guò)程。
    GRUB 中的手工引導(dǎo)
    在 GRUB 命令行中,我們可以使用 initrd 映像引導(dǎo)一個(gè)特定的內(nèi)核,方法如下:
    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.
如果您不知道要引導(dǎo)的內(nèi)核的名稱,只需使用斜線(/)然后按下 Tab 鍵即可。GRUB 會(huì)顯示內(nèi)核和 initrd 映像列表。

   (4)執(zhí)行init進(jìn)程
    init進(jìn)程是系統(tǒng)所有進(jìn)程的起點(diǎn),內(nèi)核在完成核內(nèi)引導(dǎo)以后,即在本線程(進(jìn)程)空間內(nèi)加載init程序,它的進(jìn)程號(hào)是1。init進(jìn)程是所有進(jìn)程的發(fā)起者和控制者。因?yàn)樵谌魏位赨nix的系統(tǒng)(比如Linux)中,它都是第一個(gè)運(yùn)行的進(jìn)程,所以init進(jìn)程的編號(hào)(Process ID,PID)永遠(yuǎn)是1。如果init出現(xiàn)了問(wèn)題,系統(tǒng)的其余部分也就隨之而垮掉了。
    init進(jìn)程有兩個(gè)作用。第一個(gè)作用是扮演終結(jié)父進(jìn)程的角色。因?yàn)閕nit進(jìn)程永遠(yuǎn)不會(huì)被終止,所以系統(tǒng)總是可以確信它的存在,并在必要的時(shí)候以它為參照。如果某個(gè)進(jìn)程在它衍生出來(lái)的全部子進(jìn)程結(jié)束之前被終止,就會(huì)出現(xiàn)必須以init為參照的情況。此時(shí)那些失去了父進(jìn)程的子進(jìn)程就都會(huì)以init作為它們的父進(jìn)程。快速執(zhí)行一下ps -af 命令,可以列出許多父進(jìn)程ID(Parent Process ID,PPID)為1的進(jìn)程來(lái)。
    init的第二個(gè)角色是在進(jìn)入某個(gè)特定的運(yùn)行級(jí)別(Runlevel)時(shí)運(yùn)行相應(yīng)的程序,以此對(duì)各種運(yùn)行級(jí)別進(jìn)行管理。它的這個(gè)作用是由/etc/inittab文件定義的。

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

    首先終止“K”開(kāi)頭的服務(wù),然后啟動(dòng)“S”開(kāi)頭的服務(wù)。

     對(duì)每一個(gè)運(yùn)行級(jí)別來(lái)說(shuō),在/etc/rc.d子目錄中都有一個(gè)對(duì)應(yīng)的下級(jí)目錄。這些運(yùn)行級(jí)別的下級(jí)子目錄的命名方法是rcX.d,其中的X就是代表運(yùn)行級(jí)別的數(shù)字。比如說(shuō),運(yùn)行級(jí)別3的全部命令腳本程序都保存在/etc/rc.d/rc3.d子目錄中。在各個(gè)運(yùn)行級(jí)別的子目錄中,都建立有到/etc/rc.d/init.d子目錄中命令腳本程序的符號(hào)鏈接,但是,這些符號(hào)鏈接并不使用命令腳本程序在 /etc/rc.d/init.d子目錄中原來(lái)的名字。如果命令腳本程序是用來(lái)啟動(dòng)一個(gè)服務(wù)的,其符號(hào)鏈接的名字就以字母S打頭;如果命令腳本程序是用來(lái)關(guān)閉一個(gè)服務(wù)的,其符號(hào)鏈接的名字就以字母K打頭。許多情況下,這些命令腳本程序的執(zhí)行順序都很重要。如果沒(méi)有先配置網(wǎng)絡(luò)接口,就沒(méi)有辦法使用DNS服務(wù)解析主機(jī)名!為了安排它們的執(zhí)行順序,在字母S或者 K的后面緊跟著一個(gè)兩位數(shù)字,數(shù)值小的在數(shù)值大的前面執(zhí)行。比如:/etc/rc.d/rc3.d/S50inet就會(huì)在 /etc/rc.d/rc3.d/S55named之前執(zhí)行。存放在/etc/rc.d/init.d子目錄中的、被符號(hào)鏈接上的命令腳本程序是真正的實(shí)干家,是它們完成了啟動(dòng)或者停止各種服務(wù)的操作過(guò)程。當(dāng) /etc/rc.d/rc運(yùn)行通過(guò)每個(gè)特定的運(yùn)行級(jí)別子目錄的時(shí)候,它會(huì)根據(jù)數(shù)字的順序依次調(diào)用各個(gè)命令腳本程序執(zhí)行。它先運(yùn)行以字母K打頭的命令腳本程序,然后再運(yùn)行以字母S打頭的命令腳本程序。對(duì)以字母K打頭的命令腳本程序來(lái)說(shuō),會(huì)傳遞Stop參數(shù);類似地對(duì)以字母S打頭的命令腳本程序來(lái)說(shuō),會(huì)傳遞 Start參數(shù)。 
·  執(zhí)行/etc/ec.d/rc.local
Redhat Linux中的運(yùn)行模式2、3、5都把/etc/rc.d/rc.local做為初始化腳本中的最后一個(gè),所以用戶可以自己在這個(gè)文件中添加一些需要在其他初始化工作之后,登錄之前執(zhí)行的命令。在維護(hù)Linux系統(tǒng)運(yùn)轉(zhuǎn)的日子里,肯定會(huì)遇到需要系統(tǒng)管理員對(duì)開(kāi)機(jī)或者關(guān)機(jī)命令腳本進(jìn)行修改的情況。如果所做的修改只在引導(dǎo)開(kāi)機(jī)的時(shí)候起作用,并且改動(dòng)不大的話,可以考慮簡(jiǎn)單地編輯一下/etc/rc.d/rc.local腳本。這個(gè)命令腳本程序是在引導(dǎo)過(guò)程的最后一步被執(zhí)行的。
·  執(zhí)行  /bin/login 程式    
            
  login 程序會(huì)提示使用者需輸入賬號(hào)及密碼, 接著編碼并確認(rèn)密碼的正確性, 若二者相合, 則為使用者進(jìn)行初始化環(huán)境, 并將控制權(quán)交給 shell,即等待用戶登錄。
多次為止Linux啟動(dòng)過(guò)程全部結(jié)束。
   
    總結(jié):與 Linux 本身非常類似,Linux 的啟動(dòng)引導(dǎo)過(guò)程也非常靈活,可以支持眾多的處理器和硬件平臺(tái)。LILO 引導(dǎo)加載程序?qū)σ龑?dǎo)能力進(jìn)行了擴(kuò)充,但是它卻缺少文件系統(tǒng)的感知能力。最新一代的引導(dǎo)加載程序,例如 GRUB將更加靈活。 
北大青鳥(niǎo)網(wǎng)上報(bào)名
北大青鳥(niǎo)招生簡(jiǎn)章
久久天堂一区二区三区_国内精品久久久久影院网站_亚洲国产一区二区三区最新_亚洲国产一区二区三区四区五区

      9000px;">

          欧美女孩性生活视频| 成人高清伦理免费影院在线观看| 久久蜜桃av一区二区天堂 | 91麻豆精品久久久久蜜臀 | 一二三区精品福利视频| 中文字幕av一区 二区| 精品精品国产高清a毛片牛牛| 精品视频一区二区不卡| 欧美视频一区二| 欧美日韩一区二区三区视频 | 7777精品伊人久久久大香线蕉 | 中文字幕不卡在线| 国产女主播一区| 国产欧美日产一区| 一区在线观看免费| 亚洲伦理在线精品| 亚洲自拍与偷拍| 日韩电影免费在线| 美女爽到高潮91| 国产在线国偷精品产拍免费yy| 精品一区二区免费在线观看| 国产精品综合在线视频| 成人中文字幕合集| 日本精品视频一区二区| 欧美日韩精品专区| 日韩欧美中文字幕精品| 久久亚洲影视婷婷| 中文字幕在线观看不卡| 亚洲国产色一区| 国内精品国产成人| 91麻豆6部合集magnet| 欧美一区二区视频网站| 久久精品水蜜桃av综合天堂| 亚洲欧美偷拍卡通变态| 丝袜美腿成人在线| 成人性生交大片免费看中文| 在线观看日韩一区| 日韩欧美视频在线| 国产精品久久久久久亚洲毛片| 亚洲激情图片一区| 国产精品 欧美精品| 日本高清免费不卡视频| 日韩精品一区二区三区视频在线观看 | 一本高清dvd不卡在线观看| 欧美剧情电影在线观看完整版免费励志电影| 欧美另类久久久品| 久久综合色综合88| 天天综合网 天天综合色| 国产精品资源在线看| 欧美日韩一区二区三区高清| 国产喂奶挤奶一区二区三区| 亚洲a一区二区| 成人aa视频在线观看| 日韩一二三区视频| 一区二区三区精密机械公司| 国产91精品欧美| 精品成人一区二区三区四区| 午夜精品一区二区三区电影天堂| 99v久久综合狠狠综合久久| 日韩精品中文字幕在线一区| 亚洲资源中文字幕| 91视频免费播放| 欧美国产国产综合| 国产麻豆成人精品| 日韩欧美国产wwwww| 日韩国产欧美三级| 欧美性一二三区| 又紧又大又爽精品一区二区| 成人国产精品视频| 国产欧美中文在线| 国产主播一区二区| 精品美女在线观看| 国产在线精品一区二区夜色 | 91国产视频在线观看| 亚洲精品欧美在线| 91黄色激情网站| 一区二区三区日本| 欧美性做爰猛烈叫床潮| 曰韩精品一区二区| 欧美日韩一区在线观看| 丝袜亚洲另类欧美| 91精品国产全国免费观看| 日韩福利电影在线| 日韩三级伦理片妻子的秘密按摩| 无码av免费一区二区三区试看| 欧美色偷偷大香| 亚洲国产精品久久久久秋霞影院| 欧美性色黄大片| 日韩电影在线一区二区三区| 精品精品国产高清a毛片牛牛 | 成人免费毛片app| 亚洲人成在线播放网站岛国| 色吧成人激情小说| 亚洲成人av电影在线| 欧美日韩免费电影| 美腿丝袜亚洲色图| 久久久国产精华| www.av精品| 亚洲一区二区三区四区在线免费观看| 欧美在线观看视频一区二区三区| 香蕉影视欧美成人| 精品久久久久av影院| 成人黄色777网| 日韩美女精品在线| 欧美丰满嫩嫩电影| 久久av中文字幕片| 国产精品午夜电影| 欧美人妇做爰xxxⅹ性高电影| 美女mm1313爽爽久久久蜜臀| 国产欧美日韩在线| 欧美日韩精品欧美日韩精品一 | 国产色产综合产在线视频| 成人国产一区二区三区精品| 亚洲精品自拍动漫在线| 日韩欧美一区中文| 99国产一区二区三精品乱码| 水野朝阳av一区二区三区| 国产精品视频yy9299一区| 欧美酷刑日本凌虐凌虐| 不卡的av电影| 蜜臀av在线播放一区二区三区| 国产精品免费久久久久| 91麻豆精品国产91久久久| va亚洲va日韩不卡在线观看| 七七婷婷婷婷精品国产| 日韩美女精品在线| 久久精品一二三| 日韩精品资源二区在线| 欧美日韩一区二区三区视频| 95精品视频在线| 国产成人在线网站| 免费日韩伦理电影| 午夜天堂影视香蕉久久| 国产精品―色哟哟| 久久久影院官网| 欧美一级欧美一级在线播放| 日本精品一区二区三区四区的功能| 国产成人精品一区二区三区四区| 日韩电影一二三区| 午夜电影久久久| 亚洲一区二区三区四区在线 | 国产网站一区二区三区| 久久免费午夜影院| 日韩精品一区二区三区中文不卡| 欧美色电影在线| 在线观看日产精品| 99精品一区二区三区| 成人亚洲精品久久久久软件| 国产激情一区二区三区桃花岛亚洲 | 亚洲一区二区三区中文字幕在线| 亚洲欧美电影院| 亚洲最大成人综合| 亚洲影院免费观看| 亚洲最新视频在线观看| 亚洲影院久久精品| 亚洲bt欧美bt精品| 麻豆精品蜜桃视频网站| 久久精品国产亚洲a| 久久99热99| 国产裸体歌舞团一区二区| 国产精品一区在线| 北岛玲一区二区三区四区| 国产传媒久久文化传媒| www.亚洲色图.com| 欧美主播一区二区三区美女| 欧美性猛片aaaaaaa做受| 欧美日韩国产成人在线免费| 欧美日韩国产高清一区二区三区| 欧美放荡的少妇| 精品精品国产高清a毛片牛牛| 欧美精品一区二区在线观看| 久久精品一区二区三区不卡| 亚洲欧洲成人精品av97| 伊人色综合久久天天| 天堂一区二区在线| 国产在线精品一区在线观看麻豆| 成人国产精品免费观看| 91麻豆精品一区二区三区| 欧美日韩国产成人在线91| 精品处破学生在线二十三| 日本一区二区成人在线| 一区二区三区鲁丝不卡| 精品在线观看免费| 99re视频精品| 日韩欧美电影一二三| 国产精品乱码妇女bbbb| 午夜精品成人在线视频| 国产成人在线观看| 欧美三级欧美一级| 久久精品一区二区三区四区| 亚洲最大成人网4388xx| 国产91丝袜在线18| 在线综合+亚洲+欧美中文字幕| 国产精品乱人伦中文| 美女网站视频久久| 一本到不卡精品视频在线观看| 日韩精品专区在线| 一区二区三区四区不卡视频| 国产91精品在线观看| 日韩一区二区免费电影|