一段描述Linux系統開機過程的筆記

2021-06-04 08:18:16 字數 2168 閱讀 3084

說實話,偶以前一直不關心開機啟動的,按下電源然後出去溜一圈回來就可以用,何必考慮這個過程呢.不過,後來發覺學習linux如果沒過這個的話,對以後的學習會產生很大的障礙.因此,趕緊多學習幾遍.網上開機描述linux開機過程的比較多.不過,自己不默寫一遍,在腦海裡過一遍,往往也只能了解個大概,處於難得糊塗的狀態.為了達到劍既是我,我既是劍的人劍合一的境界.趕緊溫習一遍.

總結一下,linux的開機整個流程.

1: 啟動電源後,主機第一步先做的就是查詢bios(全稱:basic input/output system 基本輸入輸出系統)資訊.了解整個系統的硬體狀態,如cpu,記憶體,顯示卡,網絡卡等.嗯,這一步windows算和它是一家.不分彼此.

2: 接下來,就是主機讀取mbr(硬碟的第乙個扇區)裡的boot loader了.這個可是重點哦,據說troubleshooting裡就會考這點,給個壞了的loader,叫你修正.windows不支援linux的分割槽格式.所以,用windows的boot.ini是查不到linux的系統的.一般我裝系統都是先裝windows再裝linux,然後用grub來做boot loader.兩個字:省心!因為linux不像windows那麼小氣.grub可是支援windows分割槽格式的哦.

3: 接上一步,主機讀取boot loader後,會讀取裡面的資訊,知道誰跟誰是呆在哪,假如主機想進入linux系統,讀取到linux核心是在/boot檔案目錄中後,將此核心載入到記憶體中.開始了接下來的分析啟動之旅.

4: ok,第乙個執行程式是誰?就是/sbin/init程式.不信,就用top程式看下,是不是pid為1的就是這個東東,它,可是萬物之祖啊,我簡稱它是女媧娘娘(不喜歡亞當夏娃).

5: init首先查詢啟動等級(run-level).因為啟動等級不同,其執行指令碼(也就是服務)會不同.預設的等級有以下幾項:

0 – halt (系統直接關機)

1 – single user mode (單人模式,用於系統維護時使用)

2 – multi-user, without nfs (類似3模式,不過少了nfs服務)

3 – full multi-user mode (完整模式,不過,是文字模式)

4 – unused (系統保留功能)

5 – x11 (與3模式類似,不過,是x終端顯示)

6 – reboot (重新開機)

(不要選擇0或4,6 否則,進步了系統的)

6: ok.系統知道自己的啟動等級後,接下來,不是去啟動服務,而是,先設定好主機執行環境.讀取的檔案是/etc/rc.d/rc.sysinit檔案.那究竟要設定哪些環境呢?

設定網路環境/etc/sysconfig/network,如主機名,閘道器,ip,dns等.

掛載/proc.此檔案是個特殊檔案,大小為0,因為它是在記憶體當中.裡面東東最好別刪.

根據核心在開機時的結果/proc/sys/kernel/modprobe.開始進行周邊裝置的偵測.

載入使用者自定義的模組/etc/sysconfig/modules/*.modules

讀取/etc/sysctl.conf檔案對核心進行設定.

設定時間,終端字型,硬碟lvm或raid功能,以fsck進行磁碟檢測.

將開機狀況記錄到/var/log/dmesg中.(可以用命令dmesg檢視結果)

7: ok,接下來,就是啟動系統服務了,不同的run-level會有不同的服務啟動.到/etc/rc.d目錄中,不同的level會有不同的目錄.如啟動3模式,會有個rc3.d目錄,裡面就儲存著服務.其中,s(start)開頭的表明開機啟動,k(kill)開頭的表明開機不啟動.數字表示啟動順序.數字越小,啟動越早.

注意,他們都是連線到etc/rc.d/init.d/目錄中的相關檔案.所以,想手工啟動某一服務,可以用」/etc/rc.d/init.d/某個服務 start」啟動哦.相反,我們也可以把某個服務ln(鏈結命令)到不同run-level的目錄中.記得打上s或者k+數字哦.

8: 讀取服務後,主機會讀取/etc/rc.d/rc.local檔案.所以,如果需要什麼開機啟動的話,可以寫個指令碼或命令到這裡面來.就不用像上面那麼麻煩.以後刪除也方便.

ok,經過一番長途跋涉後,系統終於可以安心的開啟shell了.把控制權交到我們手上了.我們可以為所欲為了.最好,養成好習慣,平時不要用root使用者登陸.上次我就一不小心錯輸了poweroff.那可是閘道器伺服器啊.全公司人都上不了網啊.還好跟他們已經熱乎了.只是狂k了我一頓而已.

摘抄一段關於HashSet的描述

b hashset介紹 b 1.只有類的例項物件要被採用雜湊演算法進行儲存和檢索時,這個類才需要被要求覆蓋hashcode方法。即使程式暫時不會用到當前類的hashcode方法,但是為它提供乙個hashcode方法也不會有什麼不好,沒準以後什麼時候又用到這個方法了,所以,通常要求hashcode方法...

Linux系統開機過程

系統供電之後,首先是bios開機自檢,按照bios的設定進行啟動,通常是通過硬碟來啟動。當作業系統接管硬體裝置之後,首先要讀入 boot目錄下的核心檔案。init 程序是系統所有程序的起點,你可以把它比擬成系統所有程序的老祖宗,沒有這個程序,系統中任何程序都不會啟動。init 程式首先是需要讀取配置...

記錄一段sqlserver儲存過程語句

rocedure dbo p insertvariabledatareal as begin declare id numeric 38,0 tagid nvarchar 36 samptime nvarchar 19 sampstatus numeric 38,0 ta alue nvarchar...