欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

第一步:POST 加電自檢(Powered On Self-Test)

創(chuàng)新互聯(lián)主營信州網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,APP應(yīng)用開發(fā),信州h5微信小程序搭建,信州網(wǎng)站營銷推廣歡迎信州等地區(qū)企業(yè)咨詢

通過主板上集成RAM中的BIOS程序?qū)崿F(xiàn)POST
主板上的ROM:CMOS:主板上的一塊可讀寫的并行或串行FLASH芯片,是用來保存BIOS的硬件配置和用戶對某些參數(shù)的設(shè)定。(BIOS設(shè)置程序一般都被廠商整合在芯片中,因此BIOS設(shè)置有時也被叫做CMOS設(shè)置。)
BIOS:Basic Input and Output System
通過BIOS可以設(shè)置按次序查找各引導(dǎo)設(shè)備,第一個有引導(dǎo)程序的設(shè)備即為本次啟動要用到的設(shè)備.
CentOS 6系統(tǒng)啟動流程詳解

第二步:加載運行bootloader
bootloader:引導(dǎo)加載器(程序)
Windows中使用的bootloader是:ntloader
Linux:LILO(LIinux LOader)
   GRUB:Grand Uniform Bootloader
           GRUB 0.X:Grub Legacy(CentOS 6中使用)
           GRUB 1.X:Grub2   (CentOS 7中使用)

CentOS 6系統(tǒng)啟動流程詳解
功能:提供一個菜單,允許用戶選擇要啟動的系統(tǒng)或不同的內(nèi)核版本; 把用戶選定的內(nèi)核裝載到RAM中的特定空間中,解壓、展開,而后把系統(tǒng)控制權(quán)移交給內(nèi)核.

CentOS 6系統(tǒng)啟動流程詳解

ext系列及GPT系列的文件系統(tǒng)的bootloader都在MBR中的前446個字節(jié),MBR為該磁盤的第一個扇區(qū)(1st stage),共512字節(jié)。
MBR:Master Boot Record
前446bytes:bootloader
然后64bytes:fat (GPT文件系統(tǒng)中不同)
2bytes:55AA (分區(qū)表有效性標(biāo)識)
加載運行GRUB共可分為三步
1st stage:
Partition:filesystem driver, 1.5 stage
Partition:/boot/grub, 2nd stage

GRUB運行詳細過程可以查看我的另一篇博客:

第三步:加載內(nèi)核
1,內(nèi)核加載完成后自身初始化
2,探測可識別到的所有硬件設(shè)備;
3,加載硬件驅(qū)動程序;(有可能會借助于ramdisk加載驅(qū)動,ramdisk文件需要和內(nèi)核放在同一分區(qū),如果需要用到,需要在前一步grub中指定其位置,如果內(nèi)核編譯時已經(jīng)將硬件設(shè)備的驅(qū)動程序編譯進內(nèi)核了,就不需要ramdisk了)

注:有關(guān)ramdisk可以查看我的另一篇博客:

第四步:以只讀方式掛載根文件系統(tǒng)

第五步:切換根(switchroot)


第六步:運行用戶空間的第一個應(yīng)用程序:/sbin/init,實現(xiàn)系統(tǒng)初始化,然后設(shè)置系統(tǒng)運行級別。

/sbin/init/通過它的配置文件定義了其運行的流程
配置文件:/etc/inittab和/etc/init/目錄下所有以.conf結(jié)尾的文件。

/etc/inittab:僅被用于定義默認運行級別(CentOS 6中)

CentOS 6系統(tǒng)啟動流程詳解

注意:在CentOS 5中此文件不是僅用于定義系統(tǒng)默認運行級別。還用于定義其系統(tǒng)初始化及之后的流程

例如:id:3:initdefault:
  si::sysinit:/etc/rc.d/rc.sysinit(設(shè)定系統(tǒng)初始化方式)
   l0:0:wait:/etc/rc.d/rc  0
  l1:1:wait:/etc/rc.d/rc  1(等到運行級別為1時啟動或關(guān)閉/etc/rc.d/rc3.d/目錄下的服務(wù)腳本所控制服務(wù))
  …………
  l6:6:wait:/etc/rc.d/rc  6

