內存動態分配方法及系統的製作方法
2023-06-01 17:20:21 3
內存動態分配方法及系統的製作方法
【專利摘要】一種內存動態分配方法及系統,該系統包括:記錄模塊,用於記錄一段時間進程使用內存最大值X1;比較模塊,用於比較預設進程申請內存值X2和X1的大小,將較大者存入第一變量,較小者存入第二變量;分配模塊,用於分配第一預設內存值給預設進程;判斷模塊,用於判斷當前內存是否滿足預設進程運行;所述分配模塊還用於如果當前分配的內存不滿足預設進程運行,分配第二預設內存值給預設進程,並觸發判斷模塊;觸發模塊,用於內存滿足預設進程運行時,喚醒預設進程。本發明按照預設比例多次且每次少量動態分配內存給預設進程,避免以往一次分配太少,預設進程不能運行,或者一次分配過多,造成內存浪費。
【專利說明】內存動態分配方法及系統
【技術領域】
[0001] 本發明涉及一種內存分配方法及系統,尤其涉及一種內存動態分配方法及系統。
【背景技術】
[0002] 進程在系統中運行需要一定的內存,在有限的內存中,如果進程申請的空間很大, 而實際上有沒有使用到,這就會導致內存浪費;而如果申請的內存太小,又會影響到進程的 正常工作,這就需要內核對系統內存進行有效地管理,既要符合系統運行進程的需要,又不 能過多浪費內存而影響到其它的進程。
【發明內容】
[0003] 鑑於以上內容,有必要提供一種內存動態分配方法及系統。
[0004] 所述內存動態分配方法包括:記錄步驟,記錄一段時間電子裝置運行進程使用內 存的最大值XI ;比較步驟,比較預設進程申請的內存值X2和上述XI的大小,將較大者存入 第一變量,將較小者存入第二變量;第一分配步驟,分配第一預設內存值給預設進程,所述 第一預設內存值為第二變量的預設比例;第一判斷步驟,判斷當前分配的內存是否滿足預 設進程運行需要;第二分配步驟,如果當前分配的內存不滿足預設進程運行需要,將預設進 程掛起,分配第二預設內存值給預設進程,並返回第一判斷步驟;觸發步驟,如果當前分配 的內存滿足預設進程運行需要時,觸發電子裝置的系統內核喚醒預設進程,使預設進程運 行。
[0005] 所述內存動態分配系統包括:記錄模塊,用於記錄一段時間電子裝置運行進程使 用內存的最大值XI ;比較模塊,用於比較預設進程申請的內存值X2和上述XI的大小,將較 大者存入第一變量,將較小者存入第二變量;分配模塊,用於分配第一預設內存值給預設進 程,所述第一預設內存值為第二變量的預設比例;判斷模塊,用於判斷當前分配的內存是否 滿足預設進程運行需要;所述分配模塊還用於如果當前分配的內存不滿足預設進程運行需 要,將預設進程掛起,分配第二預設內存值給預設進程,並觸發判斷模塊繼續判斷當前分配 的內存是否滿足預設進程運行需要;觸發模塊,用於如果當前分配的內存滿足預設進程運 行需要時,觸發電子裝置的系統內核喚醒預設進程,使預設進程運行。
[0006] 本發明按照預設比例多次且每次少量地動態分配內存給預設進程,避免了以往一 次分配內存太少,預設進程因內存不足不能運行,或者一次分配過多內存,造成浪費。
【專利附圖】
【附圖說明】
[0007] 圖1是本發明內存動態分配系統的較佳實施方式的運行環境圖。
[0008] 圖2是本發明內存動態分配系統的較佳實施方式的功能模塊圖。
[0009] 圖3是本發明內存動態分配方法的較佳實施方式的流程圖。
[0010] 主要元件符號說明
【權利要求】
1. 一種內存動態分配方法,其特徵在於,該方法包括: 記錄步驟,記錄一段時間電子裝置運行進程使用內存的最大值XI ; 比較步驟,比較預設進程申請的內存值X2和上述XI的大小,將較大者存入第一變量, 將較小者存入第二變量; 第一分配步驟,分配第一預設內存值給預設進程,所述第一預設內存值為第二變量的 預設比例; 第一判斷步驟,判斷當前分配的內存是否滿足預設進程運行需要; 第二分配步驟,如果當前分配的內存不滿足預設進程運行需要,將預設進程掛起,分配 第二預設內存值給預設進程,並返回第一判斷步驟; 觸發步驟,如果當前分配的內存滿足預設進程運行需要時,觸發電子裝置的系統內核 喚醒預設進程,使預設進程運行。
2. 根據權利要求1所述的內存動態分配方法,其特徵在於,所述預設比例=(第二變量 的值/第一變量的值)* 100%。
3. 根據權利要求1所述的內存動態分配方法,其特徵在於,所述第二預設內存值=(預 設進程申請的內存值X2-當前分配的內存值)*預設比例。
4. 根據權利要求1所述的內存動態分配方法,其特徵在於,該方法還包括: 第二判斷步驟,如果當前分配的內存滿足預設進程的運行需要時,判斷預設進程是否 能夠正常運行,如果預設進程能夠正常運行,執行觸發步驟。
5. 根據權利要求4所述的內存動態分配方法,其特徵在於,如果當前分配的內存值小 於預設進程申請的內存值X2,判斷預設進程能夠正常運行。
6. -種內存動態分配系統,其特徵在於,該系統包括: 記錄模塊,用於記錄一段時間電子裝置運行進程使用內存的最大值XI ; 比較模塊,用於比較預設進程申請的內存值X2和上述XI的大小,將較大者存入第一變 量,將較小者存入第二變量; 分配模塊,用於分配第一預設內存值給預設進程,所述第一預設內存值為第二變量的 預設比例; 判斷模塊,用於判斷當前分配的內存是否滿足預設進程運行需要; 所述分配模塊還用於如果當前分配的內存不滿足預設進程運行需要,將預設進程掛 起,分配第二預設內存值給預設進程,並觸發判斷模塊繼續判斷當前分配的內存是否滿足 預設進程運行需要; 觸發模塊,用於如果當前分配的內存滿足預設進程運行需要時,觸發電子裝置的系統 內核喚醒預設進程,使預設進程運行。
7. 根據權利要求6所述的內存動態分配系統,其特徵在於,所述預設比例=(第二變量 的值/第一變量的值)* 100%。
8. 根據權利要求6所述的內存動態分配系統,其特徵在於,所述第二預設內存值=(預 設進程申請的內存值X2-當前分配的內存值)*預設比例。
9. 根據權利要求6所述的內存動態分配系統,其特徵在於,所述判斷模塊還用於,如果 當前分配的內存滿足預設進程的運行需要時,判斷預設進程是否能夠正常運行,如果預設 進程能夠正常運行,啟動觸發模塊。
10.根據權利要求9所述的內存動態分配系統,其特徵在於,如果當前分配的內存值小 於預設進程申請的內存值X2,判斷預設進程能夠正常運行。
【文檔編號】G06F12/02GK104111892SQ201310139814
【公開日】2014年10月22日 申請日期:2013年4月22日 優先權日:2013年4月22日
【發明者】房金妮, 羅探科 申請人:鴻富錦精密工業(深圳)有限公司, 鴻海精密工業股份有限公司