偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Linux操作系統(tǒng)啟動流程

系統(tǒng) Linux
計(jì)算機(jī)讀取內(nèi)存映像,當(dāng)屏幕輸出“OK,booting the kernel”。系統(tǒng)將內(nèi)核放置在內(nèi)存中,并調(diào)用 start_kernel()函數(shù)來啟動一系列的初始化函數(shù)并初始化各種設(shè)備,完成Linux核心環(huán)境的建立。

[[381474]]

前言

在上一章節(jié),我們學(xué)習(xí)了與操作系統(tǒng)啟動相關(guān)的幾個概念,今天,一起探討操作系統(tǒng)的啟動流程。

注:本文是之前學(xué)習(xí)Linux時的學(xué)習(xí)筆記,部分內(nèi)容參考書籍《曝光:Linux企業(yè)運(yùn)維實(shí)戰(zhàn)》,在此感謝吳光科老師和京峰教育的優(yōu)質(zhì)教學(xué)。

Linux操作系統(tǒng)啟動流程

本文以 CentOS 系列為例,為大家詳解Linux操作系統(tǒng)啟動流程。

02 CentOS 6 啟動流程

  • 1、加載BIOS

當(dāng)計(jì)算機(jī)打開電源后,首先是BIOS開機(jī)自檢,按照BIOS中設(shè)置的啟動設(shè)備(通常是硬盤)來啟動。

  • 2、讀取MBR

加載完BIOS信息后,計(jì)算機(jī)將會查找BIOS所指定的硬盤,讀取該磁盤的MBR存儲記錄信息,引導(dǎo)系統(tǒng)啟動。

  • 3、GRUB引導(dǎo)

選擇啟動的內(nèi)核/進(jìn)行單用戶模式重置密碼

  • 4、 加載Kernel

計(jì)算機(jī)讀取內(nèi)存映像,當(dāng)屏幕輸出“OK,booting the kernel”。系統(tǒng)將內(nèi)核放置在內(nèi)存中,并調(diào)用 start_kernel()函數(shù)來啟動一系列的初始化函數(shù)并初始化各種設(shè)備,完成Linux核心環(huán)境的建立。

  • 5、設(shè)定系統(tǒng)運(yùn)行級別

內(nèi)核加載完畢,將啟動第一個守護(hù)進(jìn)程 init,然后通過讀取該進(jìn)程讀取/etc/inittab文件,設(shè)定inittab運(yùn)行等級。

  1. Linux 常見運(yùn)行級別如下: 
  2. 1、 0:關(guān)機(jī)模式 
  3. 2、 1:單用戶模式 
  4. 3、 2:無網(wǎng)絡(luò)支持的多用戶模式 
  5. 4、 3:字符界面多用戶模式 
  6. 5、 4:保留,未使用 
  7. 6、 5:圖形界面多用戶模式 
  8. 7、 6:重新引導(dǎo)系統(tǒng),重啟模式 
  • 6、 加載rc.sysinit(系統(tǒng)初始化)

讀取完運(yùn)行級別,系統(tǒng)將執(zhí)行第一個用戶層文件/etc/rc.d/rc.sysinit,該文件功能包括:設(shè)定PATH運(yùn)行變更、設(shè)定網(wǎng)絡(luò)配置、啟動swap分區(qū)、設(shè)定/proc、系統(tǒng)函數(shù)、配置SELinux等。

  • 7、加載內(nèi)核模塊

讀取/etc/modules.conf文件及/etc/modules.d目錄下的文件夾來加載系統(tǒng)內(nèi)核模塊。該模塊文件,可以后期添加或者修改及刪除。

  • 8、啟動運(yùn)行級別程序

根據(jù)第5步讀取到的運(yùn)行級別,操作系統(tǒng)會運(yùn)行rc0.d到rc6.d中相應(yīng)的腳本程序,來完成相應(yīng)的初始化工作和啟動相應(yīng)的服務(wù)。

  • 9、讀取 rc.local文件