具體請查看CentOS 5系列中的配置文件/etc/inittab

此配置文件設(shè)置方式:

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

格式  id:runlevels:action:process  (共四個字段,以:隔開)

第一個字段:id:一個任務(wù)的標(biāo)識符;
第二個字段:runlevels:在哪些級別啟動此任務(wù);#,###,也可以為空,表示所有級別;
第三個字段:action:在什么條件下啟動此任務(wù);
第四個字段:process:任務(wù);

action種類:
   wait:等待切換至此任務(wù)所在的級別時執(zhí)行一次;
   respawn:一旦此任務(wù)終止,就自動重新啟動之;
   initdefault:設(shè)定默認運行級別;此時,process省略;
   sysinit:設(shè)定系統(tǒng)初始化方式,此處一般為指定/etc/rc.d/rc.sysinit腳本;

/etc/init/目錄下所有以.conf結(jié)尾的文件 :定義系統(tǒng)初始化及之后的流程

CentOS 6系統(tǒng)啟動流程詳解

運行流程:

首先讀取/etc/init/rcS.conf配置文件,此配置文件共定義完成兩個功能
1.實現(xiàn)系統(tǒng)初始化
CentOS 6系統(tǒng)啟動流程詳解

通過運行系統(tǒng)初始化腳本實現(xiàn)系統(tǒng)初始化
系統(tǒng)初始化腳本:/etc/rc.d/rc.sysinit

CentOS 6系統(tǒng)啟動流程詳解

其功能:(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) 清理操作;

2.定義系統(tǒng)運行級別

CentOS 6系統(tǒng)啟動流程詳解
注意:(如果在第二步grub中沒有指定,而且grub的配置文件中也沒有設(shè)置系統(tǒng)運行級別此參數(shù)的話,系統(tǒng)運行級別會按照/etc/inittab配置文件中設(shè)置的定義)

