Linux insides筆記(一)

做爲一個web前端工程師,我準備寫寫linux insides的筆記,看着一些操做系統的東西,老是想起那些年翻看osdev wiki的日子,三十天沒能自制的操做系統,還有半途而廢的halfdogOS╯﹏╰  前端

開始正文。 linux

 計算機上電,cpu初始化程序指針到rom的裏oxfffffffo的位置。  ios

進入實模式,一個古老的從8086兼容下來的模式,寄存器只有16位,總線只有20位,結果就是地址空間只有1m,爲了讓16位寄存器只能表示64k的寄存器尋址1mb空間,先人們發明了分段這種東西。 兩個寄存器,一個表示分段起始地址,一個表示偏移,這樣就至關於32位寄存器能尋4g地址,惋惜實模式地址空間只有1mb 好吧, web

oxfffffffo包含跳轉到bios的指令,依然在rom裏,bios就幹了硬件自檢等一大票事,而後找到可引導硬件。 好比,硬盤的第一個512字節扇區,這個扇區要按規矩設定,好比最後是oxaa55啥的。  前端工程師

Bios會把好比這個區域的代碼載入ram地址ox7coo跳轉,固然實模式下,其餘地址各作什麼用途都規定好了,bios該初始化啥數據該放哪應該也放哪了, ide

而後 程序運行到ox7coo,bootloader這種東西,就能夠從這裏開始了 spa

 下回分解,哈哈,好歹我也rolling my own bootloader過,然而好像不怎麼懂linux insides下一章在說啥⊙▽⊙ 操作系統


 乾杯! 指針

相關文章
相關標籤/搜索