您好,登錄后才能下訂單哦!
系統引導是操作系統運行的開始,在用戶能夠正常登錄到系統之前,Linux操作系統的引導過程將完成一系列的初始化任務,并加載必要的程序和命令終端,為用戶登錄做好準備。
如圖:
服務器主機開機之后,將根據主板BIOS中的設置對CPU、內存、顯卡、鍵盤等設備進行初步檢測,檢測成功后根據預設的啟動順序移交系統控制權,大多時候會移交本機硬盤;
當從本機硬盤中啟動系統時,首先根據硬盤第一個扇區中MBR(主引導記錄)的設置,將系統控制權傳遞給包含操作系統引導文件的分區;或者直接根據MBR記錄中的引導信息調用啟動菜單(如GRUB);
對于Linux操作系統來說,GRUB(統一啟動加載器)是使用最為廣泛的多系統引導器程序。系統控制權傳遞給GRUB后,將會顯示啟動菜單給用戶選擇,并根據所選項(或采用默認值)加載Linux內核文件,然后將系統控制權轉交給內核。需要注意的是,Centos 7 采用的是GRUB2啟動引導器。
Linux內個是一個預先編譯好的特殊二進制文件,介于各種硬件資源與系統程序之間,負責資源分配與調度。內核接過系統控制權以后,將會完全掌握整個Linux操作系統的運行過程。在Centos 系統中,默認的內核文件是“/boot/vmlinuz-3.10.0-514.el7.x86_64”。
為了進一步的系統引導過程,Linux內核首先將系統中的“/sbin/init”程序加載到內存中運行,init進程負責完成一系列的系統初始化過程,最后等待用戶進行登錄。
Linux操作系統中的進程使用數字進行標記,每個進程的身份標記號為PID,在引導Linux操作系統的過程中。“/sbin/init”是內核第一個加載的程序,因此init進程對應的PID號總是為1。
init進程運行以后將會陸續執行系統中的其他程序,不斷生成新的進程,這些進程稱為init進程的子進程。
init進程正是維持整個Linux操作系統運行的所有進程的“始祖”。因此,init進程是不允許被輕易終止的。
Systemd是Linux操作系統的一種init軟件,Centos 7 系統采用了全新的Systemd啟動方式,取代了傳統的SysVint。Systemd啟動方式使系統初始化時諸多服務并行啟動,大大提高了開機效率。Centos 7系統中“/sbin/init”是“/lib/systemd/systemd”的鏈接文件。
[root@localhost ~]# ll /sbin/init
lrwxrwxrwx. 1 root root 22 7月 14 18:54 /sbin/init -> ../lib/systemd/systemd
systemd守護進程負責Linux的系統和服務,systemctl用于控制Systemd管理的系統和服務狀態。
Systemd將其管理的資源組織成各種類型的單元(Unit)。如圖:
早期的Linux操作系統中的SysVint機制。默認包括七種不同的服務搭配方式,其中每一種搭配方式稱為運行級別,類似于Windows系統中的正常啟動、安全模式等。Linux系統中用數字來表示,如圖:
Linux操作系統中包含了大量的服務策劃那個系,這些服務程序在切換運行級別是根據預設的狀態進行啟動或終止。
這些服務到底是選擇開啟還是關閉,應根據實際情況而定。
[root@localhost ~]# ntsysv
通過使用“--level”選項可以對指定運行級別中的服務進行管理。比如:
[root@localhost ~]# ntsysv --level 35
//針對運行3、5級別中的各種服務的默認狀態進行調整
常用的選項:
enable:開機自啟動;
disable:開機自動關閉;
is-enable:查看開機啟動狀態;
[root@localhost ~]# systemctl list-units --type=service
//查看當前系統中所有已激活的系統服務
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。