一、前言
今天起開始分享關于操作系統的相關知識,本人也是菜鳥一個,正處于學習階段,這整個操作系統篇也是我邊學習邊總結的一些結果,希望能給正在學習或者有意向學習操作系統的童鞋帶來幫助。
二、有關知識
在進入代碼之前,先給大家普及一些硬件知識,如果你已經具備了這方面的知識,可以直接略過這部份。
1.計算機怎么啟動操作系統的?
首先,我們思考一個問題,為什么一個硬盤安裝系統之后打開計算機電源之后就能正常加載啟動呢?這看起來似乎很智能,似乎計算機像活的一樣會自動去硬盤中找系統代碼并自行加載。其實不然,在計算機的世界里一切也都是離不開規(guī)則的。而基于這些硬件所定的規(guī)則或者協議,我們將啟動代碼放到協議規(guī)定的地方,這時候啟動就會加載這部分代碼。聽起來好像有點亂,我們繼續(xù)看。
2.主引導扇區(qū)
很多安裝過系統的童鞋都應該知道引導盤這個東西,就是在我們啟動電腦的時候可以通過bios來設定是通過U盤啟動還是通過硬盤啟動。對于硬盤來說,硬盤的第一個扇區(qū)是 0 面 0 道 1 扇區(qū),或者說是 0 頭 0 柱 1 扇區(qū),這個扇區(qū)稱為主引導扇區(qū)。如果計算機的設置是從硬盤啟動,那么, ROM-BIOS 將讀取硬盤主引導扇區(qū)的內容,將它加載到內存地址 0x0000:0x7c00 處(也就是物理地址 0x07C00),然后 jmp 跳到那里接著執(zhí)行: