距自己剛接觸計算機已經很久了,雖然自己是一名程式設計師,但很是慚愧,自己對計算機的相關知識還是很薄弱。雖然之前寫過計算機啟動過程,但是很多細節還是不太熟悉。還是結合一些**來更為清楚。
①、硬體是如何找到我們的作業系統的?
學過體系結構的都是到,cpu會根據cs:ip指定的位置載入**。那通電後,只要強制將cs:ip設定為bios的起始位址(約定為0xffff0)即可。這樣cpu就會載入燒錄在rom上的bios(基本輸入輸出系統)。
bios的工作應該很熟悉:
1、硬體自檢常見的引導程式有:syslinux、grub2bios程式先進行檢查,計算機硬體是否滿足執行的基本條件,這叫「硬體自檢」。
2、載入引導扇區
bios根據boot sequence(就是在bios設定的啟動順序)中的順序,將最前面的儲存裝置的引導扇區(mbr:位置為分割槽的第乙個扇區)的內容載入到記憶體中,並跳轉到第一條指令執行(引導程式)。
上面說到bios執行完就會跳到引導程式執行,那我們結合具體**看看引導程式做了什麼?為什麼bios後的第乙個程式不直接是作業系統呢?
計算機啟動過程
計算機按下開機按鍵到啟動到作業系統的過程中,計算機到底經歷了哪些步驟呢 1 按下power bottom之後,計算機會經過一系列的上電過程 power squence 最後然讓cpu reset.cpu reset 表示主機板電已經上好了並且cpu開始工作 2 cpu開始工作時候緊接著就通過sb或者...
計算機啟動過程
從開啟電源到開始操作,計算機的啟動是乙個非常複雜的過程。我一直搞不清楚,這個過程到底是怎麼回事,只看見螢幕快速滾動各種提示.這幾天,我查了一些資料,試圖搞懂它。下面就是我整理的筆記。零 boot的含義 先問乙個問題,啟動 用英語怎麼說?回答是boot。可是,boot原來的意思是靴子,啟動 與靴子有什...
計算機啟動過程
對intel8086加電或復位的時候,cs 0xffff,ip 0x0000,處理機執行指令的時候是從低位址到高位址,這個位址距離記憶體頂部0xfffff,只差16個位元組,要是ip值超過0x000f,它與cs形成的實體地址就會因為溢位,而變回0x0001 所以在這個位址 cs 0xffff,ip ...