Linux 系統(tǒng)架構(gòu)
Linux系統(tǒng)組成
Linux系統(tǒng)一般有4個(gè)主要部分:內(nèi)核、shell、文件系統(tǒng)和應(yīng)用程序。內(nèi)核、shell和文件系統(tǒng)一起形成了基本的操作系統(tǒng)結(jié)構(gòu),它們使得用戶可以運(yùn)行程序、管理文件并使用系統(tǒng)。

Linux內(nèi)核的整體架構(gòu)

LINUX Kernel map
Linux系統(tǒng)啟動(dòng)過程
操作系統(tǒng)啟動(dòng)流程

加載BIOS
計(jì)算機(jī)電源加電質(zhì)檢,首先加載基本輸入輸出系統(tǒng)(BasicInputOutputSystem,BIOS),BIOS中包含硬件CPU、內(nèi)存、硬盤等相關(guān)信息,包含設(shè)備啟動(dòng)順序信息、硬盤信息、內(nèi)存信息、時(shí)鐘信息、即插即用(Plug-and-Play,PNP)特性等。加載完BIOS信息,計(jì)算機(jī)將根據(jù)順序進(jìn)行啟動(dòng)。
讀取MBR
讀取完BIOS信息,計(jì)算機(jī)將會(huì)查找BIOS所指定的硬盤MBR引導(dǎo)扇區(qū),將其內(nèi)容復(fù)制到0x7c00地址所在的物理內(nèi)存中。被復(fù)制到物理內(nèi)存的內(nèi)容是BootLoader,然后進(jìn)行引導(dǎo)。
GRUB引導(dǎo)
GRUB啟動(dòng)引導(dǎo)器是計(jì)算機(jī)啟動(dòng)過程中運(yùn)行的第一個(gè)軟件程序,當(dāng)計(jì)算機(jī)讀取內(nèi)存中的GRUB配置信息后,會(huì)根據(jù)其配置信息來啟動(dòng)硬盤中不同的操作系統(tǒng)。
加載Kernel
計(jì)算機(jī)讀取內(nèi)存映像,并進(jìn)行解壓縮操作,屏幕一般會(huì)輸出“UncompressingLinux”的提示,當(dāng)解壓縮內(nèi)核完成后,屏幕輸出“OK,booting the kernel”。系統(tǒng)將解壓后的內(nèi)核放置在內(nèi)存之中,并調(diào)用start_kernel()函數(shù)來啟動(dòng)一系列的初始化函數(shù)并初始化各種設(shè)備,完成Linux核心環(huán)境的建立。
設(shè)定Inittab運(yùn)行等級(jí)
內(nèi)核加載完畢,會(huì)啟動(dòng)Linux操作系統(tǒng)第一個(gè)守護(hù)進(jìn)程init,然后通過該進(jìn)程讀取/etc/inittab文件,/etc/inittab文件的作用是設(shè)定Linux的運(yùn)行等級(jí),Linux常見運(yùn)行級(jí)別如下:
0:關(guān)機(jī)模式
1:?jiǎn)斡脩裟J?/p>
2:無網(wǎng)絡(luò)支持的多用戶模式
3:字符界面的多用戶模式
4:保留,未使用的模式
5:圖像界面多用戶模式
6:重現(xiàn)加載系統(tǒng),重啟模式
加載rc.sysinit
讀取完運(yùn)行級(jí)別,Linux系統(tǒng)執(zhí)行的第一個(gè)用戶層文件/etc/rc.d/rc.sysinit,該文件功能包括:設(shè)定PATH運(yùn)行變量、設(shè)定網(wǎng)絡(luò)配置、啟動(dòng)swap分區(qū)、設(shè)定/proc、系統(tǒng)函數(shù)、配置Selinux等。
加載內(nèi)核模塊
讀取/etc/modules.conf文件及/etc/modules.d目錄下的文件來加載系統(tǒng)內(nèi)核模塊。該模塊文件,可以后期添加或者修改及刪除。
啟動(dòng)運(yùn)行級(jí)別程序
根據(jù)之前讀取的運(yùn)行級(jí)別,操作系統(tǒng)會(huì)運(yùn)行rc0.d到rc6.d中的相應(yīng)的腳本程序,來完成相應(yīng)的初始化工作和啟動(dòng)相應(yīng)的服務(wù)。其中以S開頭表示系統(tǒng)即將啟動(dòng)的程序,如果以K開頭,則代表停止該服務(wù)。S和K后緊跟的數(shù)字為啟動(dòng)順序編號(hào)。
S: Start
K:Kill
讀取rc.local文件
操作系統(tǒng)啟動(dòng)完相應(yīng)服務(wù)之后,會(huì)讀取執(zhí)行/etc/rc.d/rc.local文件,可以將需要開機(jī)啟動(dòng)的任務(wù)加入到該文件末尾,系統(tǒng)會(huì)逐行去執(zhí)行并啟動(dòng)相應(yīng)命令。
執(zhí)行/bin/login程序
執(zhí)行/bin/login程序,啟動(dòng)到系統(tǒng)登錄界面,操作系統(tǒng)等待用戶輸入用戶名和密碼,即可登錄到Shell終端,如圖3-7所示,輸入用戶名、密碼即可登錄Linux操作系統(tǒng),至此Linux操作系統(tǒng)完整流程啟動(dòng)完畢

版權(quán)聲明:本文為CSDN博主「yolo2016」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系刪除。
原文鏈接:https://blog.csdn.net/yolo2016/article/details/121985958
Linux 系統(tǒng)架構(gòu)的評(píng)論 (共 條)