操作系統(tǒng)啟動完相應(yīng)服務(wù)后,會讀取執(zhí)行/etc/rc.d/rc.local文件,可以將需要開機(jī)啟動的任務(wù)加入到該文件末尾,系統(tǒng)會逐行去執(zhí)行并啟動相應(yīng)命令。如下圖所示:

  • 10、執(zhí)行/bin/login程序

執(zhí)行/bin/login程序,啟動到系統(tǒng)登錄界面,如下圖所示,輸入用戶名、密碼即可登錄Linux操作系統(tǒng)。至此該操作系統(tǒng)完整啟動流程完畢。

03 CentOS 7 啟動流程

CentOS 7 和CentOS 6 啟動流程差不多,只不過到init程序時候,改為了systemd。

CentOS 7 引導(dǎo)順序:

  1. UEFi或BIOS初始化,運(yùn)行POST開機(jī)自檢
  2. 選擇啟動設(shè)備
  3. 引導(dǎo)裝載程序, centos7是grub2
  4. 加載裝載程序的配置文件:/etc/grub.d/、/etc/default/grub、/boot/grub2/grub.cfg
  5. 加載內(nèi)核選項(xiàng)
  6. 加載initramfs初始化偽文件系統(tǒng)
  7. 內(nèi)核初始化,centos7使用systemd代替init
  8. 執(zhí)行initrd.target所有單元,包括掛載/etc/fstab
  9. 從initramfs根文件系統(tǒng)切換到磁盤根目錄
  10. systemd執(zhí)行默認(rèn)target配置,配置文件/etc/systemd/system/default.target
  11. systemd執(zhí)行sysinit.target初始化系統(tǒng)及basic.target準(zhǔn)備操作系統(tǒng)
  12. systemd啟動multi-user.target下的本機(jī)與服務(wù)器服務(wù)
  13. systemd執(zhí)行multi-user.target下的/etc/rc.d/rc.local
  14. Systemd執(zhí)行multi-user.target下的getty.target及登錄服務(wù)
  15. systemd執(zhí)行g(shù)raphical需要的服務(wù)

下圖是我在網(wǎng)上看到的,總結(jié)很詳細(xì),分享給大家。僅供學(xué)習(xí),若存在版權(quán)問題,請聯(lián)系處理。謝謝

本文轉(zhuǎn)載自微信公眾號「開源Linux」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系開源Linux公眾號。

 

責(zé)任編輯:武曉燕 來源: 開源Linux
相關(guān)推薦

2010-04-20 17:24:42

Unix操作系統(tǒng)

2010-04-15 18:39:56

Unix操作系統(tǒng)

2009-08-11 09:03:45

Windows 7系統(tǒng)啟動

2017-03-03 09:10:41

2009-11-09 16:01:36

路由器操作系統(tǒng)

2009-12-03 10:00:46

Linux系統(tǒng)啟動

2009-12-09 17:25:19

Linux操作系統(tǒng)

2010-03-02 15:45:57

Linux系統(tǒng)啟動過程

2010-03-02 16:13:50

Linux系統(tǒng)啟動過程

2019-06-20 10:56:28

CentOS系統(tǒng)啟動

2009-02-17 16:07:29

Linux操作系統(tǒng)內(nèi)核啟動參數(shù)

2018-12-06 09:00:06

LinuxWindows雙系統(tǒng)

2010-01-12 13:47:18

Linux grub

2021-09-22 08:51:34

Android

2020-12-29 16:39:01

Linux代碼命令

2018-03-13 13:00:03

Linux運(yùn)維啟動分析

2010-03-02 16:51:59

Linux操作系統(tǒng)

2010-04-23 16:16:26

IBM AIX

2009-12-14 17:46:40

Linux桌面操作系統(tǒng)

2010-04-29 14:08:38

Unix操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號