linux學習-Linux系統啟動過程
linux系統啟動過程
Linux系統的啟動過程並不是大家想象中的那麽復雜,其過程可以分為5個階段:
- 內核的引導。
- 運行init。
- 系統初始化。
- 建立終端 。
- 用戶登錄系統。
內核引導
電源開機後,首先是BIOS內檢,按照BIOS中設置的啟動設備(通常是硬盤)來啟動。
操作系統接管硬件後,首先讀取/boot目錄下的內核文件。
運行init
init進程是所有進程的起點,你可以把它比擬成系統所有進程的老祖宗,沒有這個進程,系統中任何進程都不會啟動。
init 程序首先是需要讀取配置文件 /etc/inittab。
運行級別
許多程序需要開機啟動的,在windows系統下叫做‘服務’(server),在Linux下叫‘守護進程’(daemon)。
init進程的一大任務,就是去運行開機啟動的程序,為其分配需要的系統資源。這種依據不同場合,所需分配不同的開機啟動程序的動作,叫做“運行級別”(runlevel)。
啟動時,根據運行級別,運行不同的程序。
Linux系統有7類運行級別
運行級別0:系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動 運行級別1:單用戶工作狀態,root權限,用於系統維護,禁止遠程登陸 運行級別2:多用戶狀態(沒有NFS) 運行級別3:完全的多用戶狀態(有NFS),登陸後進入控制臺命令行模式 運行級別4:系統未使用,保留 運行級別5:X11控制臺,登陸後進入圖形GUI模式 運行級別6:系統正常關閉並重啟,默認運行級別不能設為6,否則不能正常啟動
系統初始化
在init的配置文件中有這麽一行: si::sysinit:/etc/rc.d/rc.sysinit 它調用執行了/etc/rc.d/rc.sysinit,而rc.sysinit是一個bash shell的腳本,它主要是完成一些系統初始化的工作,rc.sysinit是每一個運行級別都要首先運行的重要腳本。 它主要完成的工作有:激活交換分區,檢查磁盤,加載硬件模塊以及其它一些需要優先執行任務。
在每個運行級中將運行哪些守護進程,用戶可以通過chkconfig或setup中的"System Services"來自行設定。
建立終端
rc執行完畢後,返回init。這時系統開機啟動的環境都已配置好了。
nit接下來會打開6個終端,以便用戶登錄系統。在inittab中的以下6行就是定義了6個終端:
1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6
用戶登錄系統
一般而言,用戶登錄有三種方式:
- (1)命令行登錄
- (2)ssh登錄
- (3)圖形界面登錄
圖形界面和命令行模式切換
Linux預設提供了六個命令窗口終端機讓我們來登錄。
默認我們登錄的就是第一個窗口,也就是tty1,這個六個窗口分別為tty1,tty2 … tty6,你可以按下Ctrl + Alt + F1 ~ F6 來切換它們。
如果你安裝了圖形界面,默認情況下是進入圖形界面的,此時你就可以按Ctrl + Alt + F1 ~ F6來進入其中一個命令窗口界面。
當你進入命令窗口界面後再返回圖形界面只要按下Ctrl + Alt + F7 就回來了。
如果你用的vmware 虛擬機,命令窗口切換的快捷鍵為 Alt + Space + F1~F6. 如果你在圖形界面下請按Alt + Shift + Ctrl + F1~F6 切換至命令窗口。
Linux 關機
在linux領域內大多用在服務器上,很少遇到關機的操作。畢竟服務器上跑一個服務是永無止境的,除非特殊情況下,不得已才會關機。
正確的關機流程為:sysnc > shutdown > reboot > halt
關機指令為:shutdown ,你可以man shutdown 來看一下幫助文檔。(在Linux領域,man一下會收獲很多)
例如你可以運行如下命令關機:
sync 將數據由內存同步到硬盤中。 shutdown 關機指令,你可以man shutdown 來看一下幫助文檔。例如你可以運行如下命令關機: shutdown –h 10 ‘This server will shutdown after 10 mins’ 這個命令告訴大家,計算機將在10分鐘後關機,並且會顯示在登陸用戶的當前屏幕中。 Shutdown –h now 立馬關機 Shutdown –h 20:25 系統會在今天20:25關機 Shutdown –h +10 十分鐘後關機 Shutdown –r now 系統立馬重啟 Shutdown –r +10 系統十分鐘後重啟 reboot 就是重啟,等同於 shutdown –r now halt 關閉系統,等同於shutdown –h now 和 poweroff
最後總結一下,不管是重啟系統還是關閉系統,首先要運行sync命令,把內存中的數據寫到磁盤中。
關機的命令有 shutdown –h now halt poweroff 和 init 0 , 重啟系統的命令有 shutdown –r now reboot init 6.
參考:https://code.ziqiangxuetang.com/linux/linux-system-boot.html
linux學習-Linux系統啟動過程