專(zhuān)利名稱(chēng)::一種管理內(nèi)存的方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,尤其涉及一種管理內(nèi)存的方法及裝置。
背景技術(shù):
:X86單板在基本輸入輸出系統(tǒng)(BasicInputOutputSystem,BIOS)啟動(dòng)階段的實(shí)現(xiàn)都是基于Intel提出的統(tǒng)一可擴(kuò)展固件接口(UnifiedExtensibleFirewareInterface,UEFI)規(guī)范,該規(guī)范在內(nèi)存管理方面制定了一套系統(tǒng)的實(shí)現(xiàn)機(jī)制。X86單板上電啟動(dòng)后,BIOS通過(guò)系統(tǒng)管理總線(SystemManagementBus,SMBUS)物理鏈路讀取內(nèi)存條上的模組存在的串行檢測(cè)(SerialPresenceDetect,SPD)信息,從而計(jì)算出當(dāng)前物理內(nèi)存的大小,BIOS啟動(dòng)過(guò)程中,需要根據(jù)產(chǎn)品的需求,預(yù)先保留部分內(nèi)存區(qū)域用作特殊用途,通常是直接修改BIOS的執(zhí)行代碼,即這些內(nèi)存保留區(qū)都是在BIOS的執(zhí)行代碼中靜態(tài)固定的,一旦BIOS的執(zhí)行代碼文件生成,當(dāng)前系統(tǒng)的內(nèi)存保留區(qū)就已經(jīng)固定,BIOS正常啟動(dòng)完畢后,會(huì)統(tǒng)一將系統(tǒng)的內(nèi)存使用情況通過(guò)內(nèi)存映射表(Memorymappingtable)發(fā)送給操作系統(tǒng)(OperatingSystem,OS),告訴OS當(dāng)前系統(tǒng)的內(nèi)存分布和屬性,供OS使用。這套機(jī)制是基于服務(wù)器或通用個(gè)人電腦(PersonalComputer,PC)領(lǐng)域提出的,當(dāng)其應(yīng)用在電信平臺(tái)時(shí),就暴露出一些明顯的缺陷。當(dāng)BIOS的執(zhí)行代碼文件燒錄到X86單板后,X86單板每次啟動(dòng)后,內(nèi)存保留區(qū)都是固定的,因此體現(xiàn)給OS的內(nèi)存使用情況也是一致的,即不同平臺(tái)的BIOS文件不可通用,而在電信領(lǐng)域往往對(duì)內(nèi)存有一些定制化的需求,如需要在BIOS啟動(dòng)過(guò)程中動(dòng)態(tài)預(yù)留一塊或幾塊內(nèi)存區(qū)域用于記錄臨終遺言、啟動(dòng)日志,啟動(dòng)日志用于記錄系統(tǒng)配置更改信息或者系統(tǒng)出錯(cuò)信息,不同的電信平臺(tái)對(duì)這些內(nèi)存保留區(qū)域的起始地址和大小的需求都不一樣,即使在同一平臺(tái),隨著應(yīng)用場(chǎng)景的切換這些內(nèi)存保留區(qū)域也需要做相應(yīng)的變更,此時(shí)原有的UEFI內(nèi)存保留機(jī)制已無(wú)法滿足這些要求。
發(fā)明內(nèi)容本發(fā)明實(shí)施例的目的在于提供一種管理內(nèi)存的方法,旨在解決如何設(shè)計(jì)一套動(dòng)態(tài)管理內(nèi)存的方法從而實(shí)現(xiàn)在不升級(jí)BIOS的情況下,動(dòng)態(tài)決定哪些內(nèi)存對(duì)OS可用的問(wèn)題。第一方面,一種管理內(nèi)存的方法,所述方法包括:當(dāng)基本輸入輸出系統(tǒng)BIOS啟動(dòng)時(shí)下載內(nèi)存保留區(qū)的配置文件,所述配置文件用于定義所述內(nèi)存保留區(qū);解析所述配置文件,根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表;根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表;將修改后的內(nèi)存映射表發(fā)送給OS,使得所述OS獲取內(nèi)存的使用情況。結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述解析所述配置文件,根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表,包括:解析所述配置文件,調(diào)用內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的注冊(cè)接口和注銷(xiāo)接口,將解析后的配置文件的內(nèi)容注冊(cè)或者注銷(xiāo)到內(nèi)存保留區(qū)記錄表中。結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述將解析后的配置文件的內(nèi)容注冊(cè)到內(nèi)存保留區(qū)記錄表中,包括:判斷內(nèi)存保留區(qū)記錄表中的內(nèi)存保留區(qū)是否為已滿;當(dāng)判斷所述內(nèi)存保留區(qū)已滿,則返回存儲(chǔ)已滿;當(dāng)判斷所述內(nèi)存保留區(qū)未滿,則根據(jù)注冊(cè)接口調(diào)用者提供的GUID判斷,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,若有重復(fù),則返回重復(fù)注冊(cè);當(dāng)判斷所述內(nèi)存保留區(qū)無(wú)重復(fù),則根據(jù)所述注冊(cè)接口調(diào)用者提供的內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,當(dāng)所述內(nèi)存保留區(qū)的地址大于第i塊內(nèi)存保留區(qū)的地址和第i塊內(nèi)存保留區(qū)的大小之和,或者當(dāng)所述第i塊內(nèi)存保留區(qū)的地址大于所述內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小之和時(shí),則將所述解析后的配置文件的內(nèi)容注冊(cè)到所述內(nèi)存保留區(qū)記錄表中,否則返回注冊(cè)空間重疊錯(cuò)誤。結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述將解析后的配置文件的內(nèi)容注銷(xiāo)到內(nèi)存保留區(qū)記錄表中,包括:根據(jù)注銷(xiāo)接口調(diào)用者提供的注銷(xiāo)內(nèi)存保留區(qū)的參數(shù),與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行匹配;當(dāng)找到匹配項(xiàng),則刪除所述匹配項(xiàng)的節(jié)點(diǎn);當(dāng)未找到匹配項(xiàng),則返回注銷(xiāo)錯(cuò)誤。結(jié)合第一方面或者第一方面的第一種可能的實(shí)現(xiàn)方式或者第一方面的第二種可能的實(shí)現(xiàn)方式或者第一方面的第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表,包括:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,查詢(xún)更新后的內(nèi)存保留區(qū)記錄表;根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表。結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,在第一方面的第五種可能的實(shí)現(xiàn)方式中,所述內(nèi)存保留區(qū)記錄表存儲(chǔ)在非易失性存儲(chǔ)器,并將所述非易失性存儲(chǔ)器分為兩塊,其中一塊用來(lái)存儲(chǔ)所述內(nèi)存保留區(qū)記錄表,另一塊用來(lái)存儲(chǔ)BIOS代碼。結(jié)合第一方面或者第一方面的第一種可能的實(shí)現(xiàn)方式或者第一方面的第二種可能的實(shí)現(xiàn)方式或者第一方面的第三種可能的實(shí)現(xiàn)方式或者第一方面的第四種可能的實(shí)現(xiàn)方式或者第一方面的第五種可能的實(shí)現(xiàn)方式,在第一方面的第六種可能的實(shí)現(xiàn)方式中,所述方法還包括:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,以判斷是否需要清零內(nèi)存。第二方面,一種管理內(nèi)存的裝置,所述裝置包括:下載單元,用于當(dāng)基本輸入輸出系統(tǒng)BIOS啟動(dòng)時(shí)下載內(nèi)存保留區(qū)的配置文件,所述配置文件用于定義所述內(nèi)存保留區(qū);解析單元,用于解析所述配置文件,根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表;修改單元,用于根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表;發(fā)送單元,用于將修改后的內(nèi)存映射表發(fā)送給OS,使得OS獲取內(nèi)存的使用情況。結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述解析單元具體用于:解析所述配置文件,調(diào)用內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的注冊(cè)接口和注銷(xiāo)接口,將解析后的配置文件的內(nèi)容注冊(cè)或者注銷(xiāo)到內(nèi)存保留區(qū)記錄表中。結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述解析單元中執(zhí)行步驟將解析后的配置文件的內(nèi)容注冊(cè)到內(nèi)存保留區(qū)記錄表中,包括:判斷內(nèi)存保留區(qū)記錄表中的內(nèi)存保留區(qū)是否為已滿;當(dāng)判斷所述內(nèi)存保留區(qū)已滿,則返回存儲(chǔ)已滿;當(dāng)判斷所述內(nèi)存保留區(qū)未滿,則根據(jù)注冊(cè)接口調(diào)用者提供的GUID判斷,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,若有重復(fù),則返回重復(fù)注冊(cè);當(dāng)判斷所述內(nèi)存保留區(qū)無(wú)重復(fù),則根據(jù)所述注冊(cè)接口調(diào)用者提供的內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,當(dāng)所述內(nèi)存保留區(qū)的地址大于第i塊內(nèi)存保留區(qū)的地址和第i塊內(nèi)存保留區(qū)的大小之和,或者當(dāng)所述第i塊內(nèi)存保留區(qū)的地址大于所述內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小之和時(shí),則將所述解析后的配置文件的內(nèi)容注冊(cè)到所述內(nèi)存保留區(qū)記錄表中,否則返回注冊(cè)空間重疊錯(cuò)誤。結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述解析單元中執(zhí)行步驟將解析后的配置文件的內(nèi)容注銷(xiāo)到內(nèi)存保留區(qū)記錄表中,包括:根據(jù)注銷(xiāo)接口調(diào)用者提供的注銷(xiāo)內(nèi)存保留區(qū)的參數(shù),與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行匹配;當(dāng)找到匹配項(xiàng),則刪除所述匹配項(xiàng)的節(jié)點(diǎn);當(dāng)未找到匹配項(xiàng),則返回注銷(xiāo)錯(cuò)誤。結(jié)合第二方面或者第二方面的第一種可能的實(shí)現(xiàn)方式或者第二方面的第二種可能的實(shí)現(xiàn)方式或者第二方面的第三種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述修改單元具體用于:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,查詢(xún)更新后的內(nèi)存保留區(qū)記錄表;根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表。結(jié)合第二方面的第四種可能的實(shí)現(xiàn)方式,在第二方面的第五種可能的實(shí)現(xiàn)方式中,所述內(nèi)存保留區(qū)記錄表存儲(chǔ)在非易失性存儲(chǔ)器,并將所述非易失性存儲(chǔ)器分為兩塊,其中一塊用來(lái)存儲(chǔ)所述內(nèi)存保留區(qū)記錄表,另一塊用來(lái)存儲(chǔ)BIOS代碼。結(jié)合第二方面或者第二方面的第一種可能的實(shí)現(xiàn)方式或者第二方面的第二種可能的實(shí)現(xiàn)方式或者第二方面的第三種可能的實(shí)現(xiàn)方式或者第二方面的第四種可能的實(shí)現(xiàn)方式或者第二方面的第五種可能的實(shí)現(xiàn)方式,在第二方面的第六種可能的實(shí)現(xiàn)方式中,所述裝置還包括清零單元,所述清零單元用于:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,以判斷是否需要清零內(nèi)存。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例提供一種管理內(nèi)存的方法,所述方法通過(guò)在BIOS啟動(dòng)時(shí)從后臺(tái)下載內(nèi)存保留區(qū)的配置文件,解析所述配置文件,并根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表,根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表,將修改后的內(nèi)存映射表發(fā)送給OS,使得所述OS獲取內(nèi)存的使用情況,從而實(shí)現(xiàn)在不升級(jí)BIOS的情況下,動(dòng)態(tài)決定哪些內(nèi)存對(duì)OS可用,解決了電信平臺(tái)對(duì)內(nèi)存靈活使用的要求。為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實(shí)施例提供的一種管理內(nèi)存的方法示意圖;圖2是本發(fā)明實(shí)施例提供的一種管理內(nèi)存的方法流程圖;圖3是本發(fā)明實(shí)施例提供的一種接口模型;圖4是本發(fā)明實(shí)施例提供的一種管理內(nèi)存的裝置結(jié)構(gòu)圖;圖5是本發(fā)明實(shí)施例提供的一種管理內(nèi)存的裝置結(jié)構(gòu)圖。具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。參考圖1,圖1是本發(fā)明實(shí)施例提供的一種管理內(nèi)存的方法示意圖。本發(fā)明實(shí)施例設(shè)計(jì)一種基本輸入輸出系統(tǒng)(BasicInputOutputSystem,BIOS)啟動(dòng)過(guò)程中動(dòng)態(tài)注冊(cè)或者注銷(xiāo)內(nèi)存保留區(qū)的機(jī)制。內(nèi)存保留區(qū)記錄表存放在非易失性存儲(chǔ)器上,這個(gè)存儲(chǔ)器可以與存放BIOS代碼的存儲(chǔ)器屬于同一個(gè)存儲(chǔ)器,也可以在不同的存儲(chǔ)器上,優(yōu)先考慮存放所述內(nèi)存保留區(qū)記錄表的存儲(chǔ)器和存放BIOS代碼的存儲(chǔ)器屬于不同的存儲(chǔ)器,如一般BIOS代碼存放在串行外設(shè)接口(SerialPeripheralInterface,SPI)flash,內(nèi)存保留區(qū)記錄表放在非或Norflash,這樣設(shè)計(jì)是出于對(duì)BIOS文件安全性的考慮,因?yàn)樗鰞?nèi)存保留區(qū)記錄表會(huì)被修改,如果修改的時(shí)候斷電,有可能會(huì)破壞BIOS代碼,所以?xún)?yōu)先考慮將所述內(nèi)存保留區(qū)記錄表和BIOS代碼存放在不同的介質(zhì)中。所述方法包括如下步驟:UBIOS啟動(dòng)過(guò)程中從后臺(tái)下載到內(nèi)存保留的配置文件;其中,所述配置文件包括存放臨終遺言數(shù)據(jù)內(nèi)存的信息、存放日志記錄數(shù)據(jù)內(nèi)存的信息等。2、解析配置文件后,調(diào)用內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的注冊(cè)接口或注銷(xiāo)接口,將不同功用的內(nèi)存保留區(qū)的信息注冊(cè)或注銷(xiāo)到內(nèi)存保留區(qū)記錄表中;3、在啟動(dòng)OS前,BIOS調(diào)用內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,查詢(xún)到當(dāng)前內(nèi)存存儲(chǔ)的內(nèi)存保留區(qū)記錄表,同步修改內(nèi)存映射表;4、OS根據(jù)所述內(nèi)存映射表,知道當(dāng)前系統(tǒng)的內(nèi)存使用情況;5、同時(shí)BIOS下內(nèi)存清零模塊也可調(diào)用內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,來(lái)決定在引導(dǎo)OS前哪些內(nèi)存需要清零,哪些不需要清零。參考圖2,圖2是本發(fā)明實(shí)施例提供的一種管理內(nèi)存的方法流程圖。如圖2所示,所述方法包括以下步驟:步驟201,當(dāng)基本輸入輸出系統(tǒng)BIOS啟動(dòng)時(shí)下載內(nèi)存保留區(qū)的配置文件,所述配置文件用于定義所述內(nèi)存保留區(qū);BIOS啟動(dòng)時(shí),從后臺(tái)下載內(nèi)存保留區(qū)的配置文件,所述配置文件用于定義所述內(nèi)存保留區(qū)。步驟202,解析所述配置文件,根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表;本步驟中,所述解析所述配置文件,根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表,包括:解析所述配置文件,調(diào)用內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的注冊(cè)接口和注銷(xiāo)接口,將解析后的配置文件的內(nèi)容注冊(cè)或者注銷(xiāo)到內(nèi)存保留區(qū)記錄表中。可選地,所述將解析后的配置文件的內(nèi)容注冊(cè)到內(nèi)存保留區(qū)記錄表中,包括:判斷內(nèi)存保留區(qū)記錄表中的內(nèi)存保留區(qū)是否為已滿;當(dāng)判斷所述內(nèi)存保留區(qū)已滿,則返回存儲(chǔ)已滿;當(dāng)判斷所述內(nèi)存保留區(qū)未滿,則根據(jù)注冊(cè)接口調(diào)用者提供的全局唯一標(biāo)識(shí)符(GloballyUniqueIdentifier,⑶ID)判斷,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,若有重復(fù),則返回重復(fù)注冊(cè);當(dāng)判斷所述內(nèi)存保留區(qū)無(wú)重復(fù),則根據(jù)所述注冊(cè)接口調(diào)用者提供的內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,當(dāng)所述內(nèi)存保留區(qū)的地址大于第i塊內(nèi)存保留區(qū)的地址和第i塊內(nèi)存保留區(qū)的大小之和,或者當(dāng)所述第i塊內(nèi)存保留區(qū)的地址大于所述內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小之和時(shí),則將所述解析后的配置文件的內(nèi)容注冊(cè)到所述內(nèi)存保留區(qū)記錄表中,否則返回注冊(cè)空間重疊錯(cuò)誤。其中,若根據(jù)注冊(cè)接口調(diào)用者提供的GUID和所述內(nèi)存保留區(qū)記錄表中的GUID參數(shù)進(jìn)行比較,若⑶ID參數(shù)一致,則通知注冊(cè)接口調(diào)用者當(dāng)前⑶ID已存在內(nèi)存保留區(qū)中,不允許調(diào)用者復(fù)疊注冊(cè)。參考圖3,圖3是本發(fā)明實(shí)施例提供的一種接口模型。如圖3所示,在預(yù)初始化階段(Pre-EF1-1nitialization,PEI)階段,注冊(cè)步驟如下:1、將所述內(nèi)存保留區(qū)域表由flash導(dǎo)到傳遞模塊(hand-offblocks,Hob)中,判斷所述內(nèi)存保留區(qū)域表的內(nèi)存保留區(qū)數(shù)量是否已滿,如果是則返回存儲(chǔ)已滿,否則執(zhí)行步驟302;2、根據(jù)接口調(diào)用者提供的保留區(qū)⑶ID,與所述Hob中的內(nèi)存保留區(qū)記錄表的參數(shù)進(jìn)行比較,如果重復(fù),返回重復(fù)注冊(cè)。如果沒(méi)有重復(fù),則執(zhí)行步驟303;3、根據(jù)接口調(diào)用者提供的內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)大小,與所述Hob中的內(nèi)存保留記錄表的參數(shù)進(jìn)行比較,只有在滿足下面兩種情況下,才執(zhí)行步驟304,否則返回注冊(cè)空間重疊錯(cuò)誤;An+l>Ai+LiAi>An+l+Ln+l其中,0<i〈=n,n+l〈=最大保留區(qū)數(shù)量,η表示所述hob中已經(jīng)存儲(chǔ)的內(nèi)存保留區(qū)數(shù)量,Ai表示第i塊內(nèi)存保留區(qū)地址,Li表示第i塊內(nèi)存保留區(qū)大小;4、將新增的內(nèi)存保留區(qū)的參數(shù)添加到所述Hob中的內(nèi)存保留記錄表中??蛇x地,所述將解析后的配置文件的內(nèi)容注銷(xiāo)到內(nèi)存保留區(qū)記錄表中,包括:根據(jù)注銷(xiāo)接口調(diào)用者提供的注銷(xiāo)內(nèi)存保留區(qū)的參數(shù),與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行匹配;當(dāng)找到匹配項(xiàng),則刪除所述匹配項(xiàng)的節(jié)點(diǎn);當(dāng)未找到匹配項(xiàng),則返回注銷(xiāo)錯(cuò)誤。參考圖3,注銷(xiāo)步驟如下:根據(jù)接口調(diào)用者提供的需要注銷(xiāo)內(nèi)存保留區(qū)的參數(shù)跟存儲(chǔ)在Hob中的內(nèi)存保留區(qū)記錄表中的參數(shù)中進(jìn)行匹配,存儲(chǔ)在Hob中的內(nèi)存保留區(qū)記錄表中的所有參數(shù)都必須參入匹配,如果找到匹配項(xiàng),刪除該匹配項(xiàng)的節(jié)點(diǎn);如果找不到則返回錯(cuò)誤。其中,內(nèi)存保留區(qū)記錄表中存儲(chǔ)的數(shù)據(jù)是多個(gè)相同結(jié)構(gòu)的數(shù)據(jù)塊,所述節(jié)點(diǎn)是指其中一個(gè)數(shù)據(jù)庫(kù)。步驟203,根據(jù)所述內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表;可選地,所述根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表,包括:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,查詢(xún)更新后的內(nèi)存保留區(qū)記錄表;根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表。參考圖3,查詢(xún)步驟如下:1、根據(jù)接口調(diào)用者提供的內(nèi)存保留區(qū)的參數(shù)跟存儲(chǔ)在Hob中的內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行匹配,如果找到匹配項(xiàng),返回該匹配項(xiàng)的所有參數(shù)信息及匹配項(xiàng)數(shù),所述參數(shù)信息是指數(shù)據(jù)塊的內(nèi)容,所述匹配項(xiàng)數(shù)是指數(shù)據(jù)塊的個(gè)數(shù);如果找不到則返回錯(cuò)誤;2、同時(shí)所述查詢(xún)接口中還提供全部查詢(xún)功能,上述步驟查詢(xún)結(jié)果中輸入的全部參數(shù)均返回為錯(cuò)誤時(shí),則給出所述內(nèi)存保留區(qū)記錄表的全部參數(shù)信息和總項(xiàng)數(shù)。如圖3所示,在驅(qū)動(dòng)執(zhí)行壞境(DriverExacutiionEnvironment,DXE)階段,注冊(cè)、注銷(xiāo)和查詢(xún)接口基本功能與PEI階段相同,唯一的區(qū)別是DXE階段每調(diào)用一次注冊(cè)、注銷(xiāo)接口,都會(huì)將存儲(chǔ)Hob中內(nèi)存保留區(qū)記錄表實(shí)時(shí)更新到flash中。其中,所述內(nèi)存保留區(qū)記錄表存儲(chǔ)在非易失性存儲(chǔ)器nonvolatileram,并將所述非易失性存儲(chǔ)器分為兩塊,其中一塊用來(lái)存儲(chǔ)所述內(nèi)存保留區(qū)記錄表,另一塊用來(lái)存儲(chǔ)BIOS代碼。步驟204,將修改后的內(nèi)存映射表發(fā)送給OS,使得所述OS獲取內(nèi)存的使用情況。作為一種可優(yōu)選的實(shí)施例,所述方法還包括:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,以判斷是否需要清零內(nèi)存。本發(fā)明實(shí)施例提供一種管理內(nèi)存的方法,所述方法通過(guò)在BIOS啟動(dòng)時(shí)從后臺(tái)下載內(nèi)存保留區(qū)的配置文件,解析所述配置文件,并根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表,根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表,將修改后的內(nèi)存映射表發(fā)送給OS,使得所述OS獲取內(nèi)存的使用情況,從而實(shí)現(xiàn)在不升級(jí)BIOS的情況下,動(dòng)態(tài)決定哪些內(nèi)存對(duì)OS可用,解決了電信平臺(tái)對(duì)內(nèi)存靈活使用的要求。參考圖4,圖4是本發(fā)明實(shí)施例提供的一種管理內(nèi)存的裝置結(jié)構(gòu)圖。如圖4所示,所述裝置包括如下單元:下載單元401,用于當(dāng)基本輸入輸出系統(tǒng)BIOS啟動(dòng)時(shí)下載內(nèi)存保留區(qū)的配置文件,所述配置文件用于定義所述內(nèi)存保留區(qū);BIOS啟動(dòng)時(shí),從后臺(tái)下載內(nèi)存保留區(qū)的配置文件,所述配置文件用于定義所述內(nèi)存保留區(qū)。解析單元402,用于解析所述配置文件,根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表;可選地,所述解析單元402具體用于:解析所述配置文件,調(diào)用內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的注冊(cè)接口和注銷(xiāo)接口,將解析后的配置文件的內(nèi)容注冊(cè)或者注銷(xiāo)到內(nèi)存保留區(qū)記錄表中??蛇x地,所述解析單元402中執(zhí)行步驟將解析后的配置文件的內(nèi)容注冊(cè)到內(nèi)存保留區(qū)記錄表中,包括:判斷內(nèi)存保留區(qū)記錄表中的內(nèi)存保留區(qū)是否為已滿;當(dāng)判斷所述內(nèi)存保留區(qū)已滿,則返回存儲(chǔ)已滿;當(dāng)判斷所述內(nèi)存保留區(qū)未滿,則根據(jù)注冊(cè)接口調(diào)用者提供的GUID判斷,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,若有重復(fù),則返回重復(fù)注冊(cè);當(dāng)判斷所述內(nèi)存保留區(qū)無(wú)重復(fù),則根據(jù)所述注冊(cè)接口調(diào)用者提供的內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,當(dāng)所述內(nèi)存保留區(qū)的地址大于第i塊內(nèi)存保留區(qū)的地址和第i塊內(nèi)存保留區(qū)的大小之和,或者當(dāng)所述第i塊內(nèi)存保留區(qū)的地址大于所述內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小之和時(shí),則將所述解析后的配置文件的內(nèi)容注冊(cè)到所述內(nèi)存保留區(qū)記錄表中,否則返回注冊(cè)空間重疊錯(cuò)誤。參考圖3,圖3是本發(fā)明實(shí)施例提供的一種接口模型。如圖3所示,在PEI階段,注冊(cè)步驟如下:1、判斷所述內(nèi)存保留區(qū)域表的內(nèi)存保留區(qū)數(shù)量是否已滿,如果是則返回存儲(chǔ)已滿,否則執(zhí)行步驟302;2、根據(jù)接口調(diào)用者提供的保留區(qū)⑶ID,與所述Hob中的內(nèi)存保留區(qū)記錄表的參數(shù)進(jìn)行比較,如果重復(fù),返回重復(fù)注冊(cè)。如果沒(méi)有重復(fù),則執(zhí)行步驟303;3、根據(jù)接口調(diào)用者提供的內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)大小,與所述Hob中的內(nèi)存保留記錄表的參數(shù)進(jìn)行比較,只有在滿足下面兩種情況下,才執(zhí)行步驟304,否則返回注冊(cè)空間重疊錯(cuò)誤;An+l>Ai+LiAi>An+l+Ln+l其中,0<i<=n,n+l<=最大保留區(qū)數(shù)量,η表示所述hob中已經(jīng)存儲(chǔ)的內(nèi)存保留區(qū)數(shù)量,Ai表示第i塊內(nèi)存保留區(qū)地址,Li表示第i塊內(nèi)存保留區(qū)大??;4、將新增的內(nèi)存保留區(qū)的參數(shù)添加到所述Hob中的內(nèi)存保留記錄表中??蛇x地,所述解析單元402中執(zhí)行步驟將解析后的配置文件的內(nèi)容注銷(xiāo)到內(nèi)存保留區(qū)記錄表中,包括:根據(jù)注銷(xiāo)接口調(diào)用者提供的注銷(xiāo)內(nèi)存保留區(qū)的參數(shù),與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行匹配;當(dāng)找到匹配項(xiàng),則刪除所述匹配項(xiàng)的節(jié)點(diǎn);當(dāng)未找到匹配項(xiàng),則返回注銷(xiāo)錯(cuò)誤。參考圖3,注銷(xiāo)步驟如下:根據(jù)接口調(diào)用者提供的需要注銷(xiāo)內(nèi)存保留區(qū)的參數(shù)跟存儲(chǔ)在Hob中的內(nèi)存保留區(qū)記錄表中的參數(shù)中進(jìn)行匹配,存儲(chǔ)在Hob中的內(nèi)存保留區(qū)記錄表中的所有參數(shù)都必須參入匹配,如果找到匹配項(xiàng),刪除該匹配項(xiàng)的節(jié)點(diǎn);如果找不到則返回錯(cuò)誤。修改單元403,用于根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表;可選地,所述修改單元403具體用于:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,查詢(xún)更新后的內(nèi)存保留區(qū)記錄表;根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表。參考圖3,查詢(xún)步驟如下:1、根據(jù)接口調(diào)用者提供的內(nèi)存保留區(qū)的參數(shù)跟存儲(chǔ)在Hob中的內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行匹配,如果找到匹配項(xiàng),返回該匹配項(xiàng)的所有參數(shù)信息及匹配項(xiàng)數(shù);如果找不到則返回錯(cuò)誤;2、同時(shí)所述查詢(xún)接口中還提供全部查詢(xún)功能,上述步驟查詢(xún)結(jié)果中輸入的全部參數(shù)均返回為錯(cuò)誤時(shí),則給出所述內(nèi)存保留區(qū)記錄表的全部參數(shù)信息和總項(xiàng)數(shù)。如圖3所示,在DXE階段,注冊(cè)、注銷(xiāo)和查詢(xún)接口基本功能與PEI階段相同,唯一的區(qū)別是DXE階段每調(diào)用一次注冊(cè)、注銷(xiāo)接口,都會(huì)將存儲(chǔ)Hob中內(nèi)存保留區(qū)記錄表實(shí)時(shí)更新到flash中ο其中,所述內(nèi)存保留區(qū)記錄表存儲(chǔ)在非易失性存儲(chǔ)器,并將所述非易失性存儲(chǔ)器分為兩塊,其中一塊用來(lái)存儲(chǔ)所述內(nèi)存保留區(qū)記錄表,另一塊用來(lái)存儲(chǔ)BIOS代碼。發(fā)送單元404,用于將修改后的內(nèi)存映射表發(fā)送給OS,使得OS獲取內(nèi)存的使用情況。作為一種可選的實(shí)施例,所述裝置還包括清零單元405,所述清零單元405用于:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,以判斷是否需要清零內(nèi)存。本發(fā)明實(shí)施例提供一種管理內(nèi)存的裝置,所述裝置通過(guò)在BIOS啟動(dòng)時(shí)從后臺(tái)下載內(nèi)存保留區(qū)的配置文件,解析所述配置文件,并根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表,根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表,將修改后的內(nèi)存映射表發(fā)送給OS,使得所述OS獲取內(nèi)存的使用情況,從而實(shí)現(xiàn)在不升級(jí)BIOS的情況下,動(dòng)態(tài)決定哪些內(nèi)存對(duì)OS可用,解決了電信平臺(tái)對(duì)內(nèi)存靈活使用的要求。圖5是本發(fā)明實(shí)施例提供的一種管理內(nèi)存的裝置結(jié)構(gòu)圖。參考圖5,圖5是本發(fā)明實(shí)施例提供的一種管理內(nèi)存的裝置500,本發(fā)明具體實(shí)施例并不對(duì)所述管理內(nèi)存的裝置的具體實(shí)現(xiàn)做限定。所述管理內(nèi)存的裝置500包括:處理器(processor)5Ol,通信接口(CommunicationsInterface)5O2,存儲(chǔ)器(memory)503,總線504。處理器501,通信接口502,存儲(chǔ)器503通過(guò)總線504完成相互間的通信。通信接口502,用于與其他設(shè)備進(jìn)行通信;處理器501,用于執(zhí)行程序。具體地,程序可以包括程序代碼,所述程序代碼包括計(jì)算機(jī)操作指令。處理器501可能是一個(gè)中央處理器CPU,或者是特定集成電路ASIC(ApplicationSpecificIntegratedCircuit),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。存儲(chǔ)器503,用于存放程序。存儲(chǔ)器503可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤(pán)存儲(chǔ)器。程序具體可以包括:當(dāng)基本輸入輸出系統(tǒng)BIOS啟動(dòng)時(shí)下載內(nèi)存保留區(qū)的配置文件,所述配置文件用于定義所述內(nèi)存保留區(qū);解析所述配置文件,根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表;根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表;將修改后的內(nèi)存映射表發(fā)送給OS,使得所述OS獲取內(nèi)存的使用情況。所述解析所述配置文件,根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表,包括:解析所述配置文件,調(diào)用內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的注冊(cè)接口和注銷(xiāo)接口,將解析后的配置文件的內(nèi)容注冊(cè)或者注銷(xiāo)到內(nèi)存保留區(qū)記錄表中。所述將解析后的配置文件的內(nèi)容注冊(cè)到內(nèi)存保留區(qū)記錄表中,包括:判斷內(nèi)存保留區(qū)記錄表中的內(nèi)存保留區(qū)是否為已滿;當(dāng)判斷所述內(nèi)存保留區(qū)已滿,則返回存儲(chǔ)已滿;當(dāng)判斷所述內(nèi)存保留區(qū)未滿,則根據(jù)注冊(cè)接口調(diào)用者提供的GUID判斷,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,若有重復(fù),則返回重復(fù)注冊(cè);當(dāng)判斷所述內(nèi)存保留區(qū)無(wú)重復(fù),則根據(jù)所述注冊(cè)接口調(diào)用者提供的內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,當(dāng)所述內(nèi)存保留區(qū)的地址大于第i塊內(nèi)存保留區(qū)的地址和第i塊內(nèi)存保留區(qū)的大小之和,或者當(dāng)所述第i塊內(nèi)存保留區(qū)的地址大于所述內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小之和時(shí),則將所述解析后的配置文件的內(nèi)容注冊(cè)到所述內(nèi)存保留區(qū)記錄表中,否則返回注冊(cè)空間重疊錯(cuò)誤。所述將解析后的配置文件的內(nèi)容注銷(xiāo)到內(nèi)存保留區(qū)記錄表中,包括:根據(jù)注銷(xiāo)接口調(diào)用者提供的注銷(xiāo)內(nèi)存保留區(qū)的參數(shù),與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行匹配;當(dāng)找到匹配項(xiàng),則刪除所述匹配項(xiàng)的節(jié)點(diǎn);當(dāng)未找到匹配項(xiàng),則返回注銷(xiāo)錯(cuò)誤。所述根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表,包括:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,查詢(xún)更新后的內(nèi)存保留區(qū)記錄表;根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表。所述內(nèi)存保留區(qū)記錄表存儲(chǔ)在非易失性存儲(chǔ)器,并將所述非易失性存儲(chǔ)器分為兩塊,其中一塊用來(lái)存儲(chǔ)所述內(nèi)存保留區(qū)記錄表,另一塊用來(lái)存儲(chǔ)BIOS代碼。所述方法還包括:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,以判斷是否需要清零內(nèi)存。以上所述僅為本發(fā)明的優(yōu)選實(shí)施方式,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限定。任何在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明要求包含范圍之內(nèi)。權(quán)利要求1.一種管理內(nèi)存的方法,其特征在于,所述方法包括:當(dāng)基本輸入輸出系統(tǒng)BIOS啟動(dòng)時(shí)下載內(nèi)存保留區(qū)的配置文件,所述配置文件用于定義所述內(nèi)存保留區(qū);解析所述配置文件,根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表;根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表;將修改后的內(nèi)存映射表發(fā)送給操作系統(tǒng)(OperatingSystem,OS),使得所述OS獲取內(nèi)存的使用情況。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述解析所述配置文件,根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表,包括:解析所述配置文件,調(diào)用內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的注冊(cè)接口和注銷(xiāo)接口,將解析后的配置文件的內(nèi)容注冊(cè)或者注銷(xiāo)到內(nèi)存保留區(qū)記錄表中。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將解析后的配置文件的內(nèi)容注冊(cè)到內(nèi)存保留區(qū)記錄表中,包括:判斷內(nèi)存保留區(qū)記錄表中的內(nèi)存保留區(qū)是否為已滿;當(dāng)判斷所述內(nèi)存保留區(qū)已滿,則返回存儲(chǔ)已滿;當(dāng)判斷所述內(nèi)存保留區(qū)未滿,則根據(jù)注冊(cè)接口調(diào)用者提供的GUID判斷,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,若有重復(fù),則返回重復(fù)注冊(cè);當(dāng)判斷所述內(nèi)存保留區(qū)無(wú)重復(fù),則根據(jù)所述注冊(cè)接口調(diào)用者提供的內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,當(dāng)所述內(nèi)存保留區(qū)的地址大于第i塊內(nèi)存保留區(qū)的地址和第i塊內(nèi)存保留區(qū)的大小之和,或者當(dāng)所述第i塊內(nèi)存保留區(qū)的地址大于所述內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小之和時(shí),則將所述解析后的配置文件的內(nèi)容注冊(cè)到所述內(nèi)存保留區(qū)記錄表中,否則返回注冊(cè)空間重疊錯(cuò)誤。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將解析后的配置文件的內(nèi)容注銷(xiāo)到內(nèi)存保留區(qū)記錄表中,包括:根據(jù)注銷(xiāo)接口調(diào)用者提供的注銷(xiāo)內(nèi)存保留區(qū)的參數(shù),與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行匹配;當(dāng)找到匹配項(xiàng),則刪除所述匹配項(xiàng)的節(jié)點(diǎn);當(dāng)未找到匹配項(xiàng),則返回注銷(xiāo)錯(cuò)誤。5.根據(jù)權(quán)利要求1-4任意一項(xiàng)所述的方法,其特征在于,所述根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表,包括:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,查詢(xún)更新后的內(nèi)存保留區(qū)記錄表;根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述內(nèi)存保留區(qū)記錄表存儲(chǔ)在非易失性存儲(chǔ)器,并將所述非易失性存儲(chǔ)器分為兩塊,其中一塊用來(lái)存儲(chǔ)所述內(nèi)存保留區(qū)記錄表,另一塊用來(lái)存儲(chǔ)BIOS代碼。7.根據(jù)權(quán)利要求1-6任意一項(xiàng)所述的方法,其特征在于,所述方法還包括:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,以判斷是否需要清零內(nèi)存。8.—種管理內(nèi)存的裝置,其特征在于,所述裝置包括:下載單元,用于當(dāng)基本輸入輸出系統(tǒng)BIOS啟動(dòng)時(shí)下載內(nèi)存保留區(qū)的配置文件,所述配置文件用于定義所述內(nèi)存保留區(qū);解析單元,用于解析所述配置文件,根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表;修改單元,用于根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表;發(fā)送單元,用于將修改后的內(nèi)存映射表發(fā)送給OS,使得OS獲取內(nèi)存的使用情況。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述解析單元具體用于:解析所述配置文件,調(diào)用內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的注冊(cè)接口和注銷(xiāo)接口,將解析后的配置文件的內(nèi)容注冊(cè)或者注銷(xiāo)到內(nèi)存保留區(qū)記錄表中。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述解析單元中執(zhí)行步驟將解析后的配置文件的內(nèi)容注冊(cè)到內(nèi)存保留區(qū)記錄表中,包括:判斷內(nèi)存保留區(qū)記錄表中的內(nèi)存保留區(qū)是否為已滿;當(dāng)判斷所述內(nèi)存保留區(qū)已滿,則返回存儲(chǔ)已滿;當(dāng)判斷所述內(nèi)存保留區(qū)未滿,則根據(jù)注冊(cè)接口調(diào)用者提供的GUID判斷,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,若有重復(fù),則返回重復(fù)注冊(cè);當(dāng)判斷所述內(nèi)存保留區(qū)無(wú)重復(fù),則根據(jù)所述注冊(cè)接口調(diào)用者提供的內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小,與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行比較,當(dāng)所述內(nèi)存保留區(qū)的地址大于第i塊內(nèi)存保留區(qū)的地址和第i塊內(nèi)存保留區(qū)的大小之和,或者當(dāng)所述第i塊內(nèi)存保留區(qū)的地址大于所述內(nèi)存保留區(qū)的地址和內(nèi)存保留區(qū)的大小之和時(shí),則將所述解析后的配置文件的內(nèi)容注冊(cè)到所述內(nèi)存保留區(qū)記錄表中,否則返回注冊(cè)空間重疊錯(cuò)誤。11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述解析單元中執(zhí)行步驟將解析后的配置文件的內(nèi)容注銷(xiāo)到內(nèi)存保留區(qū)記錄表中,包括:根據(jù)注銷(xiāo)接口調(diào)用者提供的注銷(xiāo)內(nèi)存保留區(qū)的參數(shù),與所述內(nèi)存保留區(qū)記錄表中的參數(shù)進(jìn)行匹配;當(dāng)找到匹配項(xiàng),則刪除所述匹配項(xiàng)的節(jié)點(diǎn);當(dāng)未找到匹配項(xiàng),則返回注銷(xiāo)錯(cuò)誤。12.根據(jù)權(quán)利要求8-11任意一項(xiàng)所述的裝置,其特征在于,所述修改單元具體用于:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,查詢(xún)更新后的內(nèi)存保留區(qū)記錄表;根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表。13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述內(nèi)存保留區(qū)記錄表存儲(chǔ)在非易失性存儲(chǔ)器,并將所述非易失性存儲(chǔ)器分為兩塊,其中一塊用來(lái)存儲(chǔ)所述內(nèi)存保留區(qū)記錄表,另一塊用來(lái)存儲(chǔ)BIOS代碼。14.根據(jù)權(quán)利要求8-13任意一項(xiàng)所述的裝置,其特征在于,所述裝置還包括清零單元,所述清零單元用于:調(diào)用所述內(nèi)存保留區(qū)注冊(cè)驅(qū)動(dòng)中的查詢(xún)接口,以判斷是否需要清零內(nèi)存。全文摘要本發(fā)明實(shí)施例公開(kāi)一種管理內(nèi)存的方法及裝置,所述方法通過(guò)在BIOS啟動(dòng)時(shí)從后臺(tái)下載內(nèi)存保留區(qū)的配置文件,解析所述配置文件,并根據(jù)解析后的配置文件的內(nèi)容更新內(nèi)存保留區(qū)記錄表,根據(jù)更新后的內(nèi)存保留區(qū)記錄表修改內(nèi)存映射表,將修改后的內(nèi)存映射表發(fā)送給OS,使得所述OS獲取內(nèi)存的使用情況,從而實(shí)現(xiàn)在不升級(jí)BIOS的情況下,動(dòng)態(tài)決定哪些內(nèi)存對(duì)OS可用,解決了電信平臺(tái)對(duì)內(nèi)存靈活使用的要求。文檔編號(hào)G06F17/30GK103176915SQ20131010482公開(kāi)日2013年6月26日申請(qǐng)日期2013年3月28日優(yōu)先權(quán)日2013年3月28日發(fā)明者楊麗萍,龔彬陽(yáng),徐志剛申請(qǐng)人:華為技術(shù)有限公司