国产精品久久久一区二区三区,亚洲熟妇av一区二区三区,国产精品 高清 尿 小便 嘘嘘,蜜臀AV在线播放

  
當(dāng)前位置:首頁 > 全部 > 域名維護(hù)

域名維護(hù):Linux系統(tǒng)引導(dǎo)流程

Linux系統(tǒng)的引導(dǎo)過程主要分為三個階段。

第一階段:開機(jī)->POST->INT19->BIOS->MBR

當(dāng)用戶打開電腦的電源,電腦會對系統(tǒng)硬件配置進(jìn)行一系列檢測,這個過程稱為POST(Power on Self Test),即上電自檢過程。系統(tǒng)測試成功之后,接著將BIOS的中斷處理程序各個中斷向量裝配到內(nèi)存的低1024個字節(jié)單元。在這些中斷向量中,初始引導(dǎo)程序是以中斷類型為19H進(jìn)行裝配的。中斷向量結(jié)束后,CPU執(zhí)行類型為19H的中斷,其功能是執(zhí)行BIOS所帶的系統(tǒng)初始化程序,稱為磁盤自舉中斷或者重引導(dǎo)中斷(reboot interrupt),當(dāng)按下Ctrl+Alt+Del鍵,系統(tǒng)就會執(zhí)行19H號中斷,重新引導(dǎo)系統(tǒng)。CPU執(zhí)行19H號中斷的初始引導(dǎo)程序,以便從啟動盤讀取加載操作系統(tǒng)的引導(dǎo)程序Bootsect.S。該初始化引導(dǎo)程序按照CMOS里面設(shè)置的啟動盤啟動順序查找相應(yīng)盤的MBR,如果找到 引導(dǎo)程序,則將MBR中的引導(dǎo)程序讀到內(nèi)存0000:7C00處,并執(zhí)行這個引導(dǎo)程序?qū)?nèi)核代碼全部轉(zhuǎn)入內(nèi)存。

第二階段:MBR->LILO->活動分區(qū)引導(dǎo)Linux

初始引導(dǎo)程序?qū)BR中的LILO讀到內(nèi)存并執(zhí)行,由LILO把Linux的全部內(nèi)核裝入內(nèi)存。Linux除了可以使用LILO引導(dǎo)之外,還可以使用GRUB等引導(dǎo)程序引導(dǎo)。LILO的功能由三個主要程序來完成:第一個是把Linux內(nèi)核或者其他操作系統(tǒng)的可執(zhí)行代碼寫入內(nèi)存的引導(dǎo)程序,稱為啟動加載器;第二個負(fù)載把boot loader程序的可執(zhí)行代碼寫入引導(dǎo)分區(qū),并將原來的boot loader做備份,它的可執(zhí)行文是/sbin/lilo;第三個是存放LILO配置信息的/etc/lilo.conf等配置文件。這三個文件都是LILO啟動是所必須的。

當(dāng)引導(dǎo)程序成功完成引導(dǎo)任務(wù)后,Linux從他們手中接管了CPU的控制權(quán),然后CPU就開始執(zhí)行Linux的核心映像代碼,開始Linux的啟動過程。這里涉及到Linux源代碼樹中的“arch/i386/boot”下面的一些文件。其中bootsect.s是生成引導(dǎo)扇區(qū)的匯編源代碼,它完成加載動作后直接跳轉(zhuǎn)到setup.s的程序入口。setup.s的主要功能就是將系統(tǒng)參數(shù)(包括內(nèi)存、磁盤等,由BIOS返回的)拷貝到特別的內(nèi)存中,以便以后這些參數(shù)被保護(hù)模式下的代碼來讀取。setup.s還將video.s中的代碼包含進(jìn)來,檢測和設(shè)置顯示器和顯示模式。最后,setup.s將系統(tǒng)轉(zhuǎn)換到保護(hù)模式,并跳轉(zhuǎn)到0x100000。這個內(nèi)存地址存放的是解壓后的內(nèi)核,因?yàn)閞edhat提供的內(nèi)核包含了眾多驅(qū)動和功能而顯得比較大,所以在內(nèi)核編譯中使用了makebzImage方式,從而生成壓縮過的內(nèi)核,在redhat中內(nèi)核常常被命名為vmlinuz,在Linux的最初引導(dǎo)中,通過"arch/i386/boot/compress/"中的head.s利用misc.c中定義的decompress_kernel()函數(shù),將內(nèi)核vmlinuz解壓到0x100000的。

當(dāng)CPU跳到0x10000時,將執(zhí)行"arch/i386/kernel/head.s"中的startup_32,它也是vmlinux的入口,然后就跳轉(zhuǎn)到start_kernel()中去。start_kernel()是"init/main.c"中的定義函數(shù),start_kernel()中調(diào)用了一系列初始化函數(shù),以完成kernel本身的設(shè)置。start_kernel()函數(shù)中,做了大量的工作來建立基本的Linux核心環(huán)境。如果順利執(zhí)行完start_kernel(),則基本的Linux核心環(huán)境就建立起來了。

