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

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

CentOS系統(tǒng)啟動流程-創(chuàng)新互聯(lián)

CentOS系統(tǒng)啟動流程
Linux系統(tǒng)的組成部分
Linux系統(tǒng)的組成部分:內(nèi)核+根文件系統(tǒng)
內(nèi)核:進程管理,內(nèi)存管理,網(wǎng)絡(luò)協(xié)議棧,文件系統(tǒng),驅(qū)動程序,安全功能
內(nèi)核設(shè)計流派:
單內(nèi)核設(shè)計:把所有功能集成同一個程序
微內(nèi)核設(shè)計:每種功能使用一個單獨的子系統(tǒng)實現(xiàn)
linux內(nèi)核特點:支持模塊化: .ko(kernel object)
支持模塊運行時動態(tài)裝卸或卸載
組成部分:
核心文件: /boot/vmlinuz-VERSION-release
ramdisk:CentOS 5:/boot/initrd-VERSION-release.img
CentOS 6,7:/boot/initramfs-VERSION-release.img
模塊文件:/lib/modules/VERSION-release
運行中的系統(tǒng)環(huán)境可分為兩層:內(nèi)核空間、用戶空間
用戶空間:應(yīng)用程序(進程或線程)
內(nèi)核空間:內(nèi)核代碼(系統(tǒng)調(diào)用)

創(chuàng)新互聯(lián)制作網(wǎng)站網(wǎng)頁找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁設(shè)計,網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)站設(shè)計,企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為成百上千家服務(wù),創(chuàng)新互聯(lián)網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷推廣服務(wù)!

CentOS 系統(tǒng)的啟動流程
1.加載BIOS的硬件信息,獲取第一個啟動設(shè)備
2.讀取第一個啟動設(shè)備MBR的引導(dǎo)加載程序(grub)的啟動信息
3.加載核心操作系統(tǒng)的核心信息,核心開始解壓縮,并嘗試驅(qū)動所有的硬件設(shè)備
4.核心執(zhí)行init程序,并獲取默認的運行信息
5.init程序執(zhí)行/etc/rc.d/rc.sysinit文件
6.啟動核心的外掛模塊
7.init執(zhí)行運行的各個批處理文件(scripts)
8.init執(zhí)行/etc/rc.d/rc.local
9.執(zhí)行/bin/login程序,等待用戶登錄
10.登錄之后開始以shell控制主機
詳細說明啟動流程
1..加載BIOS的硬件信息,獲取第一個啟動設(shè)備:
POST,加電自檢是BIOS功能的一個主要部分,負責(zé)完成對CPU,主板,內(nèi)存,硬盤子系統(tǒng),顯示子系統(tǒng),串并行接口,鍵盤等硬件情況的檢測
ROM:BIOS,保存著有關(guān)計算機系統(tǒng)最重要的基本輸入輸出程序,系統(tǒng)信息設(shè)置,開機加電自檢程序和系統(tǒng)啟動自舉等
RAM:CMOS互補金屬氧化物半導(dǎo)體,保存各項參數(shù)的設(shè)定
按次序查找引導(dǎo)設(shè)備,第一個有引導(dǎo)程序的設(shè)備為本次啟動設(shè)備
bootloader:引導(dǎo)加載器,程序;
Windows:ntloader
Linux:
LILO:LIinux LOader
GRUB:Grand Uniform Bootloader
GRUB 0.X:Grub Legacy
GRUB 1.X:Grub2
功能:提供一個菜單,允許用戶選擇要啟動的系統(tǒng)或不同的內(nèi)核版本; 把用戶選定的內(nèi)核裝載到RAM中的特定空間中,解壓、展開,而后把系統(tǒng)控制權(quán)移交給內(nèi)核
2.讀取第一個啟動設(shè)備MBR的引導(dǎo)加載程序(grub)的啟動信息

MBR:第一個扇區(qū)
前446字節(jié):bootloader
中間64字節(jié):分區(qū)表
最后2字節(jié):55AA

GRUB:
bootloader:1st stage
Partition:filesystem driver, 1.5 stage
Partition:/boot/grub, 2nd stage
3.加載核心操作系統(tǒng)的核心信息,核心開始解壓縮,并嘗試驅(qū)動所有的硬件設(shè)備

