電腦開機都發生了什麼?

2021-10-10 12:19:12 字數 831 閱讀 1228

「程序」這個詞想必大家都有所耳聞,在linux作業系統中,不管軟體,還是命令,還是服務,還是指令碼,歸根結底都是乙個個程序。

只不過有的程序曇花一現,用過就消失;用的程序會一直跑在後台,比如用ps看到的程序。

既然一切都是程序,那麼最根本的程序是哪個呢?或者說,是誰啟動了那麼多後台程序呢?這就是今天要說的開機過程,讓我們從按下開機鍵開始說起。

其實linux開機流程是很複雜的,這裡簡化成6步:

單機開機,計算機通電。

bios(basic input output system),它的功能就是檢查和發現所有硬體找到硬體的乙個起點。說白了,你把系統裝在硬碟上,bios就要先找到硬碟作為第乙個啟動裝置,把硬碟作為起點。

mbr是硬碟被載入後第乙個被讀到的資料,它記錄著硬碟的分割槽,讓計算機大體了解硬碟的框架。

grub負責找到作業系統的準確位置,找到後linux核心就會被啟動。

linux核心的工作就是啟動第乙個引導程式:init

init就是平時所有命令、工具這些程序的起點,俗稱第乙個程序

init是個統稱,init程式從linux誕生的那天起就在不斷更新換代,目前centos 7.x的init系統叫做systemd,centos 6.x的叫做upstart,centos 5.x的叫sysinit

物件在建立的時候都發生了什麼?

我們知道乙個類可以有很多部分組成,建構函式,靜態方法 靜態成員變數,成員變數,構造 塊,區域性 塊,靜態 塊。那麼類在載入進記憶體並且建立物件時都發生了什麼,又都有什麼順序呢?先看乙個栗子吧 class person private string name private int age 18 pr...

簡述main 執行前後都發生了什麼?

題目 簡述main 執行前後都發生了什麼?1 mian 在執行第一行 之前,呼叫全域性物件 靜態物件的建構函式,初始化全域性變數 靜態變數。2 main 函式最後一句 執行之後會呼叫在atexit 中註冊的函式,並且呼叫順序與註冊順序相反。atexit 函式的引數是乙個指向函式的指標,通過將函式名作...

從輸入URL到頁面顯示,都發生了什麼?

瀏覽器將使用者在位址列中輸入的url封裝成請求報文 瀏覽器發起dns解析,將網域名稱轉換為ip位址 remote address 14.215.177.38 443 瀏覽器將請求報文傳送給伺服器 伺服器接收請求報文並解析,解析完畢知道使用者要請求什麼資料 伺服器對使用者需要請求的資料進行處理,處理完...