1.加電時由硬體將bios載入到記憶體末尾.這時是實模式,定址空間為1m.
2.由硬體將cs段暫存器強制設定為0xffff,ip指令暫存器設定為0x0000.這樣cs:ip指向了oxffff0的位址位置.這個位置就是bios程式的入口位址.
3.執行bios程式.在記憶體起始位址0x00000設定1k大小的中斷向量表.每個中斷向量大小為4位元組.中斷向量儲存的是中斷服務的入口位址.
4.bios程式在緊接中斷向量表後面設定bios資料區(256b).
5.bios程式在bios資料區後面56k的位置設定中斷服務程式(8kb).
6.bios程式執行int 0x19中斷,cpu收到這個中斷後,在中斷向量表找到對應的中斷服務程式入口位址.然後執行中斷服務程式,把0盤面0磁軌的1扇區512位元組(mbr)資料載入到記憶體中的0x07c00位置.
bios把mbr載入到記憶體後就功成身退了,將控制權移交給mbr,接下來就是mbr出場了.
1.mbr由彙編編寫,大小為512b,主要的作用是載入作業系統的引導程式(boot sector)到記憶體中.
2.引導程式載入核心kernel到記憶體對應的位置.
3.引導程式將當前實模式轉變到保護模式.這期間做了大量工作:
執行main函式,kernel開始啟動,掛載initramfs,執行使用者空間第乙個程式init…
Linux啟動過程
1 開啟 pc電源 pc加電後,乙個特殊的硬體電路會觸發 cpu 的 reset 腳的邏輯值,然後一些 cpu 暫存器,如 cs eip 等被給定乙個值,接著 cpu 跳轉到乙個固定位址開始執行 bios 2 bios 自檢,按設定的裝置啟動 bios 對硬體進行一系列徹底的檢查,如 cpu 型別 ...
Linux 啟動過程
fae 將porting 好的linux 提供,幾乎都在寫應用 空閒時間整理一下 b1202 系統啟動的過程 通過 boot vm 進行啟動 vmlinuz init 程序會讀取 etc inittab etc inittab 先 etc rc.d rc.sysinit 再 etc rc.d rc3...
Linux啟動過程
linux啟動過程 前言 linux是一種自由和開放源 的類unix作業系統。該作業系統的核心由林納斯 托瓦茲在1991年10月5日首次發布。在加上使用者空間的應用程式之後,成為linux作業系統。linux是自由軟體和開放源 軟體發展中最著名的例子。接觸linux的時間也不算短了,一直都是直接使用...