真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

CentOS系統(tǒng)的啟動(dòng)流程

CentOS系統(tǒng)的啟動(dòng)流程:

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到袁州網(wǎng)站設(shè)計(jì)與袁州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋袁州地區(qū)。

啟動(dòng)分為:內(nèi)核空間、用戶空間

一、內(nèi)核級(jí)別啟動(dòng):

1、 POST:Power on system test 

加電自檢:ROM:CMOS;BIOS;ROM+RAM

自檢的功能需要一個(gè)軟件程序來(lái)實(shí)現(xiàn),即BIOS(Basic Input Output System)基本輸入輸出系統(tǒng);它被裝載在一個(gè)硬件芯片CMOS之上,加電過(guò)程即給CMOS通電,然后啟動(dòng)其上的BIOS程序,BIOS程序會(huì)根據(jù)CMOS上的一些配置信息去讀取硬件設(shè)備信息并檢測(cè)其是否存在并能正常運(yùn)行,之后進(jìn)行硬件設(shè)備的初始化。

2、 Bootsequence:(BIOS)  按次序?qū)ふ腋饕龑?dǎo)設(shè)備,第一個(gè)有引導(dǎo)程序的設(shè)備即為本次啟動(dòng)要用到的設(shè)備。

3、 Bootloader:(MBR) 引導(dǎo)加載器

功能:提供一個(gè)菜單,允許用戶選擇要啟動(dòng)的系統(tǒng)或不同的內(nèi)核版本;

用戶選定的內(nèi)核裝至RAM的特定空間中,解壓,展開,而后把系統(tǒng)控制權(quán)移交給內(nèi)核。

所在位置:  MBR,Master Boot Record 主引導(dǎo)記錄,一共512bytes

446bytes:bootloader

        64bytes:磁盤分區(qū)表DPT:Disk Partition Table

2bytes:55AA,結(jié)束標(biāo)志

        GRUB是目前使用最多最廣泛的Linux啟動(dòng)管理程序,還有一種比較古老的啟動(dòng)管理程序Lilo

        GRUB:

    bootloader: 1stage:運(yùn)行Bootloader主程序,這個(gè)程序必須被安裝在啟動(dòng)區(qū),即MBR中。因?yàn)镸BR空間有限,因此在MBR中僅安裝Bootloader的最小主程序,并沒(méi)有安裝相關(guān)配置文件。

    partition:filesystem driver,1.5stage:在MBR隨后的扇區(qū)中存放,主要用于與stage2所在分區(qū)的文件系統(tǒng)進(jìn)行交互。

    partition:/boot/grub,2stage:通過(guò)Bootloader加載所有配置文件及相關(guān)的環(huán)境參數(shù)信息,這些配置文件及相關(guān)的環(huán)境參數(shù)都存放于磁盤分區(qū)上的/boot/grub目錄下。

4、 Kernel:加載系統(tǒng)內(nèi)核kernel,執(zhí)行系統(tǒng)初始化信息

自身初始化:

探測(cè)可識(shí)別到的所有硬件設(shè)備

加載硬件驅(qū)動(dòng)程序;(有可能會(huì)借助于ramdisk加載驅(qū)動(dòng))

以只讀方式掛在根文件系統(tǒng)

運(yùn)行用戶空間的第一個(gè)應(yīng)用程序:/sbin/init

在此處需要借助一個(gè)虛擬文件系統(tǒng):RAMdisk:位于/boot目錄下,以initrd開頭的文件。

Linux內(nèi)核的特性之一:使用緩沖和緩存來(lái)加速對(duì)磁盤上的文件訪問(wèn);

ramdisk --> rootfs:

CentOS 5: initrd      工具程序:mkinitrd

CentOS 6,7: initramfs 工具程序:dracut, mkinitrd

在虛擬根文件系統(tǒng)上加載合適的驅(qū)動(dòng)程序,加載硬盤等設(shè)備,之后釋放虛擬的根文件系統(tǒng),并以只讀方式掛載磁盤上真正的根文件系統(tǒng),之后就開始正常的啟動(dòng)過(guò)程。

5、 啟動(dòng)用戶空間的第一個(gè)執(zhí)行程序:/sbin/init

init程序的類型

        CentOS 5-:SysV init配置文件:/etc/inittab 

