【操作系统】系统引导
加載內(nèi)核以啟動(dòng)計(jì)算機(jī)的過(guò)程,稱為系統(tǒng)引導(dǎo)boosting。
大多數(shù)計(jì)算機(jī)系統(tǒng)都有一小塊代碼,稱為引導(dǎo)程序或引導(dǎo)加載程序,這段代碼能夠定位內(nèi)核并且加載到內(nèi)存以開始執(zhí)行。
有的計(jì)算機(jī)系統(tǒng)采用的方式是兩步走:先用一個(gè)簡(jiǎn)單的引導(dǎo)程序從磁盤上調(diào)入一個(gè)更復(fù)雜的引導(dǎo)程序,后者再加載到內(nèi)核。
當(dāng)CPU收到一個(gè)重置事件時(shí),例如上電開機(jī)或重新啟動(dòng),指令寄存器會(huì)加載某個(gè)預(yù)先定義的內(nèi)存位置,并從該位置開始執(zhí)行。該位置就是初始引導(dǎo)程序所在。該程序?yàn)镽OM形式,因?yàn)橄到y(tǒng)啟動(dòng)時(shí)RAM處于未知狀態(tài)。由于不需要初始化和不受計(jì)算機(jī)病毒的影響,用ROM是很方便的。
引導(dǎo)程序可以完成一系列任務(wù)。通常,有一個(gè)任務(wù)需要運(yùn)行診斷程序來(lái)確定機(jī)器狀態(tài)。如果通過(guò)診斷,則程序可以繼續(xù)啟動(dòng)步驟。引導(dǎo)程序也能初始化系統(tǒng)的所有方面:從CPU寄存器到設(shè)備控制器以及內(nèi)存內(nèi)容。最終,它啟動(dòng)操作系統(tǒng)。
有些系統(tǒng),如手機(jī)、平板電腦和游戲控制器,將整個(gè)操作系統(tǒng)保存在ROM中。對(duì)于小型的操作系統(tǒng)、簡(jiǎn)單的支持硬件和耐用的操作,將操作系統(tǒng)存儲(chǔ)在ROM中是適合的。該方法有一個(gè)問(wèn)題:改動(dòng)引導(dǎo)程序代碼需要改動(dòng)ROM芯片。為了解決這個(gè)問(wèn)題,有些系統(tǒng)采用可擦可編程只讀存儲(chǔ)器(EPROM),這是一種ROM,但當(dāng)明確給定一個(gè)命令時(shí)就會(huì)變?yōu)榭蓪懙摹K行问降腞OM都是固件(firmware),因?yàn)樗奶匦越橛谟布c軟件之間。通常,固件存在的問(wèn)題是:執(zhí)行代碼比在RAM中慢。有些系統(tǒng)將操作系統(tǒng)保存在固件中,而在要執(zhí)行時(shí)將其復(fù)制到RAM中,以便執(zhí)行更快。固件的最后一個(gè)問(wèn)題是相對(duì)較貴,所以通常只有少量可用。
對(duì)大型操作系統(tǒng)(包括大多數(shù)的通用操作系統(tǒng),如 Windows、Mac OS X和 UNIX)或經(jīng)常改變的系統(tǒng),引導(dǎo)程序存放在固件上
總結(jié)
以上是生活随笔為你收集整理的【操作系统】系统引导的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【JSON】JSON入门详解(二)
- 下一篇: 【操作系统】信号量的用法