国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種快速重新啟動(dòng)計(jì)算機(jī)的方法和裝置的制作方法

      文檔序號(hào):6580268閱讀:163來源:國知局
      專利名稱:一種快速重新啟動(dòng)計(jì)算機(jī)的方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計(jì)算機(jī)系統(tǒng),具體地涉及一種快速重新啟動(dòng)計(jì)算機(jī)的方法和裝置。
      背景技術(shù)
      隨著嵌入式系統(tǒng)的不斷發(fā)展,為了實(shí)現(xiàn)更為復(fù)雜的功能,引導(dǎo)階段需要初始化 的外部設(shè)備越來越多,引導(dǎo)程序也設(shè)計(jì)的越來越復(fù)雜,造成啟動(dòng)速度大大的降低。因 此,當(dāng)系統(tǒng)更新了某些重要組件而需要重新啟動(dòng)時(shí),當(dāng)開始重新啟動(dòng),從系統(tǒng)離線到下 一次在線需要花費(fèi)的時(shí)間也越來越長,這在特定的應(yīng)用場合這是無法接受的?,F(xiàn)行技術(shù)中,操作系統(tǒng)的設(shè)計(jì)者通常會(huì)選擇微內(nèi)核設(shè)計(jì)和可加載模塊的技術(shù), 盡量避免在修改部分功能時(shí)重新啟動(dòng)系統(tǒng)。盡管如此,當(dāng)內(nèi)核有所改動(dòng)時(shí),重新啟動(dòng)系 統(tǒng)的操作依然無法避免。
      當(dāng)需要重啟系統(tǒng)時(shí),設(shè)計(jì)者通常會(huì)對(duì)當(dāng)前狀態(tài)進(jìn)行一些處理,如保存當(dāng)前緩存 中的數(shù)據(jù),通知所有進(jìn)程退出等等,然后利用看門狗或者電源管理芯片的功能對(duì)整個(gè)系 統(tǒng)進(jìn)行復(fù)位。如如果是利用看門狗復(fù)位,則處理器復(fù)位后進(jìn)入內(nèi)部自檢狀態(tài),自檢完 成后從外部讀入引導(dǎo)程序,引導(dǎo)程序又會(huì)初始化必需的外圍硬件,然后再引導(dǎo)操作系統(tǒng) 內(nèi)核。因此,目前計(jì)算機(jī)重啟過程包括處理器復(fù)位完畢后重新加載引導(dǎo)程序;引導(dǎo) 程序?qū)μ幚砥骷巴鈬骷跏蓟戤吅?,嘗試讀取并加載操作系統(tǒng)內(nèi)核;操作系統(tǒng)內(nèi)核 啟動(dòng)之后,先進(jìn)行必要的軟件和硬件初始化,然后加載應(yīng)用程序;應(yīng)用程序開始運(yùn)行正 常后,系統(tǒng)再次進(jìn)入在線狀態(tài)。按照目前的這種方式重新啟動(dòng)操作系統(tǒng),系統(tǒng)離線時(shí)間長。

      發(fā)明內(nèi)容
      本發(fā)明要解決的是提供一種快速重新啟動(dòng)計(jì)算機(jī)的方法和裝置,能夠?qū)崿F(xiàn)快速 啟動(dòng)計(jì)算機(jī)系統(tǒng)。為了解決上述問題,本發(fā)明提供了一種快速重新啟動(dòng)計(jì)算機(jī)的方法,包括當(dāng)所述計(jì)算機(jī)接收到重新啟動(dòng)操作系統(tǒng)的命令后,所述計(jì)算機(jī)保存新內(nèi)核并加 載引導(dǎo)代碼;所述引導(dǎo)代碼為與位置無關(guān)的代碼,相對(duì)于當(dāng)前的運(yùn)行地址來訪問全局變 量;所述計(jì)算機(jī)執(zhí)行關(guān)閉操作系統(tǒng);所述計(jì)算機(jī)準(zhǔn)備重新啟動(dòng)時(shí)所需的新內(nèi)核信息,至少包括新內(nèi)核大小及執(zhí)行時(shí) 入口的物理地址; 所述計(jì)算機(jī)跳轉(zhuǎn)到所述弓I導(dǎo)代碼入口處將所述新內(nèi)核信息作為參數(shù)傳入;所述計(jì)算機(jī)跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核,快速啟動(dòng)過程完畢。進(jìn)一步地,上述方法還具有如下特點(diǎn)
      所述計(jì)算機(jī)將所述新內(nèi)核保存到RAM中,將所述引導(dǎo)代碼保存到RAM中或者 外部模塊中。進(jìn)一步地,上述方法還具有如下特點(diǎn)所述計(jì)算機(jī)跳轉(zhuǎn)到所述引導(dǎo)代碼入口處將所述新內(nèi)核信息作為參數(shù)傳入之后, 跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核之前,還包括所述引導(dǎo)代碼以拷貝方式將所述新內(nèi)核信息備份到所述執(zhí)行時(shí)入口的物理地址。進(jìn)一步地,上述方法還具有如下特點(diǎn) 所述新內(nèi)核信息還包括新內(nèi)核當(dāng)前虛擬地址、執(zhí)行時(shí)入口的虛擬地址和存儲(chǔ)管 理單元狀態(tài);當(dāng)所述存儲(chǔ)管理單元狀態(tài)為使能時(shí),所述計(jì)算機(jī)跳轉(zhuǎn)到所述引導(dǎo)代碼入口處將 所述新內(nèi)核信息作為參數(shù)傳入之后,跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核 之前,還包括所述引導(dǎo)代碼以拷貝方式將所述新內(nèi)核信息備份到所述執(zhí)行時(shí)入口的虛擬地 址,并禁用存儲(chǔ)管理單元功能。進(jìn)一步地,上述方法還具有如下特點(diǎn)所述引導(dǎo)代碼以拷貝方式備份所述新內(nèi)核信息后,處理重要數(shù)據(jù)段,包括代碼 段、數(shù)據(jù)段及bss段。進(jìn)一步地,上述方法還具有如下特點(diǎn)所述新內(nèi)核信息還包括當(dāng)前內(nèi)核的引導(dǎo)參數(shù);所述計(jì)算機(jī)跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核前,還包括建立新的堆棧,并將所述內(nèi)核的引導(dǎo)參數(shù)拷貝到新的區(qū)域,構(gòu)建所述新內(nèi)核的 引導(dǎo)參數(shù)。為了解決上述問題,本發(fā)明還提供了一種快速重新啟動(dòng)計(jì)算機(jī)的裝置,所述裝 置包括引導(dǎo)模塊,存儲(chǔ)模塊,操作系統(tǒng)關(guān)閉模塊和加載模塊;其中,所述引導(dǎo)模塊,用于在接收到重新啟動(dòng)操作系統(tǒng)的命令后加載引導(dǎo)代碼,指示 存儲(chǔ)模塊保存新內(nèi)核,并指示所述操作系統(tǒng)關(guān)閉模塊關(guān)閉操作系統(tǒng);所述引導(dǎo)代碼為與 位置無關(guān)的代碼,相對(duì)于當(dāng)前的運(yùn)行地址來訪問全局變量;所述存儲(chǔ)模塊,用于保存引導(dǎo)代碼,以及在接收到所述引導(dǎo)模塊的指示后保存 所述新內(nèi)核;所述操作系統(tǒng)關(guān)閉模塊,用于接收到所述引導(dǎo)模塊的關(guān)閉操作系統(tǒng)的指令后執(zhí) 行關(guān)閉操作系統(tǒng),執(zhí)行完畢后指示所述加載模塊;所述加載模塊,用于接收到所述操作系統(tǒng)關(guān)閉模塊的指示后,準(zhǔn)備重新啟動(dòng)時(shí) 所需的新內(nèi)核信息,所述新內(nèi)核信息至少包括新內(nèi)核大小及執(zhí)行時(shí)入口的物理地址;以 及調(diào)用所述存儲(chǔ)模塊中的引導(dǎo)代碼,并跳轉(zhuǎn)到所述引導(dǎo)代碼的入口處將所述新內(nèi)核信息 作為參數(shù)傳入,然后跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核。進(jìn)一步地,上述裝置還具有如下特點(diǎn)所述加載模塊跳轉(zhuǎn)到所述引導(dǎo)代碼入口處將所述新內(nèi)核信息作為參數(shù)傳入之 后,跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核之前,還包括
      所述引導(dǎo)代碼以拷貝方式將所述新內(nèi)核信息備份到所述執(zhí)行時(shí)入口的物理地址。進(jìn)一步地,上述裝置還具有如下特點(diǎn)所述新內(nèi)核信 息還包括新內(nèi)核當(dāng)前虛擬地址、執(zhí)行時(shí)入口的虛擬地址和存儲(chǔ)管 理單元狀態(tài);當(dāng)所述存儲(chǔ)管理單元狀態(tài)為使能時(shí),所述加載模塊跳轉(zhuǎn)到所述引導(dǎo)代碼入口處 將所述新內(nèi)核信息作為參數(shù)傳入之后,跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi) 核之前,還包括所述引導(dǎo)代碼以拷貝方式將所述新內(nèi)核信息備份到所述執(zhí)行時(shí)入口的虛擬地 址,并禁用存儲(chǔ)管理單元功能。進(jìn)一步地,上述裝置還具有如下特點(diǎn)所述新內(nèi)核信息還包括當(dāng)前內(nèi)核的引導(dǎo)參數(shù);所述加載模塊跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核前,還包括建立新的堆棧,并將所述當(dāng)前內(nèi)核的引導(dǎo)參數(shù)拷貝到新的區(qū)域,構(gòu)建所述新內(nèi) 核的引導(dǎo)參數(shù)。上述方法和裝置采用直接加載操作系統(tǒng)的內(nèi)核的方法,大大縮短了操作系統(tǒng)離 線的時(shí)間,可以在保證操作系統(tǒng)的穩(wěn)定性和功能完整性的基礎(chǔ)上,跳過不必要的啟動(dòng)步 驟,即可以不對(duì)處理器復(fù)位,不對(duì)系統(tǒng)進(jìn)行內(nèi)部自檢,不需要初始化外圍的必需硬件, 因而簡化了啟動(dòng)流程,減少了啟動(dòng)時(shí)間,從而實(shí)現(xiàn)快速地重新啟動(dòng)系統(tǒng)。此外,平均無 故障時(shí)間(Mean Time BetweenFailures,MTBF)等性能指標(biāo)也會(huì)隨著系統(tǒng)離線時(shí)間的減少 而增加,系統(tǒng)的服務(wù)可靠性也會(huì)大大的提高。


      圖1是本發(fā)明實(shí)施例的快速重新啟動(dòng)計(jì)算機(jī)的流程圖;圖2是實(shí)現(xiàn)本發(fā)明實(shí)施例的快速重新啟動(dòng)計(jì)算機(jī)的裝置結(jié)構(gòu)圖;圖3是本發(fā)明應(yīng)用示例的快速重新啟動(dòng)流程圖。
      具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明裝置以及方法的具體實(shí)施方式
      進(jìn)一步地詳細(xì)描述。本實(shí)施例的快速重新啟動(dòng)計(jì)算機(jī)系統(tǒng)的方法如圖1所示,包括以下步驟(a)當(dāng)計(jì)算機(jī)接收到重新啟動(dòng)操作系統(tǒng)的命令后,計(jì)算機(jī)保存新內(nèi)核(重啟以后 的操作系統(tǒng)內(nèi)核)并加載引導(dǎo)代碼;為了簡化重新啟動(dòng)的過程,系統(tǒng)可以將新內(nèi)核保存到RAM(如內(nèi)存)中,當(dāng)然 也可以是其他約定的位置。引導(dǎo)代碼用于在重新啟動(dòng)操作系統(tǒng)時(shí),拷貝并加載新內(nèi)核;該引導(dǎo)代碼不使用 絕對(duì)地址進(jìn)行訪問,即與位置無關(guān),而是使用相對(duì)于當(dāng)前的運(yùn)行地址來訪問全局變量。該引導(dǎo)代碼可以與新內(nèi)核一起保存到RAM中,也可以保存到外部模塊中用外部 模塊的方式加載到新內(nèi)核中,并不需與新內(nèi)核存于一體。(b)計(jì)算機(jī)執(zhí)行關(guān)閉操作系統(tǒng)功能;
      現(xiàn)有的重新啟動(dòng)過程包括操作系統(tǒng)關(guān)閉和操作系統(tǒng)復(fù)位兩個(gè)部分,本發(fā)明僅僅 執(zhí)行操作系統(tǒng)關(guān)閉,而不進(jìn)行操作系統(tǒng)復(fù)位,這樣就不會(huì)對(duì)高級(jí)電源管理芯片和看門狗 進(jìn)行復(fù)位;其中,關(guān)閉操作系統(tǒng)功能中包括禁止外部中斷的操作,從而保證之后的所有步 驟能順序執(zhí)行,不出現(xiàn)其他分支;此外,由于本步驟中不關(guān)閉高級(jí)電源管理芯片,因此步驟(a)所保存的新內(nèi)核的 信息不會(huì)丟失。(c)計(jì)算機(jī)準(zhǔn)備重新啟動(dòng)時(shí)所需的新內(nèi)核信息;其中,新內(nèi)核信息包括新內(nèi)核執(zhí)行時(shí)入口的物理地址,還可以進(jìn)一步包括新內(nèi) 核當(dāng)前虛擬地址、執(zhí)行時(shí)入口的虛擬地址、存儲(chǔ)管理單元狀態(tài)、新內(nèi)核大小以及當(dāng)前內(nèi) 核的引導(dǎo)參數(shù)等;如果計(jì)算機(jī)的處理器沒有存儲(chǔ)管理單元(MMU),或者不使用存儲(chǔ)管理單元功能 時(shí),新內(nèi)核信息不需要包括存儲(chǔ)管理單元狀態(tài),新內(nèi)核當(dāng)前虛擬地址以及執(zhí)行時(shí)入口的 虛擬地址;執(zhí)行時(shí)入口的虛擬地址是在關(guān)閉MMU之前使用,執(zhí)行時(shí)入口的物理地址在 關(guān)閉MMU之后使用。(d)計(jì)算機(jī)跳轉(zhuǎn)到引導(dǎo)代碼的入口處,并將步驟(C)中收 集的新內(nèi)核信息作為參 數(shù)傳入到引導(dǎo)代碼的入口;其中,引導(dǎo)代碼的入口對(duì)于計(jì)算機(jī)的操作系統(tǒng)是確定;(e)計(jì)算機(jī)以拷貝方式備份新內(nèi)核信息到執(zhí)行時(shí)入口的虛擬地址;本步驟中,為了避免新內(nèi)核信息因?yàn)椴僮飨到y(tǒng)的失效而被破壞,本步驟可選; 如果系統(tǒng)不具有MMU功能或MMU未使能,此處備份到執(zhí)行時(shí)入口的物理地址。(f)計(jì)算機(jī)將新內(nèi)核備份到執(zhí)行時(shí)入口的物理地址,處理重要數(shù)據(jù)段如bss段, 本步驟可選;如果存儲(chǔ)管理單元狀態(tài)表示具有MMU且已使能,本步驟需先將新內(nèi)核備份到 執(zhí)行時(shí)入口的虛擬地址,然后禁用存儲(chǔ)管理單元功能;如果處理器不具有存儲(chǔ)管理單元,或者存儲(chǔ)管理單元狀態(tài)表示禁止使用,此處 無需禁用存儲(chǔ)管理單元功能,直接將新內(nèi)核備份到執(zhí)行時(shí)入口的物理地址即可。(g)計(jì)算機(jī)建立新的堆棧,并將步驟(d)中備份的當(dāng)前內(nèi)核的引導(dǎo)參數(shù)拷貝到新 的區(qū)域,并根據(jù)內(nèi)核需求處理,構(gòu)建新內(nèi)核的引導(dǎo)參數(shù);(h)計(jì)算機(jī)跳轉(zhuǎn)到執(zhí)行時(shí)入口的物理地址處,新內(nèi)核開始執(zhí)行,快速啟動(dòng)過程完畢。相應(yīng)地,本實(shí)施例還提供了一種實(shí)現(xiàn)上述方法的一種快速重新啟動(dòng)計(jì)算機(jī)的裝 置,如圖2所示,該裝置包括引導(dǎo)模塊,存儲(chǔ)模塊,操作系統(tǒng)關(guān)閉模塊和加載模塊;其 中,引導(dǎo)模塊,用于在接收到重新啟動(dòng)操作系統(tǒng)的命令后加載引導(dǎo)代碼,指示存儲(chǔ) 模塊保存新內(nèi)核,并指示操作系統(tǒng)關(guān)閉模塊關(guān)閉操作系統(tǒng);引導(dǎo)代碼與位置無關(guān)的代 碼,相對(duì)于當(dāng)前的運(yùn)行地址來訪問全局變量;存儲(chǔ)模塊,用于保存引導(dǎo)代碼,以及在接收到引導(dǎo)模塊的指示后保存新內(nèi)核;操作系統(tǒng)關(guān)閉模塊,用于接收到引導(dǎo)模塊的關(guān)閉操作系統(tǒng)的指令后執(zhí)行關(guān)閉操作系統(tǒng),執(zhí)行完畢后指示加載模塊;加載模塊,用于接收到操作系統(tǒng)關(guān)閉模塊的指示后,準(zhǔn)備重新啟動(dòng)時(shí)所需的新 內(nèi)核信息,新內(nèi)核信息至少包括新內(nèi)核大小及執(zhí)行時(shí)入口的物理地址,以及調(diào)用存儲(chǔ)模 塊中的引導(dǎo)代碼,并跳轉(zhuǎn)到引導(dǎo)代碼的入口處將新內(nèi)核信息作為參數(shù)傳入,然后跳轉(zhuǎn)到 執(zhí)行時(shí)入口的物理地址執(zhí)行新內(nèi)核。加載模塊跳轉(zhuǎn)到所述引導(dǎo)代碼入口處將所述新內(nèi)核信息作為參數(shù)傳入之后,跳 轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核之前,還包括弓丨導(dǎo)代碼以拷貝方式將新內(nèi)核信息備份到執(zhí)行時(shí)入口的物理地址。新內(nèi)核信息還包括新內(nèi)核當(dāng)前虛擬地址、執(zhí)行時(shí)入口的虛擬地址和存儲(chǔ)管理 單 元狀態(tài);當(dāng)存儲(chǔ)管理單元狀態(tài)為使能時(shí),加載模塊跳轉(zhuǎn)到引導(dǎo)代碼入口處將新內(nèi)核信息 作為參數(shù)傳入之后,跳轉(zhuǎn)到執(zhí)行時(shí)入口的物理地址執(zhí)行新內(nèi)核之前,還包括引導(dǎo)代碼以拷貝方式將新內(nèi)核信息備份到執(zhí)行時(shí)入口的虛擬地址,并禁用存儲(chǔ)
      管理單元功能。新內(nèi)核信息還包括當(dāng)前內(nèi)核的引導(dǎo)參數(shù);加載模塊跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核前,還包括建立新的堆棧,并根據(jù)當(dāng)前內(nèi)核的引導(dǎo)參數(shù),將當(dāng)前內(nèi)核的引導(dǎo)參數(shù)拷貝到新 的區(qū)域,構(gòu)建新內(nèi)核的引導(dǎo)參數(shù)。下面結(jié)合圖3,介紹一個(gè)應(yīng)用示例的快速重新啟動(dòng)系統(tǒng)的過程,其中本應(yīng)用示例 中的處理器具有MMU,且MMU使能。本應(yīng)用示例中,引導(dǎo)代碼已經(jīng)包含在當(dāng)前內(nèi)核中,且為位置無關(guān)代碼,之后的 快速重新啟動(dòng)流程包括以下步驟步驟110,將新內(nèi)核文件的代碼段、數(shù)據(jù)段及其他重要數(shù)據(jù)加載到不會(huì)被交換的 內(nèi)核空間中;其中,不會(huì)被交換的內(nèi)核空間為在MMU中設(shè)置為全局的內(nèi)存區(qū)域,這些區(qū) 域不會(huì)失效,也不會(huì)被交換,由操作系統(tǒng)決定;交換(swap),通常指內(nèi)存和硬件之間的虛擬內(nèi)存的數(shù)據(jù)交換;由于并非所有的信息都是有用的,這里是最重要的一部分?jǐn)?shù)據(jù),包括代碼段、 數(shù)據(jù)段和bss段;代碼段指存放代碼的段;數(shù)據(jù)段指存放初始化數(shù)據(jù)的段;bss段指存放 未初始化數(shù)據(jù)的段;步驟120,記錄新內(nèi)核鏡像入口的虛擬地址、執(zhí)行時(shí)入口的虛擬地址和執(zhí)行時(shí)入 口的物理地址、新內(nèi)核鏡像的大小、bss段的起始地址和大小等信息;步驟130,執(zhí)行系統(tǒng)重啟功能,關(guān)閉所有用戶程序等,同步數(shù)據(jù)到磁盤,禁止處 理器對(duì)外部中斷的響應(yīng);本步驟中同步數(shù)據(jù)到磁盤只是一種特例,為了提高執(zhí)行速度,操作系統(tǒng)通常會(huì) 緩存一部分?jǐn)?shù)據(jù),關(guān)閉系統(tǒng)時(shí)操作系統(tǒng)會(huì)將其寫入硬盤,以保證數(shù)據(jù)的完整性;步驟140,記錄當(dāng)前內(nèi)核的MMU狀態(tài),執(zhí)行時(shí)入口的虛擬地址及執(zhí)行時(shí)入口的 物理地址,以及新內(nèi)核啟動(dòng)時(shí)堆棧物理地址等信息;步驟150,跳轉(zhuǎn)到引導(dǎo)代碼處執(zhí)行;
      步驟160,將重要信息復(fù)制到引導(dǎo)代碼數(shù)據(jù)段對(duì)應(yīng)區(qū)域;其中,重要信息包括新內(nèi)核鏡像入口的虛擬地址、執(zhí)行時(shí)入口的虛擬地址和物 理地址、新內(nèi)核鏡像的大小、bss段的起始地址和大小、MMU狀態(tài),快速重新啟動(dòng)代碼 的虛擬地址及物理地址等;步驟170,將新內(nèi)核鏡像拷貝到執(zhí)行時(shí)入口的虛擬地址處,根據(jù)新內(nèi)核鏡像大小 確定拷貝的長度;
      步驟180,根據(jù)新內(nèi)核鏡像的bss段的起始地址和大小對(duì)新內(nèi)核鏡像的bss段進(jìn)
      行清零;步驟190,判斷存儲(chǔ)管理單元狀態(tài)為使能狀態(tài),關(guān)閉存儲(chǔ)管理單元,確保存儲(chǔ)管 理單元功能處于關(guān)閉狀態(tài);步驟200,根據(jù)新內(nèi)核啟動(dòng)時(shí)堆棧物理地址構(gòu)建新的堆棧;步驟210,根據(jù)當(dāng)前內(nèi)核的引導(dǎo)參數(shù)構(gòu)建新內(nèi)核的引導(dǎo)參數(shù);步驟220,跳轉(zhuǎn)到執(zhí)行時(shí)入口的物理地址處執(zhí)行,新內(nèi)核開始執(zhí)行;快速重新
      啟動(dòng)流程結(jié)束。此外,上面的應(yīng)用示例描述只是根據(jù)特定操作系統(tǒng)以及處理器特性的一種實(shí)實(shí) 現(xiàn),但本發(fā)明并不限于此。如上所述,快速重新啟動(dòng)流程并不利用高級(jí)電源管理芯片或者看門狗芯片實(shí)現(xiàn) 系統(tǒng)的重新啟動(dòng),避免了不必要的系統(tǒng)引導(dǎo)過程,從而加快了系統(tǒng)重新啟動(dòng)的過程。很顯然,本發(fā)明并不限于上述實(shí)例,可以根據(jù)實(shí)際的需求進(jìn)行更改和變化,而 不脫離本發(fā)明的范圍和要旨。
      權(quán)利要求
      1.一種快速重新啟動(dòng)計(jì)算機(jī)的方法,包括當(dāng)所述計(jì)算機(jī)接收到重新啟動(dòng)操作系統(tǒng)的命令后,所述計(jì)算機(jī)保存新內(nèi)核并加載引 導(dǎo)代碼;所述引導(dǎo)代碼為與位置無關(guān)的代碼,相對(duì)于當(dāng)前的運(yùn)行地址來訪問全局變量; 所述計(jì)算機(jī)執(zhí)行關(guān)閉操作系統(tǒng);所述計(jì)算機(jī)準(zhǔn)備重新啟動(dòng)時(shí)所需的新內(nèi)核信息,至少包括新內(nèi)核大小及執(zhí)行時(shí)入口 的物理地址;所述計(jì)算機(jī)跳轉(zhuǎn)到所述引導(dǎo)代碼入口處將所述新內(nèi)核信息作為參數(shù)傳入; 所述計(jì)算機(jī)跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核,快速啟動(dòng)過程完畢。
      2.如權(quán)利要求1所述的方法,其特征在于所述計(jì)算機(jī)將所述新內(nèi)核保存到RAM中,將所述引導(dǎo)代碼保存到RAM中或者外部 模塊中。
      3.如權(quán)利要求1所述的方法,其特征在于所述計(jì)算機(jī)跳轉(zhuǎn)到所述引導(dǎo)代碼入口處將所述新內(nèi)核信息作為參數(shù)傳入之后,跳轉(zhuǎn) 到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核之前,還包括所述引導(dǎo)代碼以拷貝方式將所述新內(nèi)核信息備份到所述執(zhí)行時(shí)入口的物理地址。
      4.如權(quán)利要求1所述的方法,其特征在于所述新內(nèi)核信息還包括新內(nèi)核當(dāng)前虛擬地址、執(zhí)行時(shí)入口的虛擬地址和存儲(chǔ)管理單 元狀態(tài);當(dāng)所述存儲(chǔ)管理單元狀態(tài)為使能時(shí),所述計(jì)算機(jī)跳轉(zhuǎn)到所述引導(dǎo)代碼入口處將所 述新內(nèi)核信息作為參數(shù)傳入之后,跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核之 前,還包括所述引導(dǎo)代碼以拷貝方式將所述新內(nèi)核信息備份到所述執(zhí)行時(shí)入口的虛擬地址,并 禁用存儲(chǔ)管理單元功能。
      5.如權(quán)利要求3或4所述的方法,其特征在于所述引導(dǎo)代碼以拷貝方式備份所述新內(nèi)核信息后,處理重要數(shù)據(jù)段,包括代碼段、 數(shù)據(jù)段及bss段。
      6.如權(quán)利要求1或2所述的方法,其特征在于 所述新內(nèi)核信息還包括當(dāng)前內(nèi)核的引導(dǎo)參數(shù);所述計(jì)算機(jī)跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核前,還包括 建立新的堆棧,并將所述內(nèi)核的引導(dǎo)參數(shù)拷貝到新的區(qū)域,構(gòu)建所述新內(nèi)核的引導(dǎo)參數(shù)。
      7.—種快速重新啟動(dòng)計(jì)算機(jī)的裝置,其特征在于,所述裝置包括引導(dǎo)模塊,存儲(chǔ)模 塊,操作系統(tǒng)關(guān)閉模塊和加載模塊;其中,所述引導(dǎo)模塊,用于在接收到重新啟動(dòng)操作系統(tǒng)的命令后加載引導(dǎo)代碼,指示存儲(chǔ) 模塊保存新內(nèi)核,并指示所述操作系統(tǒng)關(guān)閉模塊關(guān)閉操作系統(tǒng);所述引導(dǎo)代碼為與位置 無關(guān)的代碼,相對(duì)于當(dāng)前的運(yùn)行地址來訪問全局變量;所述存儲(chǔ)模塊,用于保存引導(dǎo)代碼,以及在接收到所述引導(dǎo)模塊的指示后保存所述 新內(nèi)核;所述操作系統(tǒng)關(guān)閉模塊,用于接收到所述引導(dǎo)模塊的關(guān)閉操作系統(tǒng)的指令后執(zhí)行關(guān) 閉操作系統(tǒng),執(zhí)行完畢后指示所述加載模塊;所述加載模塊,用于接收到所述操作系統(tǒng)關(guān)閉模塊的指示后,準(zhǔn)備重新啟動(dòng)時(shí)所需 的新內(nèi)核信息,所述新內(nèi)核信息至少包括新內(nèi)核大小及執(zhí)行時(shí)入口的物理地址;以及調(diào) 用所述存儲(chǔ)模塊中的引導(dǎo)代碼,并跳轉(zhuǎn)到所述引導(dǎo)代碼的入口處將所述新內(nèi)核信息作為 參數(shù)傳入,然后跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核。
      8.如權(quán)利要求7所述的裝置,其特征在于所述加載模塊跳轉(zhuǎn)到所述引導(dǎo)代碼入口處將所述新內(nèi)核信息作為參數(shù)傳入之后,跳 轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核之前,還包括所述弓I導(dǎo)代碼以拷貝方式將所述新內(nèi)核信息備份到所述執(zhí)行時(shí)入口的物理地址。
      9.如權(quán)利要求7所述的裝置,其特征在于所述新內(nèi)核信息還包括新內(nèi)核當(dāng)前虛擬地址、執(zhí)行時(shí)入口的虛擬地址和存儲(chǔ)管理單 元狀態(tài);當(dāng)所述存儲(chǔ)管理單元狀態(tài)為使能時(shí),所述加載模塊跳轉(zhuǎn)到所述引導(dǎo)代碼入口處將所 述新內(nèi)核信息作為參數(shù)傳入之后,跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核之 前,還包括所述引導(dǎo)代碼以拷貝方式將所述新內(nèi)核信息備份到所述執(zhí)行時(shí)入口的虛擬地址,并 禁用存儲(chǔ)管理單元功能。
      10.如權(quán)利要求7或8或9所述的方法,其特征在于所述新內(nèi)核信息還包括當(dāng)前內(nèi)核的引導(dǎo)參數(shù);所述加載模塊跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核前,還包括建立新的堆棧,并將所述當(dāng)前內(nèi)核的引導(dǎo)參數(shù)拷貝到新的區(qū)域,構(gòu)建所述新內(nèi)核的 引導(dǎo)參數(shù)。
      全文摘要
      一種快速重新啟動(dòng)計(jì)算機(jī)的方法,包括當(dāng)所述計(jì)算機(jī)接收到重新啟動(dòng)操作系統(tǒng)的命令后,所述計(jì)算機(jī)保存新內(nèi)核并加載引導(dǎo)代碼;所述引導(dǎo)代碼為與位置無關(guān)的代碼,相對(duì)于當(dāng)前的運(yùn)行地址來訪問全局變量;所述計(jì)算機(jī)執(zhí)行關(guān)閉操作系統(tǒng);所述計(jì)算機(jī)準(zhǔn)備重新啟動(dòng)時(shí)所需的新內(nèi)核信息,至少包括新內(nèi)核大小及執(zhí)行時(shí)入口的物理地址;所述計(jì)算機(jī)跳轉(zhuǎn)到所述引導(dǎo)代碼入口處將所述新內(nèi)核信息作為參數(shù)傳入;所述計(jì)算機(jī)跳轉(zhuǎn)到所述執(zhí)行時(shí)入口的物理地址執(zhí)行所述新內(nèi)核,快速啟動(dòng)過程完畢。相應(yīng)地,還提供了一種快速重新啟動(dòng)計(jì)算機(jī)的裝置,包括引導(dǎo)模塊,存儲(chǔ)模塊,操作系統(tǒng)關(guān)閉模塊和加載模塊。上述方法和裝置大大縮短了操作系統(tǒng)離線的時(shí)間,簡化了啟動(dòng)流程。
      文檔編號(hào)G06F9/445GK102012823SQ20091017146
      公開日2011年4月13日 申請(qǐng)日期2009年9月4日 優(yōu)先權(quán)日2009年9月4日
      發(fā)明者李林, 陳正偉, 高亞南 申請(qǐng)人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1