Kernel:
自身初始化:
探測可識別到的所有硬件設(shè)備
加載硬件驅(qū)動程序
以只讀方式掛載根文件系統(tǒng)
運行用戶空間的第一個應(yīng)用程序:/sbin/init
init程序的類型:
Centos5-:SysV int
配置文件:/etc/inittab
Centos6:Upstart
配置文件:/etc/inittab
/etc/init/*.conf
CentOS 7:Systemd
配置文件:/usr/lib/systemd/system/, /etc/systemd/system/
ramdisk:
Linux內(nèi)核的特性之一:使用緩沖和緩存來加速對磁盤上的文件訪問;
ramdisk --> ramfs
CentOS 5: initrd
工具程序:mkinitrd
CentOS 6,7: initramfs
工具程序:dracut, mkinitrd
4.核心執(zhí)行init程序,并獲取默認的運行信息
init 程序的類型:

1.SysV: init, 在CentOS 5中的開機速度是最慢的原因是采用SysV init方式,其特點是啟動用戶空間的服務(wù)程序,通常通過腳本進行,有依賴關(guān)系的服務(wù)將被串行啟動。

(1)運行級別:為了系統(tǒng)的運行或維護等目的而設(shè)定的機制;
0-6:7個級別;
0:關(guān)機, shutdown
1:單用戶模式(single user),root用戶,無須認證;維護模式;
2:多用戶模式(multi user),會啟動網(wǎng)絡(luò)功能,但不會啟動NFS;維護模式;
3:多用戶模式(mutli user),完全功能模式;文本界面;
4:預(yù)留級別:目前無特別使用目的,但習(xí)慣以同3級別功能使用;
5:多用戶模式(multi user), 完全功能模式,圖形界面;
6:重啟,reboot
默認級別:3, 5
級別切換:init #
級別查看:
who -r
runlevel
(2)配置文件:/etc/inittab
每行定義一種action以及與之對應(yīng)的process
id:runlevels:action:process
id:一個任務(wù)的標識符;
runlevels:在哪些級別啟動此任務(wù);#,###,也可以為空,表示所有級別;
action:在什么條件下啟動此任務(wù);
process:任務(wù);
action:
wait:等待切換至此任務(wù)所在的級別時執(zhí)行一次;
respawn:一旦此任務(wù)終止,就自動重新啟動之;
initdefault:設(shè)定默認運行級別;此時,process省略;
sysinit:設(shè)定系統(tǒng)初始化方式,此處一般為指定/etc/rc.d/rc.sysinit腳本;
2.Upstart: init,CentOS 6 #CentOS 6的開機速度比5會快一些因為他采用的是Upstart的方法雖然你見到的名字還叫做init但是很多機制都是采用ubuntu開發(fā)的Upstart這個機制,特點是守護進程間的通信依賴于D-Bus進行,因此可基本實現(xiàn)類似的并行啟動
init程序:upstart,但依然為/sbin/init,其配置文件:
/etc/init/.conf, /etc/inittab(僅用于定義默認運行級別)
.conf為upstart風(fēng)格的配置文件;
3.Systemd :systemd, CentOS 7 #在7中的啟動速度最快的原因是采用Systemd的方式,其特點是服務(wù)只有第一次被訪問時才會真正的啟動起來
核心概念:unit,unit由其相關(guān)配置文件進行標識、識別和配置;文件中主要包含了系統(tǒng)服務(wù)、監(jiān)聽的socket、保存的快照以及其它與init相關(guān)的信息;
這些配置文件主要保存在:
/usr/lib/systemd/system
/run/systemd/system
/etc/systemd/system
unit的常見類型:
Service unit:文件擴展名為.service,用于定義系統(tǒng)服務(wù);
Target unit:文件擴展為.target,用于模擬實現(xiàn)“運行級別”;
Device unit: .device,用于定義內(nèi)核識別的設(shè)備;
Mount unit: .mount,定義文件系統(tǒng)掛載點;
Socket unit: .socket,用于標識進程間通信用到的socket文件;
Snapshot unit: .snapshot, 管理系統(tǒng)快照;
Swap unit: .swap, 用于標識swap設(shè)備;
Automount unit: .automount,文件系統(tǒng)自動點設(shè)備;
Path unit: .path, 用于定義文件系統(tǒng)中的一文件或目錄;
關(guān)鍵特性:
基于socket的激活機制:socket與程序分離;
基于bus的激活機制;
基于device的激活機制;
基于Path的激活機制;
系統(tǒng)快照:保存各unit的當(dāng)前狀態(tài)信息于持久存儲設(shè)備中;
向后兼容sysv init腳本;/etc/init.d/
不兼容:
systemctl的命令是固定不變的;
非由systemd啟動的服務(wù),systemctl無法與之通信;
5.init程序執(zhí)行/etc/rc.d/rc.sysinit文件

系統(tǒng)初始化腳本:/etc/rc.d/rc.sysinit
(1) 設(shè)置主機名;
(2) 設(shè)置歡迎信息;
(3) 激活udev和selinux;
(4) 掛載/etc/fstab文件中定義的所有文件系統(tǒng);
(5) 檢測根文件系統(tǒng),并以讀寫方式重新掛載根文件系統(tǒng);
(6) 設(shè)置系統(tǒng)時鐘;
(7) 根據(jù)/etc/sysctl.conf文件來設(shè)置內(nèi)核參數(shù);
(8) 激活lvm及軟raid設(shè)備;
(9) 激活swap設(shè)備;
(10) 加載額外設(shè)備的驅(qū)動程序;
(11) 清理操作;
6.啟動核心的外掛模塊
7init 執(zhí)行運行的各個批處理文件(scripts)

    在系統(tǒng)/etc/rc.d/rc.sysinit初始化完成系統(tǒng)之后,此時系統(tǒng)就已經(jīng)可以正常工作了,只是還缺少啟動時所需要的各項服務(wù),這樣主機才能提供一些我們需要的功能,如網(wǎng)絡(luò)服務(wù)、dhcp服務(wù)等功能這里通過inittab里面提到的l3:3:wait:/etc/rc.d/rc 3配置了,而這里其實是通過/etc/rc.d/rc3.d/下所有鏈接文件來決定如何啟動或關(guān)閉服務(wù);素有以S開頭的都被傳遞start參數(shù)啟動,所有以K開頭的,都被傳遞stop參數(shù)以停止。
    而/etc/rc.d/rc3.d/下的所有鏈接文件都是在/etc/init下面的所有腳本,而這些腳本都必須至少接受四個最基本的參數(shù),{start|stop|status|restart}
    意味著去啟動或關(guān)閉/etc/rc.d/rc3.d/目錄下的服務(wù)腳本所控制服務(wù);
            K*:要停止的服務(wù);K##*,優(yōu)先級,數(shù)字越小,越是優(yōu)先關(guān)閉;依賴的服務(wù)先關(guān)閉,而后關(guān)閉被依賴的;
            S*:要啟動的服務(wù);S##*,優(yōu)先級,數(shù)字越小,越是優(yōu)先啟動;被依賴的服務(wù)先啟動,而依賴的服務(wù)后啟動;
  rc腳本:接受一個運行級別數(shù)字為參數(shù);
        /etc/init.d/* (/etc/rc.d/init.d/*)腳本執(zhí)行方式:
                /etc/init.d/SRV_SCRIPT  {start|stop|restart|status}
              service  SRV_SCRIPT   {start|stop|restart|status}
    chkconfig命令:管控/etc/init.d/每個服務(wù)腳本在各級別下的啟動或關(guān)閉狀態(tài);
                                        查看:chkconfig  --list   [name]
                                        添加:chkconfig  --add  name
            能被添加的服務(wù)的腳本定義格式之一:
                                 #!/bin/bash
                                 #
                                 # chkconfig: LLL  NN NN
                                # description:  
                                 刪除:chkconfig  --del  name
            修改指定的鏈接類型:
                    chkconfig  [--level  LEVELS]  name  
                 --level LEVELS:指定要控制的級別;默認為2345;

8.init 執(zhí)行/etc/rc.d/rc.local
注意:正常級別下,最后啟動的一個服務(wù)S99local沒有鏈接至/etc/init.d下的某腳本,而是鏈接至了/etc/rc.d/rc.local (/etc/rc.local)腳本;因此,不便或不需寫為服務(wù)腳本的程序期望能開機自動運行時,直接放置于此腳本文件中即可。
? /etc/rc.d/rc.local 在指定運行級別腳本后運行
? 可以根據(jù)情況,進行自定義修改
9執(zhí)行/bin/login 程序,等待用戶登錄
10登錄之后開始以Shell控制主機

CentOS 6 啟動流程:POST --> Boot Sequence(BIOS) --> Boot Loader -->Kernel(ramdisk) --> rootfs --> switchroot --> /sbin/init -->(/etc/inittab, /etc/init/*.conf) --> 別 設(shè)定默認運行級別 --> 系統(tǒng)初始化腳本 rc.sysinit --> 務(wù) 關(guān)閉或啟動對應(yīng)級別的服務(wù) --> 啟動終端

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


分享標題:CentOS系統(tǒng)啟動流程-創(chuàng)新互聯(lián)
文章出自:http://weahome.cn/article/dpdjcj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部