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