Linux 讀書會
開機時計算機會透過BIOS讀取存儲設備
從存儲設備讀取起始的512 bytes,這512 bytes叫做主引導記錄MBR (master boot record)
MBR會告訴電腦從該設備的某一個分區(partition)來裝載引導加載程序(boot loader),Boot loader儲存有作業系統(OS)的相關信息,比如作業系統名稱,作業系統核心 (kernel)所在位置等。
boot loader會加載kernel
kernel實際上是一個用來操作計算機的程式,它是計算機作業系統的核心,主要的任務是管理計算機的硬體資源,充當軟體和硬體的接口。作業系統上的任何操作都要通過kernel傳達給硬體。Windows和Linux各自有自己kernel。狹義的作業系統就是指kernel,廣義的作業系統包括kernel以及kernel之上的各種應用。
如果載入的是Linux kernel,kernel會首先預留自己運行所需的儲存空間,然後通過驅動程序(driver)檢測計算機硬體,如此作業系統就可以知道自己有哪些硬體可用
kernel會啟動一個init進程。它是Linux系統中的1號進程(Linux系統沒有0號進程)。
Init process(初始化程序)會運行一系列的初始腳本(startup scripts),這些腳本是Linux中常見的shell scripts。執行如下功能
最後init會給出登錄(login)對話框,或者是圖形化的登錄介面
總結 BIOS -> MBR -> boot loader -> kernel -> init process -> login
電腦真正在工作的東西其實是『硬體』, 例如數值運算要使用到 CPU、資料儲存要使用到硬碟、圖形顯示會用到顯示卡、 音樂發聲要有音效晶片、連接 Internet 可能需要網路卡等等。那麼如何控制這些硬體呢? 那就是核心的工作了!也就是說,你所希望電腦幫你達成的各項工作, 都需要透過『核心』的幫助才行。
Root filesystem的建置,即是在建立1個基本的Linux系統(base system),讓kernel在完成開機後,進入user mode執行使用者程式。
嵌入式Linux的root filesystem是依照需求加入套件,當root filesystem缺少必要的library時,程式當然無法執行,甚至系統也會無法順利啟動。
linux process(三)——idle process
https://blog.csdn.net/u013686805/article/details/19905941