欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種動態(tài)內(nèi)存分配方法

文檔序號:6545159閱讀:375來源:國知局
一種動態(tài)內(nèi)存分配方法
【專利摘要】本發(fā)明涉及內(nèi)存分配方法【技術(shù)領(lǐng)域】,尤其涉及一種用于電力用戶用電信息采集系統(tǒng)的動態(tài)內(nèi)存分配方法,主要通過設(shè)置空閑內(nèi)存鏈表來實現(xiàn)空閑內(nèi)存的動態(tài)分配,這種動態(tài)內(nèi)存分配方法編譯后的執(zhí)行文件較少、運行效率較高、管理效率較高且具有內(nèi)存溢出檢測。
【專利說明】—種動態(tài)內(nèi)存分配方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及內(nèi)存分配方法【技術(shù)領(lǐng)域】,尤其涉及一種用于電力用戶用電信息采集系統(tǒng)的動態(tài)內(nèi)存分配方法。
【背景技術(shù)】
[0002]當(dāng)前現(xiàn)有技術(shù)用于電力用戶用電信息采集系統(tǒng)的內(nèi)存分配方法主要有以下幾種:
一、使用靜態(tài)內(nèi)存管理;
二、使用Iibc庫中的動態(tài)內(nèi)存管理;
三、使用newlib庫中的動態(tài)內(nèi)存管理。
[0003]因為電力用戶用電信息采集系統(tǒng)的內(nèi)存總量較小,而且內(nèi)存分為多個物理內(nèi)存塊,將上述三種內(nèi)存管理方法應(yīng)用于電力用戶用電信息采集系統(tǒng)時會產(chǎn)生以下問題:編譯后的執(zhí)行文件過于龐大導(dǎo)致分配內(nèi)存效率較低,占用大量程序存儲區(qū),運行效率較低且不適合內(nèi)存總量較小的電力用戶用電信息采集系統(tǒng)使用;需要將多個物理內(nèi)存塊分開管理,管理效率較低;沒有設(shè)置內(nèi)存溢出檢測,在內(nèi)存溢出時不能友好的提示系統(tǒng)死機(jī)原因。

【發(fā)明內(nèi)容】

