1. BOIS開機的第一步,作用是開機自檢,(檢查與主板連接的零部件CPU、顯卡、內存條是否有接觸不良的,所謂的主板檢測)
2. MBR引導(MBR是磁盤的引導區,前512K,引導程序是1-446,查看磁盤分幾個區,怎麼啓動)
3. GRUB菜單(引導操作系統的菜單)
4. Kernel(是操作系統的內核,相當於Windows的CPU一樣,核心部分。啓動核心,進行計算)
init進程初始化(執行kerenl計算出來的任務)
進程是可以生產子進程
Bash的含義:不是刷新,而是在生成一個子進程,當做當下看到的界面,之前的界面還存在
一、 第一個sshd這個進程負責遠程連接的服務進程,當我們Xshell連接上linux的以後,sshd會生成一個子進程sshd來接待我們發起遠程連接,如果在一次xshell的連接還會生成一個子進程sshd來接待我們的遠程連接(也就是所謂的監聽端口)
二、 第二個sshd子進程為了幫我們友好的方式進行遠程操作,子進程就就生成一個叫做bash界面進程,其實我們命令模式所操作的界面就是bash這個界面
三、 第三個bash這個界面是負責解析我們的命令,人與計算機的交互,把人認識的命令解析給計算機認識的。(計算機只認識二進制,我們的命令計算機是不認識的,所以bash就把我們的命令解釋成計算認識的二進制傳遞給後方的sshd子進程,子進程在傳遞給kerenl這個運算單元,然後kerenl在識別進行計算,然後在傳遞給子進程執行)
圖形界面是更友好的界面,那鼠標進行,同樣也是把鼠標命令解析成二進制界面來執行
四、scket:所謂就是監聽端口,就是24小時不斷監聽某個固定端口的進程
(監聽的目的就是一旦目標端口指定到端口時有人接待)
Sshd這個進程負責遠程連接的,那麼怎麼遠程連接兩個電腦要傳輸數據,要遵循TCP協議,那麼TCP協議兩個重要的字段是源端口與目標端口,最大的端口時655355,如果是我想給對方發起連接我餓端口是隨機端口,而對方的端口必須是固定的端口,對方收到數據之後,讀取源端口位置,這樣對方會把我我的源端口變成目標端口這樣就可以把數據發回來
6讀取/etc/inittab配置文件
設定linux開機時默認的啓動模式 如果是3默認進入多用界面或者是命令界面,若是6的話就是重啓模式,若是2的話默認是沒有nfs網絡文件的系統的多用户模式,若是4 的就是保留模式
7執行/etc/rc.d/rc.sysinit 初始腳本
為什麼是初始腳本原有是/proc
解釋/proc:內存內存數據,只不過他的讀寫速度是很快的,他的存儲數據也是臨時存儲,也是需要佔用硬盤的空間,內存的運行也是需要硬盤的支持,對於linux來説什麼目錄放的是內存數據就是/proc目錄,proc裏面既有文件也有目錄,但是呢裏面好多的目錄
的名字都是數字,這個目錄到底是什麼呢這些數字就是進程,進程是什麼呢:如果只把眼光站在運維的角度看問題,只能看到進程的這個東西,站在運維角度上看進程就是程序,如果我們看的在遠一點,其實進程裏面有很多進程,真正的幹活的其實線程,我們是看不到的,
進程是什麼,回到進程是程序是可以的,其實進程什麼也不是,進程就是目錄存放資源的目錄,這些資源是提供給線程進行調用的資源,真正幹活的是線程,因此線程就是程序
8 執行/etc/rc.d/rc 腳本
這個目錄是告訴linux那些文件會開機時自動啓動,,,,當前我們開啓的3模式linux就會進入S開頭的腳本,Chkconfig這個命令是即時生成的,並不是保存那個文件裏面,因此無法對CHKCONFIG無法備份,因此呢在運維工作中並不建議用chkconfig的形式來管理開機自啓動項,運維注重安全,/etc/fstab,我們也是不推薦,我們推薦/etc/rc.local ,也可以通過命令的方式啓動服務,每次開機/etc/rc/local 也是自啓動的,這裏面還可以寫註釋,非常安全,非常規範
9 執行/etc/rc.d/rc.local個人配置腳本
10啓動mingetty