專利名稱:Mid多操作系統(tǒng)并行方法
技術(shù)領(lǐng)域:
本發(fā)明涉及便捷式計(jì)算機(jī)的操作系統(tǒng)啟動(dòng)技術(shù)領(lǐng)域,特別是涉及一種MID設(shè)備上 多操作系統(tǒng)并行方法。
背景技術(shù):
隨著Internet的應(yīng)用范圍不斷擴(kuò)展,社群網(wǎng)絡(luò)和用戶產(chǎn)生內(nèi)容的網(wǎng)站支配著全 球Internet的流量,新的移動(dòng)數(shù)據(jù)設(shè)備正在逐漸滿足用戶的需求。這樣新一代的移動(dòng)網(wǎng)絡(luò) 設(shè)備(Mobile Internet Device,簡(jiǎn)稱 MID,)就應(yīng)運(yùn)而生。目前的手持設(shè)備無(wú)法像電腦一樣體驗(yàn)互聯(lián)網(wǎng),只有像MID這樣的設(shè)備才能夠?qū)崿F(xiàn) 全功能的上網(wǎng)。它可以像普通電腦一樣運(yùn)行所有的網(wǎng)上內(nèi)容,而目前還沒(méi)有任何的掌上設(shè) 備,在同樣的體積下能夠提供全功能上網(wǎng),大多數(shù)的視頻以及Flash等內(nèi)容都無(wú)法正常顯
7J\ οMID為用戶提供了 口袋中的完美Internet體驗(yàn),擁有簡(jiǎn)單和觸摸屏操作的⑶I,能 夠進(jìn)行WiFi和2. 5G通訊,提供了優(yōu)秀的Internet體驗(yàn)。然而,目前MID的各項(xiàng)技術(shù)還不 夠成熟,在待機(jī)時(shí)間和能耗,軟件操作的便捷性和應(yīng)用層面的可拓展性,以及操作系統(tǒng)的開(kāi) 放性等諸多方面存在不少缺點(diǎn)。要克服這些缺點(diǎn),最好的方法是設(shè)備廠商做好進(jìn)一步的軟 硬件開(kāi)發(fā);與此同時(shí),為了在MID上提供更為豐富的功能,需要研究在MID上多操作系統(tǒng)并 行的技術(shù)。在面向移動(dòng)終端設(shè)備的操作系統(tǒng)方面,已有多種不同的產(chǎn)品出現(xiàn),比如面向MID 設(shè)備的Ubuntu MID發(fā)行版,Redflag Midinux操作系統(tǒng);面向NetBook上網(wǎng)本的Moblin社 區(qū)的Moblin發(fā)行版;還有Microsoft Windows XP TabletPC Edition的定制版本等都是專 門為便捷上網(wǎng)設(shè)備開(kāi)發(fā)的優(yōu)秀操作系統(tǒng)。這些操作系統(tǒng)技術(shù)特點(diǎn)不一,各具特色,給用戶帶 來(lái)了不同的用戶體驗(yàn)。然而,由于設(shè)計(jì)理念和具體實(shí)現(xiàn)方式不同,這些操作系統(tǒng)之間不能兼 容,不同平臺(tái)的優(yōu)秀的應(yīng)用程序無(wú)法同時(shí)使用。這些操作系統(tǒng)在MID平臺(tái)上的并行技術(shù)將 會(huì)很大的促進(jìn)MID的發(fā)展。通過(guò)研究并行關(guān)鍵技術(shù),使得用戶能夠在MID上進(jìn)行多個(gè)操作系 統(tǒng)之間切換,有利于MID的推廣,并使得MID能夠提供更為強(qiáng)大的功能和更為豐富的應(yīng)用。啟動(dòng)引導(dǎo)管理程序是計(jì)算機(jī)系統(tǒng)加電后運(yùn)行的第一段代碼。大家熟悉的PC中的 引導(dǎo)程序一般由BIOS和位于MBR的啟動(dòng)引導(dǎo)管理程序(例如LILO或者GRUB) —起組成。 簡(jiǎn)單地說(shuō),啟動(dòng)引導(dǎo)管理程序就是在操作系統(tǒng)內(nèi)核運(yùn)行前執(zhí)行的一段小程序。通過(guò)這段小 程序,我們可以初始化必要的硬件設(shè)備,創(chuàng)建內(nèi)核需要的一些信息并將這些信息通過(guò)相關(guān) 機(jī)制傳遞給內(nèi)核,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),最終調(diào)用操作系統(tǒng)內(nèi)核, 真正起到引導(dǎo)和加載內(nèi)核的作用。不同類型的操作系統(tǒng)有不同的引導(dǎo)程序,只要在引導(dǎo)程序之間實(shí)現(xiàn)相互切換,就 能夠?qū)崿F(xiàn)多種操作系統(tǒng)的并行共存,達(dá)到我們的目的。常見(jiàn)的Linux系統(tǒng)引導(dǎo)程序Grub和 LIL0,以及U-Boot等開(kāi)源的啟動(dòng)引導(dǎo)程序已經(jīng)可以做到這一點(diǎn),我們可以成功將它們安裝 到MID設(shè)備上。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種MID多操作系統(tǒng)并行方法。本發(fā)明解決其技術(shù)問(wèn)題采用的技術(shù)方案如下1)在MID設(shè)備外部存儲(chǔ)器上劃分多操作系統(tǒng)空間根據(jù)安裝的操作系統(tǒng)類型和操作系統(tǒng)數(shù)量,在MID設(shè)備外部存儲(chǔ)器上劃分出相應(yīng)數(shù)量的操作系統(tǒng)空間,然后對(duì)各分區(qū)進(jìn)行格式化操作;MID設(shè)備外部存儲(chǔ)器對(duì)應(yīng)于傳統(tǒng)計(jì)算機(jī)的硬盤,通過(guò)對(duì)其分區(qū),可以使各種操作系 統(tǒng)在同一個(gè)MID設(shè)備上各司其職,協(xié)調(diào)工作;存儲(chǔ)器分區(qū)是外存上已經(jīng)指定的存儲(chǔ)空間,它 的各項(xiàng)信息都在存儲(chǔ)器的邏輯順序排列中最前端的主引導(dǎo)記錄中保存;MID設(shè)備通過(guò)讀取 該主引導(dǎo)記錄來(lái)獲取系統(tǒng)引導(dǎo)信息,從而轉(zhuǎn)向相應(yīng)的引導(dǎo)程序;主引導(dǎo)記錄中保存了關(guān)于 存儲(chǔ)器上各種分區(qū)的起始結(jié)束位置和大小等信息;分區(qū)共有三種主引導(dǎo)分區(qū)、擴(kuò)展分區(qū) 和邏輯分區(qū),一個(gè)主引導(dǎo)記錄中最多可以包括四個(gè)主引導(dǎo)分區(qū)項(xiàng),分別啟動(dòng)不同的操作系 統(tǒng);2)安裝啟動(dòng)引導(dǎo)管理程序安裝啟動(dòng)引導(dǎo)管理程序,將啟動(dòng)引導(dǎo)管理程序的二進(jìn)制可執(zhí)行文件和配置文件拷 貝到特定分區(qū)的根目錄下;啟動(dòng)引導(dǎo)管理程序負(fù)責(zé)啟動(dòng)某個(gè)系統(tǒng)的內(nèi)核,以及啟動(dòng)其他系統(tǒng)對(duì)應(yīng)的引導(dǎo)程 序;典型的啟動(dòng)引導(dǎo)管理程序設(shè)計(jì),將代碼分成兩個(gè)階段,這主要是為了在代碼的可移植性 和效率上做一個(gè)折中;因?yàn)閱?dòng)引導(dǎo)管理程序是高度硬件相關(guān)的,不同體系結(jié)構(gòu)的CPU初 始化等操作截然不同;代碼的第一階段的任務(wù)是初始化硬件設(shè)備,為啟動(dòng)引導(dǎo)管理程序第 二階段準(zhǔn)備好內(nèi)存空間并初始化堆棧;這部分內(nèi)容由匯編實(shí)現(xiàn);第二階段的工作是設(shè)置系 統(tǒng)時(shí)鐘,設(shè)置內(nèi)存地址翻譯表并初始化內(nèi)存管理單元,設(shè)置內(nèi)核啟動(dòng)參數(shù)并將內(nèi)核映像由 外部存儲(chǔ)器拷貝到相應(yīng)的系統(tǒng)內(nèi)存中,最后跳轉(zhuǎn)到內(nèi)核的入口點(diǎn);3)修改MID設(shè)備外部存儲(chǔ)器的主引導(dǎo)記錄在安裝完成啟動(dòng)引導(dǎo)管理程序后,需要修改MID設(shè)備外部存儲(chǔ)器的主引導(dǎo)記錄, 才能夠在啟動(dòng)MID設(shè)備時(shí)首先運(yùn)行安裝的啟動(dòng)引導(dǎo)管理程序,以達(dá)到MID設(shè)備啟動(dòng)時(shí)可以 直接進(jìn)入啟動(dòng)引導(dǎo)管理程序的目的。主引導(dǎo)記錄的大小為512字節(jié),而這個(gè)區(qū)域可以分為 三個(gè)部分第一部分為預(yù)啟動(dòng)區(qū),占446字節(jié);第二部分是分區(qū)表區(qū),占64個(gè)字節(jié),硬盤中 分區(qū)有多少以及每一分區(qū)的大小都記在其中;第三部分是magic number,占2個(gè)字節(jié),固定 為55AA ;本步驟的實(shí)現(xiàn)方法可以選擇如下兩種方式之一1、將主引導(dǎo)記錄預(yù)啟動(dòng)區(qū)的匯編代碼修改為啟動(dòng)引導(dǎo)管理程序的第一階段的代 碼;2、將主引導(dǎo)記錄預(yù)啟動(dòng)區(qū)的匯編代碼修改為尋找活動(dòng)分區(qū)的匯編代碼,同時(shí)將啟 動(dòng)引導(dǎo)管理程序第一階段及剩余階段的代碼所在分區(qū)標(biāo)為活動(dòng)的;4)配置多操作系統(tǒng)啟動(dòng)參數(shù)配置多操作系統(tǒng)啟動(dòng)參數(shù),使用戶可以在啟動(dòng)引導(dǎo)管理程序中選擇并啟動(dòng)需要啟 動(dòng)的操作系統(tǒng),以達(dá)到多操作系統(tǒng)可以在MID設(shè)備上并行共存,并可以在MID啟動(dòng)時(shí)切換的 目的。
針對(duì)不同的操作系統(tǒng),啟動(dòng)引導(dǎo)管理程序的配置文件中需要不同的參數(shù);對(duì)于可 以直接引導(dǎo)的內(nèi)核類型,需要在配置文件中指明內(nèi)核文件所在的目錄和文件名,啟動(dòng)內(nèi)核 所需要的參數(shù),附加的模塊鏡像所在目錄和文件名;對(duì)于不能直接引導(dǎo)的內(nèi)核類型,要在配 置文件中指明可以引導(dǎo)這種內(nèi)核類型的引導(dǎo)程序所在分區(qū),并標(biāo)明需要鏈?zhǔn)絾?dòng)該引導(dǎo)程 序。本發(fā)明提供了一種新的方法和技術(shù)可以在MID設(shè)備上實(shí)現(xiàn)多操作系統(tǒng)并行,使得 MID設(shè)備的應(yīng)用范圍更加廣泛。本發(fā)明通過(guò)更改MID設(shè)備上外部存儲(chǔ)器如SSD硬盤的主引 導(dǎo)記錄,添加操作系統(tǒng)啟動(dòng)引導(dǎo)管理程序,同時(shí)將外部存儲(chǔ)器合理分區(qū)給多個(gè)操作系統(tǒng)使 用,達(dá)到兩個(gè)甚至更多的操作系統(tǒng)并行共存。本方法依賴于設(shè)計(jì)完善的啟動(dòng)引導(dǎo)管理程序, 針對(duì)新興MID設(shè)備CPU的X86架構(gòu),可以實(shí)現(xiàn)各種X86平臺(tái)上的常見(jiàn)操作系統(tǒng)如Microsoft Windows, Mac OS, GNU Linux, BSD, Solaris, DOS 之間的并行共存,有效的拓展了 MID 的用 戶對(duì)象和應(yīng)用范圍。與背景技術(shù)相比,本發(fā)明還具有如下有益效果(1)拓展了應(yīng)用范圍。在MID設(shè)備上運(yùn)行多種操作系統(tǒng),可以大幅度擴(kuò)展MID設(shè)備 的應(yīng)用范圍,使其支持更多的應(yīng)用程序,豐富用戶的體驗(yàn)。(2)便捷性。用戶不需要購(gòu)買額外的硬件來(lái)實(shí)現(xiàn)在多種操作系統(tǒng)的體驗(yàn),通過(guò)啟動(dòng) 引導(dǎo)管理程序可以方便的切換多個(gè)操作系統(tǒng)。(3)自由性。在存儲(chǔ)器空間允許的情況下,用戶可以安裝任意數(shù)量和種類的操作系 統(tǒng),它們之間可以通過(guò)本方法自由切換。
圖1是本發(fā)明實(shí)施例的整體流程圖。
具體實(shí)施例方式在實(shí)施本實(shí)施例的MID多操作系統(tǒng)并行方法時(shí),具體方式如下1)在MID設(shè)備外部存儲(chǔ)器上劃分多操作系統(tǒng)空間本步驟是圖1中的第一步“劃分多操作系統(tǒng)空間”。對(duì)于沒(méi)有任何數(shù)據(jù)的包括分區(qū)信息的外部存儲(chǔ)器,首先應(yīng)考慮使用哪些操作系 統(tǒng),想安裝多種操作系統(tǒng),其中包括Linux操作系統(tǒng),可以利用分區(qū)程序FDISK對(duì)硬盤進(jìn)行 分區(qū)。注意在一個(gè)存儲(chǔ)設(shè)備上最多只能有4個(gè)主分區(qū),擴(kuò)展分區(qū)也是一個(gè)主分區(qū),可以在擴(kuò) 展分區(qū)內(nèi)劃分若干個(gè)邏輯分區(qū),來(lái)突破4個(gè)主分區(qū)的數(shù)量限制??紤]要安裝的操作系統(tǒng)類 型,對(duì)存儲(chǔ)器上的空間進(jìn)行合理劃分,一般的MID設(shè)備上專用的Linux操作系統(tǒng)需要至少 1. 5GB的空間,而Windows XP操作系統(tǒng)至少需要2GB的空間,如果劃分的空間不足則會(huì)導(dǎo)致 安裝操作系統(tǒng)時(shí)出錯(cuò)。目前的MID設(shè)備大多采用SSD固態(tài)硬盤作為外部存儲(chǔ)器,而且容量有限,一般總?cè)?量不會(huì)超過(guò)10GB。根據(jù)不同的MID設(shè)備配置進(jìn)行合理的分區(qū),不建議分區(qū)數(shù)量過(guò)多,因?yàn)檫@ 樣會(huì)使很多空間無(wú)法充分利用。分區(qū)結(jié)束之后需要對(duì)分區(qū)進(jìn)行格式化操作,可以在操作系統(tǒng)安裝之前或安裝時(shí)進(jìn) 行。對(duì)于大多數(shù)Linux系統(tǒng),建議采用ext3或ext2格式的文件系統(tǒng);而對(duì)于Windows XP 系統(tǒng),建議采用NTFS格式的文件系統(tǒng)。
2)安裝啟動(dòng)引導(dǎo)管理程序
啟動(dòng)引導(dǎo)管理程序負(fù)責(zé)啟動(dòng)某個(gè)系統(tǒng)的內(nèi)核,以及啟動(dòng)其他系統(tǒng)對(duì)應(yīng)的引導(dǎo)程 序;安裝啟動(dòng)引導(dǎo)管理程序一般只需要將二進(jìn)制可執(zhí)行文件和配置文件拷貝到特定分區(qū)的 根目錄下。本步驟見(jiàn)圖1的第二步“安裝啟動(dòng)引導(dǎo)管理程序”。以grub啟動(dòng)引導(dǎo)管理程序?yàn)槔?,正常工作的grub應(yīng)該包括以下文件utagel、 stage2、*stagel_5、menu. 1st。*符號(hào)指stage2文件所在分區(qū)的文件系統(tǒng)格式。其中stagel 的大小一定是512字節(jié),它要被寫(xiě)入某個(gè)硬盤的主引導(dǎo)記錄,或者某個(gè)活動(dòng)分區(qū)的啟動(dòng)扇 區(qū)。stagel的唯一作用就是找到存放在硬盤上某個(gè)地方的Stage2文件,來(lái)完成后續(xù)的工 作。stage2文件一般在某個(gè)特定格式的文件系統(tǒng)中,例如ext2或fat32,然后把這個(gè)文件拷 貝到這個(gè)分區(qū)的某個(gè)目錄下。因?yàn)閟tagel的容量有限,所以它對(duì)文件系統(tǒng)是無(wú)法識(shí)別的, 需要使用與文件系統(tǒng)格式對(duì)應(yīng)的Stagel_5文件,負(fù)責(zé)解釋文件系統(tǒng)。stage2放在什么格式 的文件系統(tǒng)上,就要調(diào)用對(duì)應(yīng)的stagel_5文件。比如,Stage2存放在ext2格式的文件系統(tǒng) 上,就需要e2fs_stagel_5 ;stage2存放在fat格式的文件系統(tǒng)上,就需要fat_stagel_5。3)修改MID設(shè)備外部存儲(chǔ)器的主引導(dǎo)記錄在安裝完成啟動(dòng)引導(dǎo)管理程序后,需要修改MID設(shè)備外部存儲(chǔ)器的主引導(dǎo)記錄, 才能夠在啟動(dòng)MID設(shè)備時(shí)首先運(yùn)行安裝的啟動(dòng)引導(dǎo)管理程序。主引導(dǎo)記錄的大小為512字 節(jié),而這個(gè)區(qū)域可以分為三個(gè)部分第一部分為預(yù)啟動(dòng)區(qū),占446字節(jié);第二部分是分區(qū)表 區(qū),占64個(gè)字節(jié),硬盤中分區(qū)有多少以及每一分區(qū)的大小都記在其中;第三部分是magic number,占2個(gè)字節(jié),固定為55AA ;本步驟見(jiàn)圖1的第三步“修改主引導(dǎo)記錄”,其實(shí)現(xiàn)方法可以選擇如下兩種方式之1、將主引導(dǎo)記錄預(yù)啟動(dòng)區(qū)的匯編代碼修改為啟動(dòng)引導(dǎo)管理程序的第一階段的代 碼;2、將主引導(dǎo)記錄預(yù)啟動(dòng)區(qū)的匯編代碼修改為尋找活動(dòng)分區(qū)的匯編代碼,同時(shí)將啟 動(dòng)引導(dǎo)管理程序第一階段及剩余階段的代碼所在分區(qū)標(biāo)為活動(dòng)的。第二種方式中預(yù)啟動(dòng)區(qū)的匯編代碼一般是被MS-DOS或Windows的安裝程序修改 過(guò)的,只需要修改分區(qū)的引導(dǎo)扇區(qū)、并將分區(qū)標(biāo)記為活動(dòng)的即可。這兩種方式在圖1中由兩個(gè)分支表示。以grub為例,進(jìn)入grub命令提示符后,要先指定grub所在的分區(qū),假設(shè)在系統(tǒng)IO 總線順序的第一個(gè)存儲(chǔ)器的第一個(gè)分區(qū),則命令如下grub > root (hdO, 0)若grub所在分區(qū)為系統(tǒng)10總線順序的第二個(gè)存儲(chǔ)器的第三個(gè)分區(qū),則命令如 下grub > root (hdl,2)如果不能確定grub所在分區(qū),則使用下面的指令進(jìn)行尋找grub > find/boot/grub/stage1然后將找到的分區(qū)作為root (hd*,*)命令的參數(shù),執(zhí)行root命令。之后運(yùn)行如下 命令,修改存儲(chǔ)器的主引導(dǎo)記錄,這里仍然是假設(shè)grub所在分區(qū)為系統(tǒng)10總線順序的第一 個(gè)存儲(chǔ)器的第一個(gè)分區(qū)
若采用第一種方式,命令如下grub > setup (hdO)該命令的作用是將主引導(dǎo)記錄預(yù)啟動(dòng)區(qū)的匯編代碼修改為grub的stagel。若采用第二種方式安裝,則執(zhí)行下面的命令grub > setup (hd0,0)該命令的作用是修改第一個(gè)存儲(chǔ)器的第一個(gè)分區(qū)的引導(dǎo)扇區(qū)為grub的stagel,并將這個(gè)分區(qū)標(biāo)記為活動(dòng)的。系統(tǒng)啟動(dòng)時(shí)先將主引導(dǎo)記錄裝入內(nèi)存運(yùn)行。假如使用上面第一種方式安裝,grub 安裝在主引導(dǎo)記錄中,那樣grub的stagel直接調(diào)入內(nèi)存,這個(gè)時(shí)候是不需要將grub其他 文件所在的主分區(qū)設(shè)為活動(dòng)分區(qū)的,grub會(huì)自動(dòng)找到其他文件。假如主引導(dǎo)記錄是MS-DOS 或Windows修改過(guò)的,對(duì)應(yīng)于上面的第二種方式安裝,它的作用是搜索主分區(qū)表中標(biāo)志為 活動(dòng)的分區(qū),那么這個(gè)時(shí)候就必須把grub文件所在的主分區(qū)設(shè)置為活動(dòng)的分區(qū),才能正常 啟動(dòng),主引導(dǎo)記錄將控制權(quán)交給活動(dòng)分區(qū)的引導(dǎo)扇區(qū),也就是grub的stagel,從而來(lái)引導(dǎo) 整個(gè)系統(tǒng)。4)配置多操作系統(tǒng)啟動(dòng)參數(shù)對(duì)于可以直接引導(dǎo)的內(nèi)核類型,需要在配置文件中指明內(nèi)核文件所在的目錄和文 件名,啟動(dòng)內(nèi)核所需要的參數(shù),附加的模塊鏡像所在目錄和文件名;對(duì)于不能直接引導(dǎo)的內(nèi) 核類型,要在配置文件中指明可以引導(dǎo)這種內(nèi)核類型的引導(dǎo)程序所在分區(qū),并標(biāo)明需要鏈 式啟動(dòng)該引導(dǎo)程序。對(duì)多個(gè)操作系統(tǒng)內(nèi)核,需要逐一配置它們參數(shù),因此在圖中是順序的關(guān)系。以grub為例,對(duì)于Linux系統(tǒng)一般需要指明kernel參數(shù),同時(shí)附加root參數(shù),舉 例如下kernel/vmlinuz root = /dev/sdal一般還有模塊鏡像文件,如下initrd/initrd對(duì)于Windows系統(tǒng),需要鏈?zhǔn)絾?dòng),參數(shù)如下rootnoverify (hd0,0)chainloader+1makeactive如果Windows系統(tǒng)的引導(dǎo)程序不在第一個(gè)硬盤,之前還需要進(jìn)行一次磁盤虛擬交 換,假設(shè)Windows引導(dǎo)程序在第二個(gè)磁盤,則grub > map (hdO) (hdl)grub > map (hdl) (hdO)在修改完grub的配置文件之后,在MID設(shè)備啟動(dòng)時(shí)會(huì)首先進(jìn)入grub啟動(dòng)引導(dǎo)管 理程序。在grub界面中用戶可以選擇性的啟動(dòng)已經(jīng)安裝的操作系統(tǒng)。當(dāng)用戶需要切換運(yùn) 行的操作系統(tǒng)時(shí),需要重新啟動(dòng)MID設(shè)備,然后在grub中選擇所需操作系統(tǒng)即可。
權(quán)利要求
MID多操作系統(tǒng)并行方法,其特征在于包括如下步驟1)根據(jù)安裝的操作系統(tǒng)類型和操作系統(tǒng)數(shù)量,在MID設(shè)備外部存儲(chǔ)器上劃分出相應(yīng)數(shù)量的操作系統(tǒng)空間,然后對(duì)各分區(qū)進(jìn)行格式化操作;2)安裝啟動(dòng)引導(dǎo)管理程序,將啟動(dòng)引導(dǎo)管理程序的二進(jìn)制可執(zhí)行文件和配置文件拷貝到特定分區(qū)的根目錄下;3)修改MID設(shè)備外部存儲(chǔ)器的主引導(dǎo)記錄,以達(dá)到MID設(shè)備啟動(dòng)時(shí)可以直接進(jìn)入啟動(dòng)引導(dǎo)管理程序的目的;4)配置多操作系統(tǒng)啟動(dòng)參數(shù),使用戶可以在啟動(dòng)引導(dǎo)管理程序中選擇并啟動(dòng)需要啟動(dòng)的操作系統(tǒng),以達(dá)到多操作系統(tǒng)可以在MID設(shè)備上并行共存,并可以在MID啟動(dòng)時(shí)切換的目的。
2.如權(quán)利要求1所述的MID多操作系統(tǒng)并行方法,其特征在于,所述的修改MID設(shè)備外 部存儲(chǔ)器的主引導(dǎo)記錄,包括如下兩種方式之一1)將主引導(dǎo)記錄預(yù)啟動(dòng)區(qū)的匯編代碼修改為啟動(dòng)引導(dǎo)管理程序的第一階段的代碼;2)將主引導(dǎo)記錄預(yù)啟動(dòng)區(qū)的匯編代碼修改為尋找活動(dòng)分區(qū)的匯編代碼,同時(shí)將啟動(dòng)引 導(dǎo)管理程序第一階段及剩余階段的代碼所在分區(qū)標(biāo)為活動(dòng)的。
3.如權(quán)利要求1所述的MID多操作系統(tǒng)并行方法,其特征在于,所述的安裝啟動(dòng)引導(dǎo)管 理程序包括如下兩個(gè)階段1)第一階段初始化硬件設(shè)備,為啟動(dòng)引導(dǎo)管理程序第二階段準(zhǔn)備好內(nèi)存空間并初始 化堆棧;這部分內(nèi)容由匯編實(shí)現(xiàn);2)第二階段設(shè)置系統(tǒng)時(shí)鐘,設(shè)置內(nèi)存地址翻譯表并初始化內(nèi)存管理單元,設(shè)置內(nèi)核 啟動(dòng)參數(shù)并將內(nèi)核映像由外部存儲(chǔ)器拷貝到相應(yīng)的系統(tǒng)內(nèi)存中,最后跳轉(zhuǎn)到內(nèi)核的入口 點(diǎn)ο
4.如權(quán)利要求1所述的MID多操作系統(tǒng)并行方法,其特征在于,所述配置多操作系統(tǒng)啟 動(dòng)參數(shù)包括如下兩種方式對(duì)于可直接引導(dǎo)的內(nèi)核類型,要在配置文件中指明內(nèi)核文件所在的目錄和文件名,啟 動(dòng)內(nèi)核所需要的參數(shù),附加的模塊鏡像所在目錄和文件名;對(duì)于不能直接引導(dǎo)的內(nèi)核類型,要在配置文件中指明可以引導(dǎo)這種內(nèi)核類型的引導(dǎo)程 序所在分區(qū),并標(biāo)明需要鏈?zhǔn)絾?dòng)該引導(dǎo)程序。
5.如權(quán)利要求1所述的MID多操作系統(tǒng)并行方法,其特征在于,對(duì)于grub啟動(dòng)引導(dǎo)管 理程序,其二進(jìn)制可執(zhí)行文件包括stage l、stage2、*stage 1_5,所述*指Stage2文件所在 分區(qū)的文件系統(tǒng)格式,對(duì)于不同的文件系統(tǒng)格式,使用不同的Stagel_5文件;配置文件包 括:menu. 1st。
全文摘要
本發(fā)明公開(kāi)了一種MID多操作系統(tǒng)并行方法。本發(fā)明通過(guò)更改MID設(shè)備上外部存儲(chǔ)器如SSD硬盤的主引導(dǎo)記錄,添加操作系統(tǒng)啟動(dòng)引導(dǎo)管理程序,同時(shí)將外部存儲(chǔ)器合理分區(qū)給多個(gè)操作系統(tǒng)使用,達(dá)到兩個(gè)甚至更多的操作系統(tǒng)并行共存。本發(fā)明有效地拓展了MID的用戶對(duì)象和應(yīng)用范圍,用戶不需要購(gòu)買額外的硬件來(lái)實(shí)現(xiàn)在多種操作系統(tǒng)的體驗(yàn),通過(guò)啟動(dòng)引導(dǎo)管理程序可以方便的切換多個(gè)操作系統(tǒng)。
文檔編號(hào)G06F9/445GK101957769SQ20101029286
公開(kāi)日2011年1月26日 申請(qǐng)日期2010年9月27日 優(yōu)先權(quán)日2010年9月27日
發(fā)明者曹滿, 胡同森, 陳天洲, 黃文 申請(qǐng)人:浙江大學(xué)