[0004]本發(fā)明所要解決的技術(shù)問題是:提供一種編譯后的執(zhí)行文件較少、運行效率較高、管理效率較高且具有內(nèi)存溢出檢測的動態(tài)內(nèi)存分配方法。
[0005]本發(fā)明所采用的技術(shù)方案是:一種動態(tài)內(nèi)存分配方法,它包括以下步驟:
(1)、初始化內(nèi)存空間,設(shè)定內(nèi)存初地址,將每塊物理內(nèi)存塊分成三個部分,依次為第一部分、第二部分以及第三部分,且每個部分均包含一個信息節(jié)點頭以及一個內(nèi)存塊,且每塊物理內(nèi)存塊的第一部分與第三部分的內(nèi)存塊的大小為0K,然后將所有的物理內(nèi)存塊中的第二部分組合起來形成一個空閑內(nèi)存鏈表,所述信息節(jié)點頭包括使用狀態(tài)信息、對應(yīng)的內(nèi)存塊的大小信息以及指向上一個物理中相鄰的內(nèi)存塊的地址的第一指針,且所述第二部分的內(nèi)存塊中還設(shè)有一個第二指針與第三指針,所述第二指針與第三指針分別指向空閑內(nèi)存鏈表中相鄰的上下兩塊空閑內(nèi)存塊的地址;
(2)、等待接收請求;
(3)、若接收到應(yīng)用程序需要分配內(nèi)存的請求,則逐一查看空閑內(nèi)存鏈表中是否存在比需要分配內(nèi)存大的空閑內(nèi)存塊,若存在則在此空閑內(nèi)存塊中分配出請求所需的內(nèi)存塊,若此空閑內(nèi)存塊分配出請求所需的內(nèi)存后所剩的空閑內(nèi)存小于信息節(jié)點頭所需內(nèi)存,則將所剩的空閑內(nèi)存也分配給請求的應(yīng)用程序,并且修改原先在空閑內(nèi)存鏈表中與這個分配出去的內(nèi)存塊相鄰的兩個空閑內(nèi)存塊的第二指針與第三指針,然后在分配出去的內(nèi)存塊上增加對應(yīng)的信息節(jié)點頭,同時統(tǒng)計當(dāng)前內(nèi)存信息,存入統(tǒng)計信息,然后返回步驟(2)繼續(xù)等待請求,若此空閑內(nèi)存塊分配出請求所需的內(nèi)存后所剩的空閑內(nèi)存不小于信息節(jié)點頭所需內(nèi)存,則修改此空閑內(nèi)存塊的信息節(jié)點頭,然后在分配出去的內(nèi)存塊上增加對應(yīng)的信息節(jié)點頭,同時統(tǒng)計當(dāng)前內(nèi)存信息,存入統(tǒng)計信息,然后返回步驟(2)繼續(xù)等待請求;若不存在則返回步驟(2)繼續(xù)等待請求,同時記錄分配失敗,存入統(tǒng)計信息;
若接收到應(yīng)用程序需要釋放內(nèi)存的請求,首先檢測需要釋放的內(nèi)存塊的信息節(jié)點頭是否合法,若檢測到信息節(jié)點頭非法則統(tǒng)計非法原因且同時顯示非法原因;若檢測到信息節(jié)點頭合法,則根據(jù)釋放的內(nèi)存塊的信息節(jié)點頭中的第一指針將釋放的內(nèi)存塊插入到物理內(nèi)存塊中,并且判斷是否需要進(jìn)行合并,然后返回步驟(2)繼續(xù)等待請求;
若接收到用戶查看統(tǒng)計信息的請求時,導(dǎo)出當(dāng)前的統(tǒng)計信息,然后返回步驟(2)繼續(xù)等待請求。
[0006]步驟(3)所述的檢測需要釋放的內(nèi)存的信息節(jié)點頭是否合法包括以下步驟:
A、檢測需要釋放的內(nèi)存塊的信息節(jié)點頭中的使用狀態(tài)信息,若使用狀態(tài)信息為未使用,則判斷信息節(jié)點頭非法;若使用狀態(tài)信息為使用,則判斷信息節(jié)點頭合法;
B、檢測需要釋放的內(nèi)存塊的信息節(jié)點頭,然后檢測與釋放的內(nèi)存塊相鄰的前物理內(nèi)存塊的信息節(jié)點頭,若前物理內(nèi)存塊的地址加上8個字節(jié)再加上前物理內(nèi)存塊的大小等于釋放的內(nèi)存塊的地址,則判斷釋放的內(nèi)存塊的信息節(jié)點頭合法;若不等,則判斷釋放的內(nèi)存塊的信息節(jié)點頭不合法;
C、檢測需要釋放的內(nèi)存塊的信息節(jié)點頭,然后檢測與釋放的內(nèi)存塊相鄰的后物理內(nèi)存塊的信息節(jié)點頭,若釋放的內(nèi)存塊的地址加上8個字節(jié)再加上釋放的內(nèi)存塊的大小等于后物理內(nèi)存塊的地址,則判斷釋放的內(nèi)存塊的信息節(jié)點頭合法;若不等,則判斷釋放的內(nèi)存的信息節(jié)點頭不合法。
[0007]所述步驟(3)中判斷是否需要進(jìn)行合并是指:首先檢測與釋放的內(nèi)存塊相鄰的前后兩個物理內(nèi)存塊是否空閑,若釋放的內(nèi)存塊的前物理內(nèi)存塊空閑,則將釋放的內(nèi)存塊與前物理內(nèi)存塊合并,并且刪除釋放的內(nèi)存塊的信息節(jié)點頭并且修改前物理內(nèi)存塊的信息節(jié)點頭;若釋放的內(nèi)存塊的后物理內(nèi)存塊空閑,則將釋放的內(nèi)存塊與后物理內(nèi)存塊合并,并且刪除后物理內(nèi)存塊的信息節(jié)點頭且修改釋放的內(nèi)存塊的信息節(jié)點頭;若釋放的內(nèi)存塊的前后物理內(nèi)存塊均空閑,即將釋放的內(nèi)存塊與前后物理內(nèi)存塊合并,并且刪除釋放的內(nèi)存塊以及后物理內(nèi)存塊的信息節(jié)點頭且修改前物理內(nèi)存塊的信息節(jié)點頭;若釋放的內(nèi)存塊的前后物理內(nèi)存塊均不空閑,則不做修改,直接插入,并且將釋放的內(nèi)存塊根據(jù)內(nèi)存大小插入到空閑內(nèi)存鏈表中,并且根據(jù)插入的位置設(shè)置一個第二指針與第三指針。
[0008]采用以上方法與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:本申請的方法編譯后的執(zhí)行文件較少,分配內(nèi)存效率較高,適合內(nèi)存總量較小的系統(tǒng)使用;而且通過空閑內(nèi)存鏈表將所有空閑的內(nèi)存塊鏈接起來,這樣管理效率較高,且內(nèi)存分配效率也較高;并且在釋放內(nèi)存塊時需要進(jìn)行信息節(jié)點頭的合法性檢測,這樣當(dāng)檢測出來需要釋放的內(nèi)存塊的信息節(jié)點頭不合法時,就相當(dāng)于檢測到系統(tǒng)有內(nèi)存溢出,然后同時會顯示非法原因,所述的非法原因包括需要釋放的內(nèi)存塊是從哪個任務(wù)中釋放出來的,這樣用戶在第一時間就能知道是哪個任務(wù)導(dǎo)致系統(tǒng)死機(jī),即本發(fā)明能友好的提示系統(tǒng)死機(jī)的原因。
[0009]通過這三個步驟來檢測釋放的內(nèi)存塊的信息節(jié)點頭是否合法,這樣檢測準(zhǔn)確性較高,而且檢測效率也較高。
[0010]通過將釋放的內(nèi)存塊與相鄰的前后物理內(nèi)存塊進(jìn)行合并,這樣能有效減少空閑的碎片內(nèi)存塊,使得在之后的內(nèi)存分配中能分配出較大的空閑內(nèi)存塊?!揪唧w實施方式】
[0011]以下【具體實施方式】對本發(fā)明做進(jìn)一步描述,但是本發(fā)明不僅限于以下【具體實施方式】。
[0012]一種動態(tài)內(nèi)存分配方法,它包括以下步驟:
(1)、初始化內(nèi)存空間,設(shè)定內(nèi)存初地址,將每塊物理內(nèi)存塊分成三個部分,依次為第一部分、第二部分以及第三部分,且每個部分均包含一個信息節(jié)點頭以及一個內(nèi)存塊,且每塊物理內(nèi)存塊的第一部分與第三部分的內(nèi)存塊的大小為0K,然后將所有的物理內(nèi)存塊中的第二部分組合起來形成一個空閑內(nèi)存鏈表,所述信息節(jié)點頭包括使用狀態(tài)信息、對應(yīng)的內(nèi)存塊的大小信息以及指向上一個物理中相鄰的內(nèi)存塊的地址的第一指針,且所述第二部分的內(nèi)存塊中還設(shè)有一個第二指針與第三指針,所述第二指針與第三指針分別指向空閑內(nèi)存鏈表中相鄰的上下兩塊空閑內(nèi)存塊的地址;其中一塊物理內(nèi)存塊中,第一部分的信息節(jié)點頭的第一指針指向空,第二部分的信息節(jié)點頭的第一指針指向第一部分的物理內(nèi)存塊,即指向0K,第三部分的信息節(jié)點頭的第一指針指向第二部分的物理內(nèi)存塊,第二部分的物理內(nèi)存塊的大小為總的物理內(nèi)存塊的大小減去三個信息節(jié)點頭的大??;所述其中一個物理內(nèi)存塊的第二部分的第二指針與第三指針分別指向兩個物理內(nèi)存塊中的第二部分的空閑內(nèi)存塊,且所述空閑內(nèi)存塊是根據(jù)空間大小來進(jìn)行排序的,然后通過各自的第二指針與第三指針來相互鏈接,形成一個空閑內(nèi)存鏈表;并且第二指針與第三指針只設(shè)置在空閑內(nèi)存塊中,若空閑內(nèi)存鏈表中的空閑內(nèi)存塊被使用時,即內(nèi)存塊的信息節(jié)點頭的使用狀態(tài)信息為使用,則內(nèi)存塊中是不存在第二指針與第三指針的,則這個內(nèi)存塊也不會出現(xiàn)在空閑內(nèi)存鏈表中;且所述使用狀態(tài)信息占用I位,對應(yīng)的內(nèi)存塊大小信息占用31位,這兩者組合起來占用4個字節(jié),還有第一指針占用4個字節(jié);
(2)、等待接收請求;
(3)、若接收到應(yīng)用程序需要分配內(nèi)存的請求,則逐一查看空閑內(nèi)存鏈表中是否存在比需要分配內(nèi)存大的空閑內(nèi)存塊,若存在則在此空閑內(nèi)存塊中分配出請求所需的內(nèi)存塊,若此空閑內(nèi)存塊分配出請求所需的內(nèi)存后所剩的空閑內(nèi)存小于信息節(jié)點頭所需內(nèi)存,則將所剩的空閑內(nèi)存也分配給請求的應(yīng)用程序,并且修改原先在空閑內(nèi)存鏈表中與這個分配出去的內(nèi)存塊相鄰的兩個空閑內(nèi)存塊的第二指針與第三指針,然后在分配出去的內(nèi)存塊上增加對應(yīng)的信息節(jié)點頭,同時統(tǒng)計當(dāng)前內(nèi)存信息,存入統(tǒng)計信息,然后返回步驟(2)繼續(xù)等待請求,若此空閑內(nèi)存塊分配出請求所需的內(nèi)存后所剩的空閑內(nèi)存不小于信息節(jié)點頭所需內(nèi)存,則修改此空閑內(nèi)存塊的信息節(jié)點頭,然后在分配出去的內(nèi)存塊上增加對應(yīng)的信息節(jié)點頭,同時統(tǒng)計當(dāng)前內(nèi)存信息,存入統(tǒng)計信息,然后返回步驟(2)繼續(xù)等待請求;若不存在則返回步驟(2)繼續(xù)等待請求,同時記錄分配失敗,存入統(tǒng)計信息;
若接收到應(yīng)用程序需要釋放內(nèi)存的請求,首先檢測需要釋放的內(nèi)存塊的信息節(jié)點頭是否合法,若檢測到信息節(jié)點頭非法則統(tǒng)計非法原因且同時顯示非法原因;若檢測到信息節(jié)點頭合法,則根據(jù)釋放的內(nèi)存塊的信息節(jié)點頭中的第一指針將釋放的內(nèi)存塊插入到物理內(nèi)存塊中,并且判斷是否需要進(jìn)行合并,然后返回步驟(2)繼續(xù)等待請求;此非法原因主要還是這個需要釋放的內(nèi)存塊是從哪個任務(wù)中釋放出來的,這樣能讓用戶清楚到底是哪個任務(wù)出錯了,造成了內(nèi)存溢出,因為第一指針是指向與之相鄰的上一個物理內(nèi)存塊的,所以可以根據(jù)需要釋放的內(nèi)存塊的信息節(jié)點頭中的第一指針找到這個內(nèi)存塊原來是從哪邊分配出去的,現(xiàn)在將返回原先的位置;
若接收到用戶查看統(tǒng)計信息的請求時,導(dǎo)出當(dāng)前的統(tǒng)計信息,然后返回步驟(2)繼續(xù)等待請求。此統(tǒng)計信息主要包括當(dāng)前總共的內(nèi)存塊個數(shù),空閑內(nèi)存塊個數(shù),空閑內(nèi)存塊大小、分配失敗次數(shù)等信息。
[0013]步驟(3)所述的檢測需要釋放的內(nèi)存的信息節(jié)點頭是否合法包括以下步驟:
A、檢測需要釋放的內(nèi)存塊的信息節(jié)點頭中的使用狀態(tài)信息,若使用狀態(tài)信息為未使用,則判斷信息節(jié)點頭非法;若使用狀態(tài)信息為使用,則判斷信息節(jié)點頭合法;因為需要釋放的內(nèi)存塊分配出去時信息節(jié)點頭的使用狀態(tài)一定為使用,若正常使用,這個信息節(jié)點頭是不會修改的,而如果檢測到使用狀態(tài)信息改變了,則表示這個釋放的內(nèi)存塊在使用過程中發(fā)生了內(nèi)存溢出,即導(dǎo)致了信息節(jié)點頭被占用或者修改;
B、檢測需要釋放的內(nèi)存塊的信息節(jié)點頭,然后檢測與釋放的內(nèi)存塊相鄰的前物理內(nèi)存塊的信息節(jié)點頭,若前物理內(nèi)存塊的地址加上8個字節(jié)再加上前物理內(nèi)存塊的大小等于釋放的內(nèi)存塊的地址,則判斷釋放的內(nèi)存塊的信息節(jié)點頭合法;若不等,則判斷釋放的內(nèi)存塊的信息節(jié)點頭不合法;所述的8個字節(jié)是信息節(jié)點頭的大小,如果正常情況下,釋放的內(nèi)存塊是能剛好插入到與之相鄰的前后兩個物理內(nèi)存塊之間的,即上述計算式是相等的,若不等,則表示釋放的內(nèi)存塊的信息節(jié)點頭被占用或者修改過了,即表示釋放的內(nèi)存塊在使用過程中有內(nèi)存溢出現(xiàn)象;
C、檢測需要釋放的內(nèi)存塊的信息節(jié)點頭,然后檢測與釋放的內(nèi)存塊相鄰的后物理內(nèi)存塊的信息節(jié)點頭,若釋放的內(nèi)存塊的地址加上8個字節(jié)再加上釋放的內(nèi)存塊的大小等于后物理內(nèi)存塊的地址,則判斷釋放的內(nèi)存塊的信息節(jié)點頭合法;若不等,則判斷釋放的內(nèi)存的信息節(jié)點頭不合法。所述的8個字節(jié)是信息節(jié)點頭的大小,如果正常情況下,釋放的內(nèi)存塊是能剛好插入到與之相鄰的前后兩個物理內(nèi)存塊之間的,即上述計算式是相等的,若不等,則表示釋放的內(nèi)存塊的信息節(jié)點頭被占用或者修改過了,即表示釋放的內(nèi)存塊在使用過程中有內(nèi)存溢出現(xiàn)象。
[0014]所述步驟(3)中判斷是否需要進(jìn)行合并是指:首先檢測與釋放的內(nèi)存塊相鄰的前后兩個物理內(nèi)存塊是否空閑,若釋放的內(nèi)存塊的前物理內(nèi)存塊空閑,則將釋放的內(nèi)存塊與前物理內(nèi)存塊合并,并且刪除釋放的內(nèi)存塊的信息節(jié)點頭并且修改前物理內(nèi)存塊的信息節(jié)點頭;若釋放的內(nèi)存塊的后物理內(nèi)存塊空閑,則將釋放的內(nèi)存塊與后物理內(nèi)存塊合并,并且刪除后物理內(nèi)存塊的信息節(jié)點頭且修改釋放的內(nèi)存塊的信息節(jié)點頭;若釋放的內(nèi)存塊的前后物理內(nèi)存塊均空閑,即將釋放的內(nèi)存塊與前后物理內(nèi)存塊合并,并且刪除釋放的內(nèi)存塊以及后物理內(nèi)存塊的信息節(jié)點頭且修改前物理內(nèi)存塊的信息節(jié)點頭;若釋放的內(nèi)存塊的前后物理內(nèi)存塊均不空閑,則不做修改,直接插入,并且將釋放的內(nèi)存塊根據(jù)內(nèi)存大小插入到空閑內(nèi)存鏈表中,并且根據(jù)插入的位置設(shè)置一個第二指針與第三指針。這個內(nèi)存塊之間的合并簡單的說就是物理上相鄰的兩個內(nèi)存塊只要是都是空閑的就合并在一起。若能合并,這樣就相當(dāng)于將原先空閑內(nèi)存鏈表中的其中一個空閑內(nèi)存的內(nèi)存大小增加了,若不能合并,則需要在空閑內(nèi)存鏈表上重新增加一塊。
【權(quán)利要求】
1.一種動態(tài)內(nèi)存分配方法,其特征在于:它包括以下步驟: (1)、初始化內(nèi)存空間,設(shè)定內(nèi)存初地址,將每塊物理內(nèi)存塊分成三個部分,依次為第一部分、第二部分以及第三部分,且每個部分均包含一個信息節(jié)點頭以及一個內(nèi)存塊,且每塊物理內(nèi)存塊的第一部分與第三部分的內(nèi)存塊的大小為0K,然后將所有的物理內(nèi)存塊中的第二部分組合起來形成一個空閑內(nèi)存鏈表,所述信息節(jié)點頭包括使用狀態(tài)信息、對應(yīng)的內(nèi)存塊的大小信息以及指向上一個物理中相鄰的內(nèi)存塊的地址的第一指針,且所述第二部分的內(nèi)存塊中還設(shè)有一個第二指針與第三指針,所述第二指針與第三指針分別指向空閑內(nèi)存鏈表中相鄰的上下兩塊空閑內(nèi)存塊的地址; (2)、等待接收請求; (3)、若接收到應(yīng)用程序需要分配內(nèi)存的請求,則逐一查看空閑內(nèi)存鏈表中是否存在比需要分配內(nèi)存大的空閑內(nèi)存塊,若存在則在此空閑內(nèi)存塊中分配出請求所需的內(nèi)存塊,若此空閑內(nèi)存塊分配出請求所需的內(nèi)存后所剩的空閑內(nèi)存小于信息節(jié)點頭所需內(nèi)存,則將所剩的空閑內(nèi)存也分配給請求的應(yīng)用程序,并且修改原先在空閑內(nèi)存鏈表中與這個分配出去的內(nèi)存塊相鄰的兩個空閑內(nèi)存塊的第二指針與第三指針,然后在分配出去的內(nèi)存塊上增加對應(yīng)的信息節(jié)點頭,同時統(tǒng)計當(dāng)前內(nèi)存信息,存入統(tǒng)計信息,然后返回步驟(2)繼續(xù)等待請求,若此空閑內(nèi)存塊分配出請求所需的內(nèi)存后所剩的空閑內(nèi)存不小于信息節(jié)點頭所需內(nèi)存,則修改此空閑內(nèi)存塊的信息節(jié)點頭,然后在分配出去的內(nèi)存塊上增加對應(yīng)的信息節(jié)點頭,同時統(tǒng)計當(dāng)前內(nèi)存信息,存入統(tǒng)計信息,然后返回步驟(2)繼續(xù)等待請求;若不存在則返回步驟(2)繼續(xù)等待請求,同時記錄分配失敗,存入統(tǒng)計信息; 若接收到應(yīng)用程序需要釋放內(nèi)存的請求,首先檢測需要釋放的內(nèi)存塊的信息節(jié)點頭是否合法,若檢測到信息節(jié)點頭非法則統(tǒng)計非法原因且同時顯示非法原因;若檢測到信息節(jié)點頭合法,則根據(jù)釋放的內(nèi)存塊的信息節(jié)點頭中的第一指針將釋放的內(nèi)存塊插入到物理內(nèi)存塊中,并且判斷是否需要進(jìn)行合并,然后返回步驟(2)繼續(xù)等待請求; 若接收到用戶查看統(tǒng)計信息的請求時,導(dǎo)出當(dāng)前的統(tǒng)計信息,然后返回步驟(2)繼續(xù)等待請求。
2.根據(jù)權(quán)利要求1所述一種動態(tài)內(nèi)存分配方法,其特征在于:步驟(3)所述的檢測需要釋放的內(nèi)存的信息節(jié)點頭是否合法包括以下步驟: 檢測需要釋放的內(nèi)存塊的信息節(jié)點頭中的使用狀態(tài)信息,若使用狀態(tài)信息為未使用,則判斷信息節(jié)點頭非法;若使用狀態(tài)信息為使用,則判斷信息節(jié)點頭合法; 檢測需要釋放的內(nèi)存塊的信息節(jié)點頭,然后檢測與釋放的內(nèi)存塊相鄰的前物理內(nèi)存塊的信息節(jié)點頭,若前物理內(nèi)存塊的地址加上8個字節(jié)再加上前物理內(nèi)存塊的大小等于釋放的內(nèi)存塊的地址,則判斷釋放的內(nèi)存塊的信息節(jié)點頭合法;若不等,則判斷釋放的內(nèi)存塊的信息節(jié)點頭不合法; 檢測需要釋放的內(nèi)存塊 的信息節(jié)點頭,然后檢測與釋放的內(nèi)存塊相鄰的后物理內(nèi)存塊的信息節(jié)點頭,若釋放的內(nèi)存塊的地址加上8個字節(jié)再加上釋放的內(nèi)存塊的大小等于后物理內(nèi)存塊的地址,則判斷釋放的內(nèi)存塊的信息節(jié)點頭合法;若不等,則判斷釋放的內(nèi)存的信息節(jié)點頭不合法。
3.根據(jù)權(quán)利要求1所述的一種動態(tài)內(nèi)存分配方法,其特征在于:所述步驟(3)中判斷是否需要進(jìn)行合并是指:首先檢測與釋放的內(nèi)存塊相鄰的前后兩個物理內(nèi)存塊是否空閑,若釋放的內(nèi)存塊的前物理內(nèi)存塊空閑,則將釋放的內(nèi)存塊與前物理內(nèi)存塊合并,并且刪除釋放的內(nèi)存塊的信息節(jié)點頭并且修改前物理內(nèi)存塊的信息節(jié)點頭;若釋放的內(nèi)存塊的后物理內(nèi)存塊空閑,則將釋放的內(nèi)存塊與后物理內(nèi)存塊合并,并且刪除后物理內(nèi)存塊的信息節(jié)點頭且修改釋放的內(nèi)存塊的信息節(jié)點頭;若釋放的內(nèi)存塊的前后物理內(nèi)存塊均空閑,即將釋放的內(nèi)存塊與前后物理內(nèi)存塊合并,并且刪除釋放的內(nèi)存塊以及后物理內(nèi)存塊的信息節(jié)點頭且修改前物理內(nèi)存塊的信息節(jié)點頭;若釋放的內(nèi)存塊的前后物理內(nèi)存塊均不空閑,則不做修改,直接插入,并且將釋放的內(nèi)存塊根據(jù)內(nèi)存大小插入到空閑內(nèi)存鏈表中,并且根據(jù)插入的位置設(shè) 置一個第二指針與第三指針。
【文檔編號】G06F12/02GK103984639SQ201410175791
【公開日】2014年8月13日 申請日期:2014年4月29日 優(yōu)先權(quán)日:2014年4月29日
【發(fā)明者】鄭堅江, 陳杰, 劉寧 申請人:寧波三星電氣股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
榕江县| 呼伦贝尔市| 文成县| 高平市| 潍坊市| 柞水县| 松阳县| 监利县| 滁州市| 武定县| 连山| 乌审旗| 安陆市| 彰化县| 北辰区| 昆山市| 十堰市| 西华县| 武冈市| 贵溪市| 淮南市| 中卫市| 称多县| 湖州市| 新龙县| 大兴区| 个旧市| 阜康市| 霞浦县| 甘泉县| 青阳县| 凤阳县| 环江| 湟中县| 新疆| 桐梓县| 交城县| 宁都县| 曲沃县| 太仓市| 太仓市|