CentOS 6:Upstart配置文件:/etc/inittab;/etc/init/*.conf

CentOS 7:Systemd配置文件:/usr/lib/systemd/system/, /etc/systemd/system/

系統(tǒng)初始化流程(內(nèi)核級(jí)別): 

POST --> BootSequence(BIOS) --> BootLoader(MBR)--> Kernel(ramdisk)--> rootfs(readonly)--> /sbin/init ()

二、用戶空間啟動(dòng):

CentOS 5

1、 /sbin/init

2、 設(shè)置默認(rèn)運(yùn)行級(jí)別

運(yùn)行級(jí)別:為了系統(tǒng)的運(yùn)行或維護(hù)等目的而設(shè)定的機(jī)制;

0-6:7個(gè)級(jí)別;

0:關(guān)機(jī), shutdown

1:?jiǎn)斡脩裟J?single user),root用戶,無(wú)須認(rèn)證;維護(hù)模式;

2、多用戶模式(multi user),會(huì)啟動(dòng)網(wǎng)絡(luò)功能,但不會(huì)啟動(dòng)NFS;維護(hù)模式;

3、多用戶模式(mutli user),完全功能模式;文本界面;

4、預(yù)留級(jí)別:目前無(wú)特別使用目的,但習(xí)慣以同3級(jí)別功能使用;

5、多用戶模式(multi user), 完全功能模式,圖形界面;

        6、重啟,reboot

默認(rèn)級(jí)別:3, 5

級(jí)別切換:init #

級(jí)別查看:who -r       runlevel 

配置文件:/etc/inittab 

每行定義一種action以及與之對(duì)應(yīng)的process

id:runlevels:action:process 

id:一個(gè)任務(wù)的標(biāo)識(shí)符;

runlevels:在哪些級(jí)別啟動(dòng)此任務(wù);#,###,也可以為空,表示所有級(jí)別;

action:在什么條件下啟動(dòng)此任務(wù);

process:任務(wù);

action:

wait:等待切換至此任務(wù)所在的級(jí)別時(shí)執(zhí)行一次;

respawn:一旦此任務(wù)終止,就自動(dòng)重新啟動(dòng)之;

initdefault:設(shè)定默認(rèn)運(yùn)行級(jí)別;此時(shí),process省略;

sysinit:設(shè)定系統(tǒng)初始化方式,此處一般為指定/etc/rc.d/rc.sysinit腳本;

3、 運(yùn)行系統(tǒng)初始化腳本,完成系統(tǒng)初始化

系統(tǒng)初始化腳本:/etc/rc.d/rc.sysinit

(1) 設(shè)置主機(jī)名;

(2) 設(shè)置歡迎信息;

(3) 激活udev和selinux;

(4) 掛載/etc/fstab文件中定義的所有文件系統(tǒng); 

(5) 檢測(cè)根文件系統(tǒng),并以讀寫方式重新掛載根文件系統(tǒng); 

(6) 設(shè)置系統(tǒng)時(shí)鐘; 

(7) 根據(jù)/etc/sysctl.conf文件來(lái)設(shè)置內(nèi)核參數(shù);

(8) 激活lvm及軟raid設(shè)備;

(9) 激活swap設(shè)備;

(10) 加載額外設(shè)備的驅(qū)動(dòng)程序;

(11) 清理操作; 

4、 關(guān)閉對(duì)應(yīng)級(jí)別下需要停止的服務(wù),啟動(dòng)對(duì)應(yīng)級(jí)別下需要開啟的服務(wù)

啟動(dòng)或關(guān)閉/etc/rc.d/rc#.d/目錄下的服務(wù)腳本所控制服務(wù);

K*:要停止的服務(wù);K##*,優(yōu)先級(jí),數(shù)字越小,越是優(yōu)先關(guān)閉;依賴的服務(wù)先關(guān)閉,而后關(guān)閉被依賴的;

S*:要啟動(dòng)的服務(wù);S##*,優(yōu)先級(jí),數(shù)字越小,越是優(yōu)先啟動(dòng);被依賴的服務(wù)先啟動(dòng),而依賴的服務(wù)后啟動(dòng);

5、 啟動(dòng)終端

        CentOS6

init程序:upstart,但依然為/sbin/init,其配置文件:

/etc/init/*.conf, /etc/inittab(僅用于定義默認(rèn)運(yùn)行級(jí)別)

注意:*.conf為upstart風(fēng)格的配置文件;

CentOS7

init程序:systemd,配置文件:/usr/lib/systemd/system/*,

/etc/systemd/system/*

全兼容SysV腳本機(jī)制;因此,service命令依然可用;不過(guò),建議使用systemctl命令來(lái)控制服務(wù);

# systemctl  {start|stop|restart|status}  name[.service]

總結(jié)(用戶空間的啟動(dòng)流程): /sbin/init (/etc/inittab) 

設(shè)置默認(rèn)運(yùn)行級(jí)別 --> 運(yùn)行系統(tǒng)初始化腳本,完成系統(tǒng)初始化 --> 關(guān)閉對(duì)應(yīng)級(jí)別下需要停止的服務(wù),啟動(dòng)對(duì)應(yīng)級(jí)別下需要開啟的服務(wù)--> 設(shè)置登錄終端 [--> 啟動(dòng)圖形終端]


網(wǎng)站欄目:CentOS系統(tǒng)的啟動(dòng)流程
文章路徑:http://weahome.cn/article/pjssec.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部