国产精品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>

      一種內(nèi)存管理方法及系統(tǒng)與流程

      文檔序號(hào):11917938閱讀:來(lái)源:國(guó)知局

      技術(shù)特征:

      1.一種內(nèi)存管理方法,其特征在于,包括:

      S10內(nèi)存申請(qǐng)方法:

      S110根據(jù)業(yè)務(wù)信息申請(qǐng)內(nèi)存的需求,查找相應(yīng)規(guī)格的內(nèi)存空閑鏈表中是否存在空閑內(nèi)存塊,若是,則進(jìn)入步驟S120;否則,進(jìn)入步驟S130;

      S120從所述內(nèi)存空閑鏈表中移除一空閑內(nèi)存塊,進(jìn)入步驟S140;

      S130向系統(tǒng)申請(qǐng)相應(yīng)的空閑內(nèi)存塊;

      S140將所述空閑內(nèi)存塊分配給業(yè)務(wù)存儲(chǔ)數(shù)據(jù)信息,并添加到所述業(yè)務(wù)所屬的模塊號(hào)的內(nèi)存占用鏈表中;

      S20內(nèi)存釋放方法:

      S210將待釋放的內(nèi)存塊從所述模塊號(hào)的內(nèi)存占用鏈表中移除;

      S220將所述內(nèi)存塊進(jìn)行清空處理,還原至空閑內(nèi)存塊狀態(tài);

      S230根據(jù)所述內(nèi)存塊的大小,將所述內(nèi)存塊鏈接在相應(yīng)規(guī)格的內(nèi)存空閑鏈表中。

      2.根據(jù)權(quán)利要求1所述的一種內(nèi)存管理方法,其特征在于,包括:

      S010進(jìn)程啟動(dòng)時(shí),先將內(nèi)存初始化,并根據(jù)所述進(jìn)程向系統(tǒng)申請(qǐng)一內(nèi)存池;

      S020根據(jù)所述進(jìn)程,將所述內(nèi)存池劃分成不同規(guī)格的內(nèi)存塊組;同一內(nèi)存塊組中包含若干大小相等的空閑內(nèi)存塊;所述內(nèi)存塊包括結(jié)構(gòu)頭、可存儲(chǔ)區(qū)、和診斷尾;所述結(jié)構(gòu)頭和診斷尾用于存儲(chǔ)數(shù)據(jù)的相關(guān)信息,且所述結(jié)構(gòu)頭上存儲(chǔ)有雙向指針;

      S030將同一內(nèi)存塊組的空閑內(nèi)存塊通過(guò)所述雙向指針鏈接起來(lái),形成所述規(guī)格的內(nèi)存空閑鏈表;

      S040當(dāng)所述進(jìn)程中的模塊號(hào)下的業(yè)務(wù)占用了內(nèi)存塊時(shí),利用所述雙向指針,將所述進(jìn)程中同一個(gè)模塊號(hào)下已占用的內(nèi)存塊鏈接起來(lái)構(gòu)成內(nèi)存占用鏈表。

      3.根據(jù)權(quán)利要求2所述的一種內(nèi)存管理方法,其特征在于,還包括S30診斷方法:

      S310查找相應(yīng)模塊號(hào)的內(nèi)存占用鏈表;

      S320遍歷所述內(nèi)存占用鏈表,判斷所述內(nèi)存占用鏈表中的內(nèi)存塊的結(jié)構(gòu)頭信息是否被擦寫,若是進(jìn)入步驟S330;

      S330判斷所述內(nèi)存塊為壞塊。

      4.根據(jù)權(quán)利要求2所述的一種內(nèi)存管理方法,其特征在于,

      所述步驟S120包括步驟:

      S121從所述內(nèi)存空閑鏈表的頭部或尾部移除所述空閑內(nèi)存塊;

      所述步驟S140包括步驟:

      S141根據(jù)所述業(yè)務(wù)信息,填充所述內(nèi)存塊的結(jié)構(gòu)頭和診斷尾信息,所述內(nèi)存塊的可存儲(chǔ)區(qū)用于給業(yè)務(wù)存儲(chǔ)數(shù)據(jù)信息;

      S142將所述內(nèi)存塊掛載在以所述業(yè)務(wù)所屬的模塊號(hào)為下標(biāo)的內(nèi)存占用鏈表頭部或尾部;

      所述步驟S210包括:

      S211根據(jù)待釋放內(nèi)存塊的雙向指針,在所述模塊號(hào)的內(nèi)存占用鏈表中找到所述待釋放內(nèi)存塊的前一內(nèi)存塊及后一內(nèi)存塊;

      S212將所述待釋放內(nèi)存塊從所述內(nèi)存占用鏈表中移除;

      S213將所述待釋放內(nèi)存塊的前一內(nèi)存塊和后一內(nèi)存塊鏈接起來(lái);

      所述步驟S230包括:

      S231根據(jù)所述內(nèi)存塊的大小,將所述內(nèi)存塊掛載在相應(yīng)規(guī)格的內(nèi)存空閑鏈表頭部或尾部。

      5.根據(jù)權(quán)利要求2所述的一種內(nèi)存管理方法,其特征在于,所述內(nèi)存塊的結(jié)構(gòu)頭,用于存儲(chǔ)雙向指針、內(nèi)存塊的總大小、存儲(chǔ)的數(shù)據(jù)標(biāo)識(shí)位、及所屬的模塊號(hào)信息;

      所述內(nèi)存塊的診斷尾,用于存儲(chǔ)申請(qǐng)所述內(nèi)存塊的文件名、行號(hào)信息;

      所述內(nèi)存塊的大小為2i,其中i為自然數(shù)。

      6.一種內(nèi)存管理系統(tǒng),其特征在于,包括內(nèi)存管理模塊、查找模塊、操作模塊,所述內(nèi)存管理模塊分別與所述查找模塊、操作模塊相連;其中:

      當(dāng)所述內(nèi)存管理模塊接收到內(nèi)存申請(qǐng)時(shí),根據(jù)業(yè)務(wù)信息申請(qǐng)內(nèi)存的需求,通過(guò)所述查找模塊查找相應(yīng)規(guī)格的內(nèi)存空閑鏈表中是否存在空閑內(nèi)存塊,若是,則所述操作模塊在所述內(nèi)存管理模塊的控制下,從所述內(nèi)存空閑鏈表中移除一空閑內(nèi)存塊,否則所述內(nèi)存管理模塊向系統(tǒng)申請(qǐng)相應(yīng)的空閑內(nèi)存塊;

      所述內(nèi)存管理模塊將所述空閑內(nèi)存塊分配給業(yè)務(wù)存儲(chǔ)數(shù)據(jù)信息,所述操作模塊將所述存儲(chǔ)數(shù)據(jù)信息的內(nèi)存塊添加到所述業(yè)務(wù)所屬的模塊號(hào)的內(nèi)存占用鏈表中;

      當(dāng)所述內(nèi)存管理模塊接收到內(nèi)存釋放申請(qǐng)時(shí),所述操作模塊在所述內(nèi)存管理模塊的控制下,將待釋放的內(nèi)存塊從所述模塊號(hào)的內(nèi)存占用鏈表中移除;并將所述內(nèi)存塊進(jìn)行清空處理,還原至空閑內(nèi)存塊狀態(tài);再根據(jù)所述內(nèi)存塊的大小,將所述內(nèi)存塊鏈接在相應(yīng)規(guī)格的內(nèi)存空閑鏈表中。

      7.根據(jù)權(quán)利要求6所述的一種內(nèi)存管理系統(tǒng),其特征在于,還包括初始化模塊,內(nèi)存空間申請(qǐng)模塊、內(nèi)存空間劃分模塊;所述內(nèi)存空間申請(qǐng)模塊分別與所述初始化模塊及所述內(nèi)存空間劃分模塊相連,且所述內(nèi)存管理模塊分別與所述內(nèi)存空間申請(qǐng)模塊、內(nèi)存空間劃分模塊相連,其中:

      當(dāng)進(jìn)程啟動(dòng)時(shí),所述初始模塊將內(nèi)存初始化,所述內(nèi)存空間申請(qǐng)模塊根據(jù)所述進(jìn)程向系統(tǒng)申請(qǐng)一內(nèi)存池;

      所述內(nèi)存空間劃分模塊根據(jù)所述進(jìn)程,將所述內(nèi)存池劃分成不同規(guī)格的內(nèi)存塊組;同一內(nèi)存塊組中包含若干大小相等的空閑內(nèi)存塊;所述內(nèi)存塊包括結(jié)構(gòu)頭、可存儲(chǔ)區(qū)、和診斷尾;所述結(jié)構(gòu)頭和診斷尾用于存儲(chǔ)數(shù)據(jù)的相關(guān)信息,且所述結(jié)構(gòu)頭上存儲(chǔ)有雙向指針;

      所述內(nèi)存管理模塊將同一內(nèi)存塊組的空閑內(nèi)存塊通過(guò)所述雙向指針鏈接起來(lái),形成所述規(guī)格的內(nèi)存空閑鏈表;

      當(dāng)所述內(nèi)存管理模塊判斷進(jìn)程中的模塊號(hào)下的業(yè)務(wù)占用了內(nèi)存塊時(shí),所述內(nèi)存管理模塊利用所述雙向指針,將所述進(jìn)程中同一個(gè)模塊號(hào)下已占用的內(nèi)存塊鏈接起來(lái)構(gòu)成內(nèi)存占用鏈表。

      8.根據(jù)權(quán)利要求7所述的一種內(nèi)存管理系統(tǒng),其特征在于,還包括遍歷判斷模塊,所述遍歷判斷模塊分別與所述查找模塊及內(nèi)存管理模塊相連,其中:

      所述查找模塊查找相應(yīng)模塊號(hào)的內(nèi)存占用鏈表;

      所述遍歷判斷模塊遍歷所述內(nèi)存占用鏈表,判斷所述內(nèi)存占用鏈表中的內(nèi)存塊的結(jié)構(gòu)頭信息是否被擦寫,若是,則判斷所述內(nèi)存塊為壞塊。

      9.根據(jù)權(quán)利要求7所述的一種內(nèi)存管理系統(tǒng),其特征在于,

      內(nèi)存申請(qǐng)時(shí):

      所述操作模塊在所述內(nèi)存管理模塊的控制下,從所述內(nèi)存空閑鏈表中移除一空閑內(nèi)存塊是指所述操作模塊在所述內(nèi)存管理模塊的控制下,從所述內(nèi)存空閑鏈表的頭部或尾部移除一空閑內(nèi)存塊;

      所述內(nèi)存管理模塊將所述空閑內(nèi)存塊分配給業(yè)務(wù)存儲(chǔ)數(shù)據(jù)信息,所述操作模塊將所述存儲(chǔ)數(shù)據(jù)信息的內(nèi)存塊添加到所述業(yè)務(wù)所屬的模塊號(hào)下的內(nèi)存占用鏈表中包括:所述內(nèi)存管理模塊根據(jù)所述業(yè)務(wù)信息,填充所述內(nèi)存塊的結(jié)構(gòu)頭和診斷尾信息,所述內(nèi)存塊的可存儲(chǔ)區(qū)用于給業(yè)務(wù)存儲(chǔ)數(shù)據(jù)信息;所述操作模塊在所述內(nèi)存管理模塊的控制下將所述內(nèi)存塊掛載在以所述業(yè)務(wù)所屬的模塊號(hào)為下標(biāo)的內(nèi)存占用鏈表頭部或尾部;

      內(nèi)存釋放時(shí):

      所述操作模塊在所述內(nèi)存管理模塊的控制下,將待釋放的內(nèi)存塊從所述模塊號(hào)的內(nèi)存占用鏈表中移除包括:所述操作模塊在所述內(nèi)存管理模塊的控制下,根據(jù)待釋放內(nèi)存塊的雙向指針,在所述模塊號(hào)的內(nèi)存占用鏈表中找到所述待釋放內(nèi)存塊的前一內(nèi)存塊及后一內(nèi)存塊;所述操作模塊將所述待釋放內(nèi)存塊從所述內(nèi)存占用鏈表中移除;所述操作模塊將所述待釋放內(nèi)存塊的前一內(nèi)存塊和后一內(nèi)存塊鏈接起來(lái);

      所述操作模塊根據(jù)所述內(nèi)存塊的大小,將所述內(nèi)存塊鏈接在相應(yīng)規(guī)格的內(nèi)存空閑鏈表中是指所述操作模塊根據(jù)所述內(nèi)存塊的大小,將所述內(nèi)存塊掛載在相應(yīng)規(guī)格的內(nèi)存空閑鏈表頭部或尾部。

      10.根據(jù)權(quán)利要求7所述的一種內(nèi)存管理系統(tǒng),其特征在于,所述內(nèi)存塊的結(jié)構(gòu)頭,用于存儲(chǔ)雙向指針、內(nèi)存塊的總大小、存儲(chǔ)的數(shù)據(jù)標(biāo)識(shí)位、及所屬的模塊號(hào)信息;

      所述內(nèi)存塊的診斷尾,用于存儲(chǔ)申請(qǐng)所述內(nèi)存塊的文件名、行號(hào)信息。

      所述內(nèi)存塊的大小為2i,其中i為自然數(shù)。

      當(dāng)前第2頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1