運行級別的意義:為了系統(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

示例:

CentOS 6系統(tǒng)啟動流程詳解

第七步:按照定義的系統(tǒng)運行級別關(guān)閉對應(yīng)級別下需要停止的服務(wù),啟動對應(yīng)級別下需要開啟的服務(wù)。


在CentOS 5和6中,系統(tǒng)服務(wù)都被設(shè)計為一個單獨的服務(wù)腳本,可以通過運行這些腳本來管理系統(tǒng)服務(wù)。

這些服務(wù)腳本都在/etc/rc.d/init.d/目錄下。

CentOS 6系統(tǒng)啟動流程詳解

服務(wù)腳本的運行方式:

1.腳本路徑加一個執(zhí)行參數(shù)
# /etc/rc.d/init.d/SRV_SCRIPT  {start|stop|restart|status}
# /etc/init.d/SRV_SCRIPT  {start|stop|restart|status}
/etc/init.d是/etc/rc.d/init.d目錄的軟鏈接
CentOS 6系統(tǒng)啟動流程詳解

2.service命令
命令格式:
# service  SRV_SCRIPT   {start|stop|restart|status}

在/etc/rc.d/目錄下面有7個rc#.d格式的子目錄(#為0-6的整數(shù),對應(yīng)著七個系統(tǒng)運行級別)

CentOS 6系統(tǒng)啟動流程詳解

這些目錄下面各有很多K##SCRIPT-NAME和S##SCRIPT-NAME的軟鏈接文件,
其鏈接對象都是/etc/rc.d/init.d/目錄下同SCRIPT-NAME的服務(wù)腳本文件。

CentOS 6系統(tǒng)啟動流程詳解

CentOS 5和6中對單個運行級別的服務(wù)環(huán)境的配置和系統(tǒng)運行中級別切換后的服務(wù)環(huán)境配置正是基于以上基礎(chǔ)實現(xiàn)的。

單個運行級別的服務(wù)環(huán)境的配置流程:

1.讀取/etc/init/rc.cof這個配置文件CentOS 6系統(tǒng)啟動流程詳解

配置文件中通過運行/etc/rc.d/rc這個腳本來實現(xiàn)單個運行級別的系統(tǒng)服務(wù)環(huán)境配置,在運行的同時傳遞了一個位置參數(shù) $RUNLEVEL,這個參數(shù)就是上一步中已經(jīng)定義過了的系統(tǒng)運行級別。(注意:系統(tǒng)運行中級別切換后的服務(wù)環(huán)境配置也是通過此腳本實現(xiàn))

CentOS 6系統(tǒng)啟動流程詳解
/etc/rc.d/rc這個腳本執(zhí)行會按照給定的位置參數(shù)($RUNLEVEL)運行對應(yīng)的/etc/rc.d/rc#.d/目錄下的那些K和S開頭的腳本。其運行方式是先依次運行以K開頭的腳本,順序是##從小到大,運行時會傳遞一個執(zhí)行參數(shù)stop。之后再依次運行以S開頭的腳本,順序是##從小到大,運行時會傳遞一個執(zhí)行參數(shù)start。(注:這只簡要說明,具體執(zhí)行方式請參照/etc/rc.d/rc腳本代碼)

因此:K表示是該系統(tǒng)級別要停止的服務(wù);##表示優(yōu)先級,數(shù)字越小,越是優(yōu)先關(guān)閉,所以若這個服務(wù)依賴于其它服務(wù)就應(yīng)該設(shè)置為先關(guān)閉,而被其它服務(wù)所依賴的服務(wù)應(yīng)該設(shè)置為后關(guān)閉。

S表示該系統(tǒng)級別要啟動的服務(wù);##表示優(yōu)先級,數(shù)字越小,越是優(yōu)先啟動;所以若被其它服務(wù)所依賴的服務(wù)應(yīng)該設(shè)置為先啟動,而這個服務(wù)依賴于其它服務(wù)就應(yīng)該設(shè)置為后啟動。(##為00-99)

對系統(tǒng)服務(wù)的管理可以通過chkconfig命令實現(xiàn)

chkconfig命令:管控/etc/rc.d/init.d/rc.d/下面每個服務(wù)腳本在各級別下的啟動或關(guān)閉狀態(tài)

使用格式
查看:chkconfig  --list   [name]

CentOS 6系統(tǒng)啟動流程詳解

修改指定的鏈接類型:chkconfig  [--level  LEVELS]  name  <on|off|reset>
--level LEVELS:指定要控制的級別;默認為2,3,4,5

CentOS 6系統(tǒng)啟動流程詳解
添加:chkconfig  --add  name
刪除:chkconfig  --del  name(只是刪除了服務(wù)腳本的那些軟鏈接)

因此如果想增加一個系統(tǒng)服務(wù),可以先寫一個服務(wù)腳本,放到/etc/rc.d/init.d/目錄下,再通過chkconfig命令實現(xiàn)。

能被添加的服務(wù)的腳本定義格式之一:
#!/bin/bash
#
# chkconfig: LLL  NN NN
# description:

注意:在rc2.d,rc3.d,rc4.d,rc5.d中都有一個S99local軟鏈接,即這是幾個級別中最后一個啟動的系統(tǒng)服務(wù)。

CentOS 6系統(tǒng)啟動流程詳解可以看到它鏈接的并不是/etc/rc.d/init.d/目錄下面的服務(wù)腳本,而是/etc/rc.d/rc.local這個腳本。

CentOS 6系統(tǒng)啟動流程詳解
從腳本注釋中可以看出其功用

因此,如果希望一些程序能開機自動運行時,又想寫服務(wù)腳本,可以直接寫入這個腳本中實現(xiàn)。

第八步:啟動終端
讀取/etc/init/start-ttys.conf這個配置文件,完成啟動終端的流程。其中會判定,如果運行級別為5的話,在啟動tty1-6之后會再啟動圖像終端。

CentOS 6系統(tǒng)啟動流程詳解

自此,系統(tǒng)啟動完成。

注:第六到八步,都是init程序通過配置文件實現(xiàn)。

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

本文題目:CentOS6系統(tǒng)啟動流程詳解-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://chinadenli.net/article40/cdooho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作品牌網(wǎng)站建設(shè)動態(tài)網(wǎng)站響應(yīng)式網(wǎng)站域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)