版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
系統(tǒng)啟動與進程管理深入了解openEuler系統(tǒng)啟動與進程管理01理解系統(tǒng)啟動的重要性與原理系統(tǒng)啟動管理在ARM架構中,UEFI的執(zhí)行過程同樣是先初始化硬件設備,引導EFI系統(tǒng)運行,然后找到GPT中的BootLoader并啟動。BIOS的執(zhí)行過程是先初始化硬件設備,獲取主機的各項硬件配置,然后將MBR中的BootLoader讀取到內(nèi)存中,并將控制權交給BootLoader。BIOS一般會被寫入主板ROM中,主要功能是初始化硬件,提供硬件的軟件抽象。在硬件啟動這一階段,需要達成的目的是借助BIOS/UEFI將硬件的控制權轉交給BootLoader,為后續(xù)的系統(tǒng)啟動做好準備。啟動目的硬件啟動的目的是借助固定的程序,將硬件的控制權轉交給BootLoader。因為操作系統(tǒng)由硬件上的不同文件組成,需要一個固定程序對接不同操作系統(tǒng)并啟動主引導程序。BIOS執(zhí)行UEFI執(zhí)行硬件啟動根據(jù)硬件的差別,硬件啟動一般主要有兩種方式,即BIOS和UEFI。在x86架構中,以BIOS為主;在ARM架構中,以UEFI為主。狹義的BIOS指BIOS本身,廣義的BIOS包括UEFI,UEFI的生態(tài)更加開放。控制權轉交啟動方式GRUB2相比GRUBLegacy具有更多功能,如加密操作系統(tǒng)、恢復系統(tǒng)密碼、定制開機畫面等,為用戶提供了更多的選擇和便利。功能增強在這個階段中,BootLoader會將控制權轉交給內(nèi)核,啟動內(nèi)核之后,接下來的任務將交由內(nèi)核完成。控制權轉交BootLoader是一類程序的總稱,如LILO、GRUBLegacy等,一般也稱為內(nèi)核加載程序。GRUB2是GRUB的升級版,能實現(xiàn)選擇不同的操作系統(tǒng)啟動項、動態(tài)改變引導參數(shù)等更多功能。由于GRUBLegacy啟動加載器當前已經(jīng)難以維護,所以GRUB重寫了代碼,并在其基礎上實現(xiàn)了模塊化,增強了移植性。GRUB升級在openEuler操作系統(tǒng)啟動過程中,BootLoader引導階段的任務是加載Linux內(nèi)核以及可選的初始RAM磁盤。它可以選擇磁盤上多個操作系統(tǒng)內(nèi)核中的一個進行啟動,或從系統(tǒng)分區(qū)中選擇特殊的內(nèi)核配置。引導任務BootLoader引導程序總稱階段進入首個進程systemd具有啟動速度快、按需啟動服務、管理掛載點等多種優(yōu)勢,能夠更好地實現(xiàn)系統(tǒng)的初始化和服務管理。內(nèi)核引導由systemd或init完成相關的啟動過程,包括啟動服務、啟動Shell等。systemd在系統(tǒng)初始化方面具有更多的優(yōu)勢和功能。隨著技術的發(fā)展,systemd逐漸替代init成為主流的系統(tǒng)初始化工具,openEuler也順應了這一趨勢,采用systemd來提高系統(tǒng)的性能和管理效率。systemd優(yōu)勢在完成內(nèi)核加載程序啟動之后,就進入內(nèi)核引導階段。此時操作系統(tǒng)會將控制權由內(nèi)核轉交給運行中的進程systemd或init。openEuler操作系統(tǒng)啟動過程中的第一個進程是PID為1的進程,它就是systemd或init。當前大部分的Linux發(fā)行版都采用systemd來代替init,openEuler也采用systemd來實現(xiàn)系統(tǒng)初始化功能。替代init啟動過程14523啟動某個target的時候,systemd就會啟動里面所有的unit。用戶可以通過修改unit文件自定義unit,并將多個unit設為一個target,按計劃啟動。啟動方式systemd在系統(tǒng)初始化過程中起著關鍵的作用,它能夠有效地管理和協(xié)調(diào)各個服務的啟動,確保系統(tǒng)的正常運行。初始化主體系統(tǒng)初始化階段由systemd完成。systemd啟動之后,會根據(jù)預先設定的target運行相應的服務。系統(tǒng)初始化用戶可以自定義啟動單元或者修改啟動順序,以滿足不同的使用需求。例如,用戶可以根據(jù)自己的業(yè)務需求,調(diào)整某些服務的啟動順序。服務內(nèi)容這些服務包括按/etc/fstab掛載目錄、設定定時器、啟動日志等。target是一個unit組,包含許多相關的unit。自定義啟動systemd作用啟動終端為用戶提供了與系統(tǒng)進行交互的界面,用戶可以在終端中輸入命令,執(zhí)行各種操作,實現(xiàn)對系統(tǒng)的管理和使用。啟動終端啟動完成終端切換至此,通過以上5個階段,控制權從硬件一路轉交至軟件,最終傳遞到用戶手中,openEuler操作系統(tǒng)啟動完成。在控制臺上,模擬這6個tty字符終端,分別對應/dev/tty1/~6,可以按“Alt+Fn”(Fn表示F1~F6)組合鍵來進行切換。/dev/tty0為桌面終端,也就是用戶目前正在使用的終端。用戶交互終端指的是用戶交互界面或者接口。在系統(tǒng)完成初始化之后,首先會執(zhí)行/sbin/mingetty開啟6個tty字符終端。驗證登錄操作系統(tǒng)會比對/etc/nologin、/etc/passwd、/etc/shadow等文件進行驗證登錄。在登錄成功后,屏幕將輸出相關信息,并加載用戶目錄下設置的環(huán)境變量,等待用戶輸入。終端定義02了解systemd的特性與配置系統(tǒng)初始化配置systemd支持按需啟動,系統(tǒng)運行狀態(tài)動態(tài)變化,用戶難以準確知道系統(tǒng)當前運行的服務。systemd快照功能提供了將當前系統(tǒng)運行狀態(tài)保存并恢復的保障。掛載點管理systemd具有比UpStart強的并行啟動能力,采用了socket和D-Bus激活等技術啟動服務,啟動速度更快。它的宗旨是盡可能減少不必要的進程,并且將更多的進程并行啟動。事務性依賴管理系統(tǒng)啟動過程中各工作可能存在依賴關系,systemd維護著“事務一致性”的概念,確保所有相關的服務都可以正常啟動而不會出現(xiàn)互相依賴、死鎖的情況。傳統(tǒng)的Linux系統(tǒng)中,用戶通過/etc/fstab文件維護固定的文件系統(tǒng)掛載點。而systemd內(nèi)建了自動掛載服務,實現(xiàn)了動態(tài)掛載,同時兼容/etc/fstab文件,用戶無須另外安裝autofs服務。啟動速度快按需啟動服務系統(tǒng)快照與恢復systemd具有按需啟動的能力,只有在某個服務被真正請求的時候才啟動它。當該服務結束時,systemd可以關閉它,等待下次需要時再次啟動,避免了服務啟動時間過長以及系統(tǒng)資源的浪費。systemd特性unit查看路徑systemd具有和SysV以及LSB初始化腳本兼容的特性。系統(tǒng)中已經(jīng)存在的服務和進程無須修改,降低了系統(tǒng)向systemd遷移的成本,使得systemd替換現(xiàn)有初始化系統(tǒng)成為可能。當存在同名文件時,優(yōu)先采用優(yōu)先級較高的配置文件,確保系統(tǒng)使用正確的配置。systemd其他特性systemd開啟和監(jiān)督操作系統(tǒng)是基于unit的,unit的名稱由一個與配置文件對應的名字和類型組成。unit有多種類型,如Serviceunit、Targetunit等。兼容性操作單位路徑優(yōu)先級systemd采用cgroup特性跟蹤和管理進程的生命周期。cgroup主要用來實現(xiàn)系統(tǒng)資源配額管理,提供了類似文件系統(tǒng)的接口,使用方便。當進程創(chuàng)建子進程時,子進程會繼承父進程的cgroup。所有可用的systemdunit可以通過3條路徑查看,分別是/usr/lib/systemd/system/、/run/systemd/system/、/etc/systemd/system/,這3條路徑的優(yōu)先級自上而下遞減。進程管理unit類型介紹systemd開啟和監(jiān)督操作系統(tǒng)是基于unit的,也就是說,systemd操作的基本單位是unit。unit的名稱由一個與配置文件對應的名字和類型組成。例如name.serviceunit有一個具有相同名字的配置文件,是守護進程name的一個封裝單元。unit查看與優(yōu)先級所有可用的systemdunit可以通過以下3條路徑查看:
在/usr/lib/systemd/system/目錄下,可查看軟件包安裝時產(chǎn)生的systemdunit;
在/run/systemd/system/目錄下,可查看運行時創(chuàng)建的systemdunit;
在/etc/systemd/system/目錄下,可查看由root用戶創(chuàng)建和管理的systemdunit。這3條路徑的優(yōu)先級自上而下遞減,即存在同名文件時,優(yōu)先采用優(yōu)先級較高的配置文件。openEuler運行級別運行級別定義運行級別定義了服務器啟動后的狀態(tài)。在openEuler操作系統(tǒng)中,systemd用目標替代運行級別的概念,提供了更大的靈活性。常規(guī)運行級別目標描述0runlevel0.target、poweroff.target關閉系統(tǒng)1/s/singlerunlevel1.target、rescue.target單用戶模式2、4runlevel2.target、runlevel4.target、multi-user.target用戶定義/域特定運行級別。默認等同于33runlevel3.target、multi-user.target多用戶,非圖形化環(huán)境。用戶可以通過多個控制臺或網(wǎng)絡登錄5runlevel5.target、graphical.target多用戶,圖形化環(huán)境。通常為所有運行級別為3的服務外加圖形化登錄6runlevel6.target、reboot.target重啟系統(tǒng)rescuerescure.target救援模式emergencyemergency.target緊急模式(緊急Shell)救援與緊急模式在救援模式下,將掛載所有本地文件系統(tǒng),但不會啟動正常服務,比如網(wǎng)絡等,只會啟動很少的服務。救援模式多用于系統(tǒng)無法正常啟動的情況,此外,可以在救援模式下執(zhí)行一些重要的救援操作,例如重置root密碼。如需要改變當前系統(tǒng)為救援模式,可在root權限下執(zhí)行如下命令:[root@openEuler~]#systemctlrescue命令執(zhí)行后,窗口會有如下輸出信息:Youareinrescuemode.Afterloggingin,type"journalctl-xb"toviewsystemlogs,"systemctlreboot"toreboot,"systemctldefault"or"exit"tobootintodefaultmode.Giverootpasswordformaintenance(orpressControl-Dtocontinue):假如此時想要從救援模式切換到正常模式,需要重啟操作系統(tǒng)。與救援模式相比,緊急模式下不啟動任何服務,不會掛載任何文件系統(tǒng),用戶只會打開一個原始的Shell。因此緊急模式多適用于調(diào)試目的和修復系統(tǒng)。如需要改變當前系統(tǒng)為緊急模式,可在root權限下執(zhí)行如下命令:[root@openEuler~]#systemctlemergency命令執(zhí)行后,窗口會有如下輸出信息:Youareinemergencymode.Afterloggingin,type"journalctl-xb"toviewsystemlogs,"systemctlreboot"toreboot,"systemctldefault"or"exit"tobootintodefaultmode.Giverootpasswordformaintenance(orpressControl-Dtocontinue):假如此時想要從緊急模式切換到正常模式,同樣需要重啟操作系統(tǒng)。在openEuler中,systemd提供systemctl命令來運行、關閉、重啟、顯示、啟用、禁用系統(tǒng)服務。與sysvinit命令功能類似,當前版本依然兼容service和chkconfig命令,但建議統(tǒng)一用systemctl進行系統(tǒng)服務管理。systemctl命令openEuler服務控制target是一組unit的集合,所以當用戶想在systemd中自定義一些服務模塊時,只需在相應的target目錄下寫入unit配置文件即可。每個unit對應一個.service文件(即服務),這些服務分為兩類:系統(tǒng)服務和用戶服務。系統(tǒng)服務是用戶登錄前運行的程序,而用戶服務是用戶登錄后運行的程序。對于每個.service文件,需要配置3個字段:Unit代表啟動順序與依賴關系;Service代表啟動行為,是必選字段;Install代表服務所在的target。openEuler服務控制以user.service為例,使自定義服務模塊生效并設置自啟動,有以下兩種方法。
直接使用systemctl命令:[root@openEuler~]#systemctlenableusr.service
手動創(chuàng)建軟連接:[root@openEuler~]#ln-s/usr/lib/systemd/system/user.service/usr/lib/systemd/
system/local-fs.target.wants/usr.service執(zhí)行以下命令重新加載,使配置生效。[root@openEuler~]#systemctldaemon-reloadopenEuler服務控制以user.service為例,使自定義服務模塊生效并設置自啟動,有以下兩種方法。
直接使用systemctl命令:[root@openEuler~]#systemctlenableusr.service
手動創(chuàng)建軟連接:[root@openEuler~]#ln-s/usr/lib/systemd/system/user.service/usr/lib/systemd/
system/local-fs.target.wants/usr.service執(zhí)行以下命令重新加載,使配置生效。[root@openEuler~]#systemctldaemon-reloadopenEuler服務控制【示例8-5】#查詢服務是否被激活[root@openEuler~]#systemctlis-activename.serviceinactive選項is-active的返回結果及說明如表8-5所示。openEuler服務控制【示例8-6】#查詢服務是否開機啟動[root@openEuler~]#systemctlis-enabledfirewalld.servicedisabled選項is-enabled的返回結果及說明如表所示。返回結果說明enabled服務已經(jīng)通過/etc/systemd/system/目錄下的Alias=別名、.wants/或.requires/符號鏈接被永久啟用enabled-runtime已經(jīng)通過/run/systemd/system/目錄下的Alias=別名、.wants/或.requires/符號鏈接被臨時啟用linked雖然單元文件本身不在標準單元目錄中,但是指向此單元文件的一個或多個符號鏈接已經(jīng)存在于/etc/systemd/system/永久目錄中l(wèi)inked-runtime雖然單元文件本身不在標準單元目錄中,但是指向此單元文件的一個或多個符號鏈接已經(jīng)存在于/run/systemd/system/臨時目錄中masked已經(jīng)被/etc/systemd/system/目錄永久屏蔽(符號鏈接指向
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年閩侯縣曇石山中學第一期臨聘教師招聘備考題庫及參考答案詳解1套
- 2025年中職歷史學(中國古代史綱要)試題及答案
- 2025年中職智慧健康養(yǎng)老服務(養(yǎng)老常識基礎)試題及答案
- 2026年倉儲管理(貨物防護)試題及答案
- 2025年大學第二學年(精密儀器制造)技術應用階段測試題及答案
- 2025年高職(電子信息工程技術)單片機原理及應用專項測試試題及答案
- 2025年大學生態(tài)工程(生態(tài)工程)試題及答案
- 2025年中職(會計電算化)電子報稅綜合技能測試試題及答案
- 2025年中職(會計信息化)財務軟件操作試題及答案
- 2025年大學農(nóng)業(yè)機械化及其自動化(農(nóng)機智能化技術)試題及答案
- 2026屆濰坊市重點中學高一化學第一學期期末教學質量檢測試題含解析
- 超皮秒祛斑課件
- 2025年高爾基《童年》閱讀測試+答案
- 跟單轉正述職報告
- 移民管理警察職業(yè)精神
- 棋牌室消防安全應急預案
- 罐體環(huán)形噴淋施工方案
- 2025年江蘇(統(tǒng)招專升本)高等數(shù)學考試試題及答案
- 保安公司安全培訓教材課件
- 通信涉電作業(yè)安全培訓課件
- 口腔醫(yī)護管理辦法
評論
0/150
提交評論