在start_kernel()的最后,通過調(diào)用init()函數(shù),系統(tǒng)創(chuàng)建第一個核心線程,啟動了init過程。而核心線程init()主要是進(jìn)行一些外設(shè)初始化工作,包括調(diào)用do_basic_setup()來完成外設(shè)及其驅(qū)動程序的加載和初始化。當(dāng)do_basic_setup()函數(shù)返回init(),init()函數(shù)又打開/dev/console設(shè)備,重定向三個標(biāo)準(zhǔn)的輸入輸出文件stdin,stdout,stderr到控制臺,最后,搜索文件系統(tǒng)中的init程序(或者由init=命令行參數(shù)指定的程序),并使用execve()系統(tǒng)調(diào)用加載init程序。到這里,init()函數(shù)結(jié)束,內(nèi)核的引導(dǎo)部分也基本結(jié)束了。

接下來運(yùn)行init,init的進(jìn)程號是1,它是系統(tǒng)所有進(jìn)程的起點(diǎn),Linux在完成內(nèi)核引導(dǎo)以后,就開始運(yùn)行init程序。init程序需要讀取配置文件/etc/inittab中設(shè)置的系統(tǒng)運(yùn)行級別,inittab是一個不可執(zhí)行的文本文件,它由若干行指令組成。然后調(diào)用執(zhí)行/etc/rc.d/rc.sysinit,而rc.sysinit是一個bash shell的腳本,它主要是進(jìn)行一些系統(tǒng)初始化的工作,rc.sysinit是每一個運(yùn)行級別都要首先運(yùn)行的重要腳本。它要完成的工作有:激活交換分區(qū),檢查磁盤,加載硬件模塊以及其他一些需要優(yōu)先執(zhí)行任務(wù)。當(dāng)rc.sysinit程序執(zhí)行完畢后,將返回init,啟動對應(yīng)運(yùn)行級別的守護(hù)進(jìn)程,通常接下來會執(zhí)行到"/etc/rc.d/rc"程序。至于在每個運(yùn)行級別中將運(yùn)行那些守護(hù)進(jìn)程,可以通過chkconfig或setup中的System Service來自行設(shè)定。rc程序執(zhí)行完將返回init,建立終端。這時進(jìn)步系統(tǒng)環(huán)境已經(jīng)設(shè)置好了,各種守護(hù)進(jìn)程也已經(jīng)啟動了。

第三階段:檢測硬件->啟動服務(wù)->LOGIN登陸

上面的工作完成后,Linux系統(tǒng)開始檢測硬件,啟動相應(yīng)的服務(wù),然后進(jìn)行系統(tǒng)登陸。對于文本方式登陸,Linux先用賬號驗(yàn)證程序login對用戶名進(jìn)行分析,在分析完用戶名之后,login將搜索/etc/passwd以及/etc/shadow來驗(yàn)證密碼以及設(shè)置賬號的其他信息,比如主目錄是什么,使用何種shell。如果沒有指定主目錄,將默認(rèn)為根目錄,如果沒有指定shell,將默認(rèn)為/bin/bash。login程序成功之后,會向?qū)?yīng)的終端輸出最近一次登陸的信息(在/var/log/lastlog中有記錄),并檢查用戶是否有新郵件。然后開始設(shè)置各種環(huán)境變量。各種環(huán)境變量設(shè)置好之后,出現(xiàn)shell命令行提示符,到此整個Linux啟動過程全部結(jié)束。

◆電話受理中心(用戶綜合窗口)
為了給廣大客戶提供更優(yōu)質(zhì)、快捷的網(wǎng)站維護(hù)服務(wù),在中國業(yè)界率先設(shè)立了全天候服務(wù)式的電話受理中心,并始終堅(jiān)持“快速”“準(zhǔn)確”“親切”的服務(wù)理念。走過風(fēng)雨兼程的10年,我們嘗
盡酸甜苦辣,但是為客戶服務(wù)的心,卻一刻也不曾停歇,為了您的歡笑,我們?nèi)詫⒗^續(xù)前行。

◆全國統(tǒng)一免費(fèi)網(wǎng)站維護(hù)電話:400-670-5808(支持任何用戶撥打)郵箱:xieaijiao@cdsheji.com QQ:284888576

◆營業(yè)時間:365天·24小時,年中無休。
◆對應(yīng)業(yè)務(wù):與網(wǎng)站維護(hù)有關(guān)的任何商談和咨詢(網(wǎng)站維護(hù)網(wǎng)站修改、網(wǎng)頁修改網(wǎng)站安全、網(wǎng)站殺毒網(wǎng)站中毒、網(wǎng)站備份網(wǎng)站恢復(fù)、網(wǎng)站備案網(wǎng)站建設(shè)、技術(shù)咨詢網(wǎng)站域名、網(wǎng)
站空間、企業(yè)郵箱等)

聯(lián)系我們 | 法律聲明 | 服務(wù)內(nèi)容 | 保密聲明 | 網(wǎng)站導(dǎo)航 | 友情鏈接 | 責(zé)任聲明 | 隱私保密
全 國:400-670-5808    電 話:17701755587    郵箱:cdsheji@cdsheji.com    QQ: 1043818547
www.crtiani.com    網(wǎng)站維護(hù)    版權(quán)所有 All Rights Reserved    Copyright © 2015-2025
技術(shù)支持:上海純點(diǎn)網(wǎng)絡(luò) 滬ICP備10218526號-7
展開