1. 程式人生 > >個人對作業系統的啟動原理的理解

個人對作業系統的啟動原理的理解

於淵的《自己動手寫作業系統》是一本不錯的用程式碼記錄,一步步完成一個小型的作業系統的書。下載地址:https://pan.baidu.com/s/1j1MfEFcfU_fFamkjovOMRA,提取碼:bjwv。需要有組合語言基礎的讀者閱讀。

計算機的啟動過程如下:通電啟動 -> 執行BIOS程式(建立中斷向量表)-> 載入指定磁碟第一個扇區(512位元組)入記憶體 -> 跳轉到記憶體制定位置(07c00h),並將控制權交給這邊的程式碼。

所以,作業系統的載入程式是儲存在該指定磁碟第一個扇區,07c00h開頭處,不超過512位元組的程式。載入程式使用匯編語言編寫,主要工作包括:從真實模式到保護模式,建立記憶體分頁。最後要做的就是將作業系統的核心程式載入進記憶體。核心程式可以放在磁碟的任何位置,使用C語言開發的可執行檔案。

這裡涉及到解析elf格式的可執行檔案,按照可執行檔案的相關描述,載入到記憶體的指定位置。