專利名稱::計(jì)算機(jī)裝置開機(jī)方法及使用該方法的計(jì)算機(jī)裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明有關(guān)于計(jì)算機(jī)技術(shù),且特別有關(guān)于計(jì)算機(jī)裝置開機(jī)到加載操作系統(tǒng)核心程序的程序。
背景技術(shù):
:傳統(tǒng)上,許多加載程序都針對(duì)操作系統(tǒng)客制化,使得一種加載程序只能加載一種操作系統(tǒng)核心程序。例如美國軟微公司的操作系統(tǒng)WindowsCE的加載程序就不能加載Linux操作系統(tǒng)。然而,一臺(tái)個(gè)人計(jì)算機(jī)可以安裝不同的操作系統(tǒng)。所以操作系統(tǒng)加載程序通常是在存儲(chǔ)裝置中而不在主機(jī)板,例如在硬盤的開機(jī)扇區(qū)(MasterBootRecord,簡稱MBR),或一硬盤分割區(qū)(Partition)的開機(jī)扇區(qū)(BootSector)。傳統(tǒng)上,計(jì)算機(jī)裝置開啟程序中,其處理器首先執(zhí)行基本輸入輸出系統(tǒng)(BasicInput/OutputSystem,簡稱BIOS)中的指令以進(jìn)行系統(tǒng)初始化。初始化完成之后,BIOS指向計(jì)算機(jī)裝置中一硬盤的開機(jī)扇區(qū)。MBR中包含硬盤分割表及一程序。該程序指導(dǎo)上述處理器至一開機(jī)分割區(qū)的開機(jī)扇區(qū)讀取一操作系統(tǒng)核心程序或讀取用以加載一操作系統(tǒng)核心程序的加載程序。BIOS和加載程序各負(fù)責(zé)開機(jī)程序中不同的程序。如上述傳統(tǒng)計(jì)算機(jī)裝置開機(jī)時(shí),需讀取存儲(chǔ)裝置以連續(xù)加載多個(gè)程序至主存儲(chǔ)器,最后才加載一操作系統(tǒng)核心程序,所以較為耗時(shí)。以美國軟微公司的WindowsCE操作系統(tǒng)為例,在加載WindowsCE之前,還需要先加載軟微公司的磁盤操作系統(tǒng)(Microsoftdiskoperatingsystem,簡稱MS-DOS),以便執(zhí)行加載WindowsCE指令。除了需要安裝MS-DOS以外,還需要花費(fèi)時(shí)間予以加載。因此,需要一種改良開機(jī)程序的方法以改善上述問題。
發(fā)明內(nèi)容有鑒于此,本發(fā)明的目的在提供一種的改良開機(jī)程序方法,能夠改善開機(jī)的速度,同時(shí)能夠加載不同的操作系統(tǒng)核心程序?;谏鲜瞿康模景l(fā)明實(shí)施例提供一種計(jì)算機(jī)裝置,包括處理器、只讀存儲(chǔ)器、主存儲(chǔ)器、及耦接上述處理器、只讀存儲(chǔ)器及主存儲(chǔ)器的存儲(chǔ)裝置。上述只讀存儲(chǔ)器存儲(chǔ)一加載程序、對(duì)應(yīng)一第一操作系統(tǒng)的文件格式與核心程序的一第一預(yù)定文件名及對(duì)應(yīng)一第二種操作系統(tǒng)的文件格式與核心程序的一第二預(yù)定文件名,上述第一操作系統(tǒng)不同于上述第二操作系統(tǒng)。當(dāng)上述計(jì)算機(jī)裝置啟動(dòng)時(shí),上述處理器首先讀取并執(zhí)行上述只讀存儲(chǔ)器的指令,初始化上述計(jì)算機(jī)裝置。當(dāng)上述存儲(chǔ)裝置存儲(chǔ)的一操作系統(tǒng)的文件格式與核心程序文件名相同于第一或第二操作系統(tǒng)的文件格式與核心程序的上述第一預(yù)定文件名或上述第二預(yù)定文件名,則根據(jù)上述加載程序,上述計(jì)算機(jī)裝置加載上述操作系統(tǒng)的核心程序至上述主存儲(chǔ)器以便執(zhí)行。另外本發(fā)明實(shí)施例提供一種計(jì)算機(jī)裝置開機(jī)方法。首先,由一只讀存儲(chǔ)器提供一加載程序、對(duì)應(yīng)第一操作系統(tǒng)的文件格式與核心程序的第一預(yù)定文件名及對(duì)應(yīng)第二種操作系統(tǒng)的文件格式與核心程序的第二預(yù)定文件名,上述第一操作系統(tǒng)不同于上述第二操作系統(tǒng)。一計(jì)算機(jī)裝置包含上述只讀存儲(chǔ)器、主存儲(chǔ)器、及存儲(chǔ)裝置。當(dāng)上述計(jì)算機(jī)裝置啟動(dòng)時(shí),上述計(jì)算機(jī)裝置首先讀取并執(zhí)行上述只讀存儲(chǔ)器的指令,進(jìn)行開機(jī)初始化。根據(jù)上述加載程序,上述計(jì)算機(jī)裝置從上述存儲(chǔ)裝置加載文件名及文件格式符合第一或第二操作系統(tǒng)的文件格式與核心程序的上述第一預(yù)定文件名或上述第二預(yù)定文件名的操作系統(tǒng)的核心程序至上述主存儲(chǔ)器以便執(zhí)行。圖1表示本發(fā)明實(shí)施例的計(jì)算機(jī)裝置結(jié)構(gòu)方塊圖;圖2表示本發(fā)明實(shí)施例的圖2中只讀存儲(chǔ)器3的設(shè)計(jì)流程圖;圖3表示本發(fā)明實(shí)施例的開機(jī)程序流程圖;以及圖4表示依據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)裝置開機(jī)方法的計(jì)算機(jī)可讀取存儲(chǔ)媒體示意圖。符號(hào)說明1-處理器;3-只讀存儲(chǔ)器;4-主存儲(chǔ)器;5-存儲(chǔ)裝置;6-顯示器;10-計(jì)算機(jī)裝置;31-文件名;32-文件名;33-加載程序;34-圖片文件;51-核心程序;60-存儲(chǔ)媒體;620-計(jì)算機(jī)程序;621-開機(jī)初始化邏輯;622-操作系統(tǒng)核心加載邏輯。具體實(shí)施例方式本發(fā)明實(shí)施例提供一種計(jì)算機(jī)裝置及其使用的方法,用以改善計(jì)算機(jī)裝置開機(jī)到加載操作系統(tǒng)核心程序的時(shí)間,同時(shí)具有支持不同操作系統(tǒng)的彈性。圖1表示本發(fā)明一實(shí)施例的計(jì)算機(jī)裝置結(jié)構(gòu)方塊圖。計(jì)算機(jī)裝置10包含處理器1、只讀存儲(chǔ)器3、主存儲(chǔ)器4、存儲(chǔ)裝置5及顯示器6。處理器1耦接只讀存儲(chǔ)器3、主存儲(chǔ)器4、存儲(chǔ)裝置5、及顯示器6。存儲(chǔ)裝置5可以是計(jì)算機(jī)裝置10的本機(jī)存儲(chǔ)裝置或外接式存儲(chǔ)裝置。存儲(chǔ)裝置5可以包含如下的存儲(chǔ)裝置,但非限于此硬磁盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器、個(gè)人計(jì)算機(jī)內(nèi)存卡國際協(xié)會(huì)(PCMemoryCardInternationalAssociation,簡稱PCMCIA)卡、閃存、或致密閃存(CompactFlash)。存儲(chǔ)裝置5可以通過集成器件電子裝置(IntegratedDeviceElectronics,簡稱IDE)、通用串行總線(UniversalSerialBus,簡稱USB)、周邊部件連接接口(PeripheralComponentInterconnect,簡稱PCI)或其它的連接方式與計(jì)算機(jī)裝置10連接。如果計(jì)算機(jī)裝置10具有多個(gè)存儲(chǔ)裝置,其中一個(gè)可以被設(shè)定為開機(jī)裝置。舉例來說,存儲(chǔ)裝置5是開機(jī)裝置,并且至少存儲(chǔ)一操作系統(tǒng)核心程序,例如核心程序51。主存儲(chǔ)器4可以是各種動(dòng)態(tài)隨機(jī)存取內(nèi)存(DynamicRandomAccessMemory,簡稱DRAM)、靜態(tài)隨機(jī)存存儲(chǔ)器(StaticRandom-AccessMemory,簡稱SRAM)、或其它類型的隨機(jī)存取內(nèi)存。而只讀存儲(chǔ)器3存儲(chǔ)對(duì)應(yīng)一第一操作系統(tǒng)的文件格式與核心程序的文件名31及對(duì)應(yīng)一第二種操作系統(tǒng)的文件格式與核心程序的文件名32。舉例來說,上述第一操作系統(tǒng)及第二種操作系統(tǒng)分別是WindowsCE及Linux,但不以此為限。只讀存儲(chǔ)器3還存儲(chǔ)一商標(biāo)圖片文件34以及據(jù)以取得、解讀文件名31及文件名32的預(yù)定文件系統(tǒng)格式、預(yù)定文件格式、及預(yù)定位置。當(dāng)然,只讀存儲(chǔ)器3也可以存儲(chǔ)二種以上的操作系統(tǒng)核心程序預(yù)定文件名、預(yù)定的文件系統(tǒng)格式、及預(yù)定位置。舉例來說,文件名32是對(duì)應(yīng)Linux的核心程序。文件名32的預(yù)定格式可以是可執(zhí)行鏈接格式(ExecutableandLinkingFormat,簡稱ELF)?;蛘撸募?1是對(duì)應(yīng)WindowsCE的核心程序,文件名31的預(yù)定格式可以是nk.bin的格式。如果一存儲(chǔ)裝置作為計(jì)算機(jī)裝置10的開機(jī)裝置,則其中包含的核心程序須轉(zhuǎn)換以符合文件名31或文件名32的預(yù)定格式。圖2表示本發(fā)明實(shí)施例的圖1中只讀存儲(chǔ)器3的設(shè)計(jì)流程圖。首先,決定開機(jī)裝置及開機(jī)裝置接口,例如集成器件電子裝置(IntegratedDeviceElectronics,簡稱IDE)、通用串行總線(UniversalSerialBus,簡稱USB)、外圍部件連接接口(PeripheralComponentInterconnect,簡稱PCI)、或其它接口(步驟S40)。舉例來說,如果只讀存儲(chǔ)器3用以支持以個(gè)人計(jì)算機(jī)內(nèi)存卡國際協(xié)會(huì)(PCMemoryCardInternationalAssociation,簡稱PCMCIA)卡作為開機(jī)裝置,則可以存儲(chǔ)初始化PCMCIA卡的程序。接著,另請(qǐng)配合圖1參考,在只讀存儲(chǔ)器3中存儲(chǔ)初始化開機(jī)裝置及開機(jī)裝置接口的程序(步驟S42)以及存儲(chǔ)加載程序33于只讀存儲(chǔ)器3中(步驟S44)。當(dāng)計(jì)算機(jī)裝置10開機(jī)時(shí),處理器1首先執(zhí)行只讀存儲(chǔ)器3中的指令以進(jìn)行以下圖3中的開機(jī)程序。圖3表示本發(fā)明實(shí)施例的開機(jī)程序流程圖。根據(jù)只讀存儲(chǔ)器3的指令,上述計(jì)算機(jī)裝置10執(zhí)行系統(tǒng)本身及周邊裝置初始化,包含處理器1、主存儲(chǔ)器4、存儲(chǔ)裝置5、及計(jì)算機(jī)裝置10的其它組件,例如芯片組(步驟S2),藉此讓處理器1可以存取存儲(chǔ)裝置5。進(jìn)行初始化的工作中,只讀存儲(chǔ)器3可以取代傳統(tǒng)的BIOS,而處理器1接著根據(jù)只讀存儲(chǔ)器3以便執(zhí)行下列各步驟。處理器1判別存儲(chǔ)裝置5的文件系統(tǒng)識(shí)別碼以判別文件系統(tǒng)(步驟S4)。舉例來說,如果文件系統(tǒng)識(shí)別碼是十六進(jìn)制數(shù)字83,處理器1判別為EXT3文件系統(tǒng)。只讀存儲(chǔ)器3可以支持的多個(gè)文件系統(tǒng),例如EXT3、ISO9660、FAT12、FAT16及FAT32,但不以此為限。處理器1判別存儲(chǔ)裝置5的文件系統(tǒng)是否符合文件名31或文件名32對(duì)應(yīng)的文件系統(tǒng)(步驟S6)。如否則結(jié)束開機(jī)程序。如果存儲(chǔ)裝置5的文件系統(tǒng)符合文件名31或文件名32其中一者對(duì)應(yīng)的文件系統(tǒng),處理器1自動(dòng)在作為開機(jī)裝置的存儲(chǔ)裝置5的預(yù)定位置中執(zhí)行搜尋以判斷是否存在符合文件名31或文件名32的一操作系統(tǒng)核心程序(步驟S8)。只讀存儲(chǔ)器3可存儲(chǔ)核心程序的多個(gè)預(yù)定位置以對(duì)應(yīng)存儲(chǔ)裝置5具有多個(gè)分割區(qū)。處理器1根據(jù)分割區(qū)識(shí)別碼(PartitionIdentification)自動(dòng)地從存儲(chǔ)裝置5的第一個(gè)分割區(qū)開始順序搜尋,并且加載首先搜尋到并符合文件名31或文件名32的操作系統(tǒng)核心程序。如果在預(yù)定位置中沒有找到文件名相同于上述文件名31或文件名32的操作系統(tǒng)核心程序,則處理器1可以請(qǐng)求使用者輸入操作系統(tǒng)核心程序位置及其它必要信息(步驟S10),例如核心程序文件名。舉例來說,處理器1表示請(qǐng)求輸入核心程序位置的訊息及輸入字段在顯示器6。處理器1接收使用者輸入操作系統(tǒng)核心程序位置及文件名(步驟S11),并根據(jù)使用者輸入的位置來取得存儲(chǔ)裝置5存儲(chǔ)的上述操作系統(tǒng)核心程序(步驟S12)。當(dāng)存儲(chǔ)裝置5存儲(chǔ)的上述操作系統(tǒng)核心程序文件名相同于上述文件名31或文件名32,則執(zhí)行步驟S14。如果在預(yù)定位置的文件夾中存在一圖片文件,處理器1表示此圖片文件以取代在只讀存儲(chǔ)器3中的上述商標(biāo)圖片文件34(步驟S14)。如果在預(yù)定位置的文件夾中無圖片文件,處理器1表示只讀存儲(chǔ)器3中的上述商標(biāo)圖片文件34在顯示器6。針對(duì)不同的操作系統(tǒng)核心程序,處理器1以不同的方式解讀。舉例來說,處理器1根據(jù)可執(zhí)行鏈接格式(ExecutableandLinkingFormat,簡稱ELF)解讀上述Linux的核心程序,或以nk.bin的格式解讀WindowsCE的核心程序。在找到符合的操作系統(tǒng)的核心程序后,處理器1執(zhí)行加載操作系統(tǒng)的核心程序的前置處理,例如配置主存儲(chǔ)器4空間給核心程序(步驟S16)。上述計(jì)算機(jī)裝置10的處理器1加載上述操作系統(tǒng)的核心程序至上述主存儲(chǔ)器4以便執(zhí)行(步驟S18)。處理器1接著執(zhí)行上述操作系統(tǒng)的核心程序(步驟S20)。操作系統(tǒng)核心程序執(zhí)行接下來的開機(jī)操作。另外,本發(fā)明提出一種計(jì)算機(jī)可讀取存儲(chǔ)媒體,用以存儲(chǔ)一計(jì)算機(jī)程序,上述計(jì)算機(jī)程序用以實(shí)現(xiàn)本發(fā)明實(shí)施例的計(jì)算機(jī)裝置開機(jī)方法,此方法會(huì)執(zhí)行如上所述的步驟。圖4表示依據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)裝置開機(jī)方法的計(jì)算機(jī)可讀取存儲(chǔ)媒體示意圖。此存儲(chǔ)媒體60,用以存儲(chǔ)一計(jì)算機(jī)程序620,用以實(shí)現(xiàn)計(jì)算機(jī)裝置開機(jī)方法。其計(jì)算機(jī)程序包含二個(gè)邏輯,分別為開機(jī)初始化邏輯621、以及操作系統(tǒng)核心加載邏輯622。開機(jī)初始化邏輯621初始化計(jì)算機(jī)裝置10,使得存儲(chǔ)裝置5可以被存取,并且操作系統(tǒng)核心加載邏輯622從存儲(chǔ)裝置5加載符合文件名31或文件名32的操作系統(tǒng)核心程序。不同于一般的操作系統(tǒng)核心程序加載流程中是在接連加載多個(gè)加載程序后,最后才加載操作系統(tǒng)核心程序。只讀存儲(chǔ)器3直接記錄操作系統(tǒng)核心程序的文件名、文件系統(tǒng)及文件所在位置,而該操作系統(tǒng)核心程序可直接被加載主存儲(chǔ)器4。同時(shí),處理器1可以根據(jù)只讀存儲(chǔ)器3的數(shù)據(jù)以加載不同的操作系統(tǒng)核心程序。本發(fā)明雖以優(yōu)選實(shí)施例公開如上,然其并非用以限定本發(fā)明,任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,可進(jìn)行更動(dòng)與修改,因此本發(fā)明的保護(hù)范圍以所提出的權(quán)利要求所限定的范圍為準(zhǔn)。權(quán)利要求1.一種計(jì)算機(jī)裝置,包括一主存儲(chǔ)器;一只讀存儲(chǔ)器,存儲(chǔ)一加載程序、對(duì)應(yīng)一第一操作系統(tǒng)的核心程序的一第一預(yù)定文件名以及對(duì)應(yīng)一第二種操作系統(tǒng)的核心程序的一第二預(yù)定文件名,上述第一操作系統(tǒng)不同于上述第二操作系統(tǒng);一存儲(chǔ)裝置,存儲(chǔ)一第三操作系統(tǒng)的核心程序;以及一處理器,耦接于上述主存儲(chǔ)器、上述只讀存儲(chǔ)器及上述存儲(chǔ)裝置,其中,當(dāng)上述計(jì)算機(jī)裝置啟動(dòng)時(shí),上述處理器先讀取并執(zhí)行上述只讀存儲(chǔ)器的指令,以初始化上述計(jì)算機(jī)裝置,當(dāng)上述第三操作系統(tǒng)核心程序文件名相同于上述第一預(yù)定文件名或上述第二預(yù)定文件名,則上述計(jì)算機(jī)裝置根據(jù)上述加載程序加載上述第三操作系統(tǒng)的核心程序至上述主存儲(chǔ)器以便執(zhí)行。2.如權(quán)利要求1所述的計(jì)算機(jī)裝置,其中上述處理器根據(jù)上述加載程序判別上述存儲(chǔ)裝置的文件系統(tǒng),并根據(jù)一預(yù)定位置自動(dòng)取得上述第三操作系統(tǒng)的核心程序文件名及核心程序。3.如權(quán)利要求2所述的計(jì)算機(jī)裝置,其中當(dāng)上述預(yù)定位置無上述第三操作系統(tǒng)的核心程序文件名及核心程序,則上述計(jì)算機(jī)裝置根據(jù)上述加載程序請(qǐng)求輸入上述第三操作系統(tǒng)的核心程序文件名及核心程序位置。4.如權(quán)利要求2所述的計(jì)算機(jī)裝置,其中上述第一預(yù)定文件名及上述一第二預(yù)定文件名分別對(duì)應(yīng)WindowsCE及Linux的核心程序。5.如權(quán)利要求4所述的計(jì)算機(jī)裝置,其中,上述處理器根據(jù)上述只讀存儲(chǔ)器以可執(zhí)行鏈接格式(ELF)解讀上述Linux的核心程序。6.如權(quán)利要求2所述的計(jì)算機(jī)裝置,其中,當(dāng)上述存儲(chǔ)裝置具有多個(gè)分割區(qū),則上述計(jì)算機(jī)裝置根據(jù)上述只讀存儲(chǔ)器自動(dòng)地從上述存儲(chǔ)裝置的第一個(gè)分割區(qū)開始搜尋并加載首先搜尋到并符合上述第一預(yù)定文件名或上述一第二預(yù)定文件名的上述第三操作系統(tǒng)核心程序。7.如權(quán)利要求2所述的計(jì)算機(jī)裝置,其中,上述存儲(chǔ)裝置可以是外接式存儲(chǔ)裝置。8.如權(quán)利要求6所述的計(jì)算機(jī)裝置,其中,上述存儲(chǔ)裝置可以包含個(gè)人計(jì)算機(jī)內(nèi)存卡國際協(xié)會(huì)(PCMCIA)卡、或致密閃存。全文摘要一種計(jì)算機(jī)裝置開機(jī)方法,適用于一計(jì)算機(jī)裝置中,其包括處理器、只讀存儲(chǔ)器、主存儲(chǔ)器及耦接該處理器、只讀存儲(chǔ)器及主存儲(chǔ)器的存儲(chǔ)裝置。該只讀存儲(chǔ)器存儲(chǔ)加載程序、對(duì)應(yīng)第一操作系統(tǒng)的文件格式與核心程序的第一文件名及對(duì)應(yīng)第二種操作系統(tǒng)的文件格式與核心程序的第二文件名。當(dāng)此計(jì)算機(jī)裝置啟動(dòng)時(shí)首先讀取并執(zhí)行該只讀存儲(chǔ)器的指令,以初始化上述計(jì)算機(jī)裝置,并且當(dāng)上述存儲(chǔ)裝置存儲(chǔ)的一操作系統(tǒng)的文件格式與核心程序文件名相同于第一或第二操作系統(tǒng)的文件格式與核心程序的上述第一文件名或第二文件名,則根據(jù)上述加載程序,上述計(jì)算機(jī)裝置加載該操作系統(tǒng)的核心程序至上述主存儲(chǔ)器以便執(zhí)行。文檔編號(hào)G06F9/445GK1731356SQ20051009197公開日2006年2月8日申請(qǐng)日期2005年8月15日優(yōu)先權(quán)日2005年8月15日發(fā)明者詹彥坤,錢愛雯,常祥申請(qǐng)人:威盛電子股份有限公司