專利名稱:一種數字機頂盒系統內存的分配方法、模塊和裝置的制作方法
技術領域:
本發明屬于計算機軟件領域,尤其涉及一種數字機頂盒系統內存的分配方法、模 塊和裝置。
背景技術:
隨著信息處理技術的不斷發展和完善,數字機頂盒系統內存的應用越來越復雜也 越來越重要。現有技術中,對數字機頂盒系統內存的應用非常雜亂數字機頂盒系統內存需要 為內核執行程序必要的內存空間;為顯示在電視上的圖像提供緩沖空間;為CPU和硬盤中 的視屏數據提供緩沖空間等等。因此現有技術經常造成內存沖突和溢出,大大降低了系統 的穩定性和用戶體驗度。
發明內容
本發明實施例的目的在于提供一種數字機頂盒系統內存的分配方法,旨在解決數 字機頂盒系統內存使用不當的問題。本發明實施例是這樣實現的,一種數字機頂盒系統內存的分配方法,所述方法包 括以下步驟啟動數字機頂盒,所述數字機頂盒在啟動后對自身的內存進行重新劃分;在不同的內存區域處理相應的應用程序;在用戶應用程序需要虛擬內存協助時,建立物理內存與虛擬內存的地址映射。本發明實施例的另一目的在于提供一種數字機頂盒系統內存的分配模塊,所述模 塊包括內存重新劃分模塊,用于在數字機頂盒啟動時,重新分配數字機頂盒的內存;應用程序處理模塊,用于在不同的內存區域處理相應的應用程序;地址映射模塊,用于在用戶應用程序需要虛擬內存協助時,建立物理內存與虛擬 內存的地址映射。本發明實施例的另一目的在于提供一種數字機頂盒,所述數字機頂盒內置有上所 述的數字機頂盒系統內存的分配模塊。本發明實施例,數字機頂盒在啟動后,重新分配自身的系統內存,將不同的應用程 序分配到不同的內存區域運行,在應用程序有虛擬內存需求時通過建立物理內存與虛擬內 存的地址映射,使物理內存與虛擬內存共同處理應用程序。有效的管理了系統的內核代碼、 高速緩沖區、虛擬盤、主內存區,方便了用戶應用程序的內存分配,避免了內存沖突和溢出, 提高了系統的穩定性和用戶的體驗。
圖1是本發明實施例提供的數字機頂盒內存分配方法的流程4
圖2是本發明實施例提供的圖1所示的步驟S102的具體實現流程;圖3是本發明實施例提供的數字機頂盒系統內存的分配模塊。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并 不用于限定本發明。本發明實施例,數字機頂盒在啟動后,重新分配自身的系統內存,將不同的應用程 序分配到不同的內存區域運行,在應用程序有虛擬內存需求時通過建立物理內存與虛擬內 存的地址映射,使物理內存與虛擬內存共同處理應用程序。有效的管理了系統的內核代 碼、高速緩沖區、虛擬盤、主內存區,方便了用戶應用程序的內存分配,避免了內存沖突和溢 出,提高了系統的穩定性和用戶的體驗。本發明提供了一種數字機頂盒系統內存的分配方法、模塊和裝置所述方法包括啟動數字機頂盒,所述數字機頂盒在啟動后對自身的內存進行重 新劃分;在不同的內存區域處理相應的應用程序;在用戶應用程序需要虛擬內存協助時,建立物理內存與虛擬內存的地址映射。所述模塊包括內存重新劃分模塊,用于在數字機頂盒啟動時,重新分配數字機頂 盒的內存;應用程序處理模塊,用于在不同的內存區域處理相應的應用程序;地址映射模塊,用于在用戶應用程序需要虛擬內存協助時,建立物理內存與虛擬 內存的地址映射。所述裝置為一種數字機頂盒,所述數字機頂盒內置有如上所述的數字機頂盒系 統內存的分配模塊。如圖1所示為本發明實施例提供的數字機頂盒內存分配方法的流程圖,詳述如 下步驟S101,啟動數字機頂盒,所述數字機頂盒對自身的內存進行重新劃分。在本發明實施例中,數字機頂盒在啟動后,對自身的內存進行重新劃分,劃分為 頁目錄表區,內核主程序區,顯示緩沖區,虛擬本地硬盤區,主內存區五個部分。步驟S102,在不同的內存區域處理相應的應用程序。在本發明實施例中,數字機頂盒的內存將接收到的不同的程序放在不同的內存區 域。其具體實現步驟詳見圖2以及后續對圖2的描述,在此不再贅述。步驟S103,建立物理內存與虛擬內存的地址映射。在本發明實施例中,如果一個應用進程申請的內存容量大于數字機頂盒實際的物 理內存容量,則所述應用進程需要虛擬內存的協助才能完成。建立物理內存與虛擬內存的 地址映射則可保證虛擬內存協助物理內存完成所述應用進程。建立物理內存與虛擬內存的地址映射方法的關鍵在于尋找所述應用進程申請的 物理內存的地址。只要找到了系統為所述應用進程分配的物理內存的地址,即可建立物理 內存與虛擬內存的地址映射,共同處理所述應用進程。
查找系統為所述應用進程分配的物理內存的地址的方法具體為當一個應用進程 申請內存時,內存管理程序搜索判斷頁目錄表中有沒有空閑的頁目錄項。如果有則在找到 的第一個空閑頁目錄項的地址末12位標注為已占用,同時標注所述頁目錄項對應的頁表 項,所述頁表項記錄了物理內存的地址。如圖2所示為本發明實施例提供的圖1所示的步驟S102的具體實現流程步驟S201,在頁目錄表區存儲系統的頁目錄表、頁表、全局描述符表、局部描述符表。在本發明實施例中,頁目錄表,頁表,全局描述符表,局部描述符表是系統進程和 用戶程序經常要用到的地址映射信息,將所述頁目錄表,頁表,全局描述符表,局部描述符 表保存在內存的頁目錄表區,不僅方便系統隨時調用,更可以大大提高CPU的反映速度和 內存的使用效率。步驟S202,在內核主程序區存儲系統的內核代碼。在本發明實施例中,內核代碼經常被內核程序調用,將所述內核代碼保存在內存 的內核主程序區,使得內核代碼和用戶應用程序進程分開運行,不僅方便了內存的管理,而 且內核也不需要從內部編寫特定的代碼來解決內存出界的問題,也避免了內存溢出。步驟S203,在顯示緩沖區存儲需要顯示的圖像。在本發明實施例中,圖像數據從數字機頂盒到電視終端顯示出來,需要經過數字 機頂盒CPU的處理。如果采取CPU處理一幀就顯示一幀的方法,則會使電視畫面出現馬賽 克、視頻頻繁中斷的情況。因此將需要顯示的圖像數據存儲在顯示緩沖區,作為數字機頂盒 與電視終端的緩沖鏈接區,保證了電視畫面的清晰和流程,提高了用戶體驗。步驟S204,在虛擬本地硬盤區存儲需要處理的視頻數據。在本發明實施例中,視頻數據從數字機頂盒到電視終端顯示出來,數字機頂盒CPU 需要從硬盤讀取視頻文件。如果采取CPU處理一幀就顯示一幀的方法,則會使內存的使用 非常分散,CPU的利用率降低。因此將需要顯示的視頻數據存儲在虛擬本地硬盤區,作為 CPU和本地硬盤的緩沖區,使得CPU不在頻繁的等待,只需讀取虛擬本地硬盤去存儲的數據 即可,大大提高了內存的使用率和CPU的運行效率。步驟S205,在主內存區運行用戶的應用進程。在本發明實施例中,當用戶有應用程序時,內存將為用戶的應用程序分配運行的 空間。這塊運行用戶應用程序的內存空間就是主內存區。本發明實施例,數字機頂盒在啟 后,重新分配自身的系統內存,將不同的應用程 序分配到不同的內存區域運行,在應用程序有虛擬內存需求時通過建立物理內存與虛擬內 存的地址映射,使物理內存與虛擬內存共同處理應用程序。有效的管理了系統內存的應用 程序,方便了用戶應用程序的內存分配,避免了內存沖突和溢出,提高了系統的穩定性和用 戶的體驗。如圖3所示為本發明實施例提供的數字機頂盒系統內存的分配模塊,為了便于說 明,僅示出了與本發明實施例相關的部分內存重新劃分模塊11,用于在數字機頂盒啟動時,將數字機頂盒的內存劃分頁目 錄表區,內核主程序區,顯示緩沖區,虛擬本地硬盤區,主內存區。應用程序處理模塊12,用于在不同的內存區域處理相應的程序。其中應用程序處理模塊12還包括頁目錄表模塊121,用于存儲系統的頁目錄表,頁表,全局描述符表,局部描述符 表。所述頁目錄表,頁表,全局描述符表,局部描述符表是系統進程和用戶程序經常要用到 的地址映射信息,將所述頁目錄表,頁表,全局描述符表,局部描述符表保存在內存的頁目 錄表模塊121中,不僅方便系統隨時調用,更可以大大提高CPU的反映速度和內存的使用效率。內核主程序模塊122,用于存儲以及運行系統的內核代碼。內核代碼對于內核程序 的運行起著主要的作用,經常被內核程序調用,將所述內核代碼保存在內存的內核主程序 模塊122中,使得內核代碼和用戶應用程序進程分開運行,不僅方便了內存的管理,而且內 核也不需要從內部編寫特定的代碼來解決內存出界的問題,也避免了內存溢出。顯示緩沖模塊123,用于存儲需要顯示的圖像數據。圖像數據從數字機頂盒到電視 終端顯示出來,需要經過數字機頂盒CPU的處理。如果采取CPU處理一幀就顯示一幀的方 法,則會使電視畫面出現馬賽克、視頻頻繁中斷的情況。因此將需要顯示的圖像數據存儲在 顯示緩沖模塊123中,作為數字機頂盒與電視終端的緩沖鏈接區,保證了電視畫面的清晰 和流程,提高了用戶體驗。虛擬硬盤模塊124,用于存儲需要顯示的視頻數據。視頻數據從數字機頂盒到電視 終端顯示出來,數字機頂盒CPU需要從硬盤讀取視頻文件。如果采取CPU處理一幀就顯示一 幀的方法,則會使內存的使用非常分散,CPU的利用率降低。因此將需要顯示的視頻數據存 儲在虛擬本地硬盤模塊124中,作為CPU和本地硬盤的緩沖區,使得CPU不在頻繁的等待, 只需讀取虛擬本地硬盤去存儲的數據即可,大大提高了內存的使用率和CPU的運行效率。主內存模塊125,用于在主內存區運行用戶的應用進程。當用戶有應用程序時,內 存將為用戶的應用程序分配運行的空間。這塊用于運行用戶應用程序的內存空間就是主內 存模塊125。地址映射模塊13,用于在用戶應用程序需要虛擬內存協助時,建立物理內存與虛 擬內存的地址映射。其中地址映射模塊13還包括物理地址查找模塊131,用于查找應用程序對應的物理內存的地址。地址映射建立模塊132,用于根據物理地址查找模塊查找的物理內存的地址建立 物理內存與虛擬內存的地址映射。本發明實施例,數字機頂盒在啟動后,重新分配自身的系統內存,將不同的應用程 序分配到不同的內存區域運行,在應用程序有虛擬內存需求時通過建立物理內存與虛擬內 存的地址映射,使物理內存與虛擬內存共同處理應用程序。有效的管理了系統內存的應用 程序,方便了用戶應用程序的內存分配,避免了內存沖突和溢出,提高了系統的穩定性和用 戶的體驗。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精 神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
權利要求
一種數字機頂盒系統內存的分配方法,其特征在于,包括啟動數字機頂盒,所述數字機頂盒在啟動后對自身的內存進行重新劃分;在不同的內存區域處理相應的應用程序;在用戶應用程序需要虛擬內存協助時,建立物理內存與虛擬內存的地址映射。
2.如權利要求1所述的數字機頂盒系統內存的分配方法,其特征在于,將數字機頂盒 的內存具體劃分為頁目錄表區、內核主程序區、顯示緩沖區、虛擬本地硬盤區、主內存區。
3.如權利要求1所述的數字機頂盒系統內存的分配方法,其特征在于,所述在不同的 內存區域處理相應的程序具體為頁目錄表區存儲系統的頁目錄表、頁表、全局描述符表、局部描述符表; 內核主程序區存儲系統的內核代碼; 顯示緩沖區存儲需要顯示的圖像; 虛擬本地硬盤區存儲需要處理的視頻數據; 主內存區運行用戶的應用程序。
4.如權利要求1所述的數字機頂盒系統內存的分配方法,其特征在于,所述建立物理 內存與虛擬內存的地址映射的具體方法為查找用戶應用程序對應的物理內存的地址; 根據所述物理內存的地址,建立虛擬內存的映射。
5.如權利要求4所述的數字機頂盒系統內存的分配方法,其特征在于,所述查找用戶 應用程序對應的物理內存的地址的方法具體為在空閑的頁目錄項的地址末12位標注為已被用戶應用程序占用; 標注所述頁目錄項對應的頁表項,所述頁表項記錄有用戶應用程序相應的物理內存的 地址。
6. 一種數字機頂盒系統內存的分配模塊,其特征在于,包括內存重新劃分模塊,用于在數字機頂盒啟動時,重新分配數字機頂盒的內存; 應用程序處理模塊,用于在不同的內存區域處理相應的應用程序; 地址映射模塊,用于在用戶應用程序需要虛擬內存協助時,建立物理內存與虛擬內存 的地址映射。
7.如權利要求6所述的數字機頂盒系統內存的分配模塊,其特征在于,所述應用程序 處理模塊還包括頁目錄表模塊,用于存儲系統的頁目錄表,頁表,全局描述符表,局部描述符表; 內核主程序模塊,用于存儲以及運行系統的內核代碼; 顯示緩沖模塊,用于存儲需要顯示的圖像數據; 虛擬硬盤模塊,用于存儲硬盤中需要顯示的視頻數據; 主內存模塊,用于在運行用戶的應用進程。
8.如權利要求6所述的數字機頂盒系統內存的分配模塊,其特征在于,所述內存地址 映射模塊還包括物理地址查找模塊,用于查找應用程序對應的物理內存的地址; 地址映射建立模塊,用于根據物理地址查找模塊查找的物理內存的地址建立物理內存與虛擬內存的地址映射。
9. 一種數字機頂盒,其特征在于,所述數字機頂盒內置有如權利要求6所述的數字機 頂盒系統內存的分配模塊。
全文摘要
本發明適用于計算機軟件領域,提供了一種數字機頂盒系統內存的分配方法、模塊和裝置。該方法包括以下步驟啟動數字機頂盒,所述數字機頂盒在啟動后對自身的內存進行重新劃分;在不同的內存區域處理相應的應用程序;在用戶應用程序需要虛擬內存協助時,建立物理內存與虛擬內存的地址映射。本發明實施例,數字機頂盒在啟動后,重新分配自身的系統內存,將不同的應用程序分配到不同的內存區域運行。在應用程序有虛擬內存需求時通過建立物理內存與虛擬內存的地址映射,使物理內存與虛擬內存共同處理應用程序。有效的管理了系統內存的應用程序,方便了用戶應用程序的內存分配,避免了內存沖突和溢出,提高了系統的穩定性和用戶的體驗。
文檔編號G06F12/02GK101976225SQ201010520119
公開日2011年2月16日 申請日期2010年10月26日 優先權日2010年10月26日
發明者丁宏, 莫肇鑾, 邵彥生, 高懷恩 申請人:深圳創維-Rgb電子有限公司