亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

內(nèi)存分配、中斷消息處理的方法和裝置的制作方法

文檔序號:6358119閱讀:142來源:國知局
專利名稱:內(nèi)存分配、中斷消息處理的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于計算機存儲控制領(lǐng)域,涉及計算機存儲控制領(lǐng)域,尤其涉及一種內(nèi)存分配、中斷消息處理的方法和裝置。
背景技術(shù)
現(xiàn)有技術(shù)對隊列的操作都按照FIFO (先進先出)的方式來進行,即只在隊列的隊首進行刪除,在隊列的隊尾進行插入?,F(xiàn)有的中斷消息處理方式如下
當中斷觸發(fā)產(chǎn)生對應的中斷消息時,在內(nèi)存中為該中斷消息分配一個存儲空間; 把該中斷消息加入待處理的消息隊列中; 消息處理完后,釋放掉該中斷消息所占用的內(nèi)存空間。中斷消息包括按鍵消息、優(yōu)盤插入消息、優(yōu)盤拔出消息、SD (Secure Digital Memory Card,安全數(shù)碼卡)卡插入消息、SD卡拔出消息、復位消息。中斷消息都是比較簡潔的代碼,占據(jù)的內(nèi)存空間不大。如圖1所示,內(nèi)存中存儲有文件A、中斷消息B。文件C要存入內(nèi)存時,由于內(nèi)存空間D無法存儲文件C,所以文件C存儲在內(nèi)存空間E。內(nèi)存空間D就成了不可用的空閑內(nèi)存, 即通常所述的內(nèi)存碎片??臻e內(nèi)存以小而不連續(xù)方式出現(xiàn)在不同的位置。如果內(nèi)存中碎片過多,會降低計算機的運行速度。

發(fā)明內(nèi)容
本發(fā)明的實施例提供一種內(nèi)存分配、中斷消息處理的方法和裝置,達到減少內(nèi)存碎片的目的。為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案 一種內(nèi)存分配的方法,包括
在內(nèi)存中,為中斷消息分配消息存儲空間; 將消息存儲空間分成至少兩段連續(xù)的消息存儲單元; 在內(nèi)存中,為消息存儲單元分配地址存儲空間; 將消息存儲單元的地址保存到地址存儲空間; 構(gòu)造空的處理隊列用來接收存放中斷消息。一種中斷消息處理的方法,包括
接收中斷消息,并判斷地址存儲空間中是否有空閑地址單元; 如果地址存儲空間中有空閑地址單元,則將中斷消息保存到消息存儲單元; 將所述消息存儲單元的地址保存到處理隊列; 在地址存儲空間中,清除所述消息存儲單元的地址。一種內(nèi)存分配的裝置,包括
消息存儲空間分配模塊用于在內(nèi)存中,為中斷消息分配消息存儲空間;消息存儲單元劃分模塊用于將消息存儲空間分成至少兩段連續(xù)的消息存儲單元; 地址存儲空間分配模塊用于在內(nèi)存中,為消息存儲單元分配地址存儲空間; 地址保存模塊用于將消息存儲單元的地址保存到地址存儲空間。一種中斷消息處理的方法,包括 接收模塊用于接收中斷消息;
第一判斷模塊用于判斷地址存儲空間中是否有空閑地址;
中斷消息保存模塊如果第一判斷模塊判斷地址存儲空間中有空閑地址,則將中斷消息保存到消息存儲單元;
第一保存模塊用于將所述消息存儲單元的地址保存到處理隊列; 地址清除模塊用于在地址存儲空間中,清除所述消息存儲單元的地址。本發(fā)明實施例提供的內(nèi)存分配、中斷消息處理的方法和裝置,通過在內(nèi)存中集中為中斷消息分配消息存儲空間,并將該消息存儲空間劃分為至少兩個消息存儲單元;避免內(nèi)存中某個區(qū)域由于被中斷消息占據(jù)后,該區(qū)域剩余部分分配不出去,導致產(chǎn)生內(nèi)存碎片的問題。本發(fā)明實施例為所述消息存儲單元分配地址存儲空間;通過消息存儲單元和地址存儲空間的循環(huán)使用,更有效的利用內(nèi)存空間,加快計算機的運行速度。


圖1為內(nèi)存中碎片產(chǎn)生的示意圖; 圖2為內(nèi)存分配的方法的流程圖3為中斷消息處理的方法的流程圖4為釋放處理隊列的流程圖5為本發(fā)明內(nèi)存分配的示意圖6為處理單個中斷消息時內(nèi)存的示意圖7為處理單個中斷消息時中斷消息處理完成后內(nèi)存的示意圖8為處理多個中斷消息時內(nèi)存的示意圖9為處理多個中斷消息時中斷消息處理完成后內(nèi)存的示意圖10為內(nèi)存分配的裝置結(jié)構(gòu)示意圖11為中斷信息處理的裝置結(jié)構(gòu)示意圖。
具體實施例方式為了解決內(nèi)存碎片過多影響計算機運算速度的問題,本發(fā)明提供一種內(nèi)存分配、 中斷消息處理的方法和裝置,下面將分別進行介紹。一種內(nèi)存分配的方法,如圖2所示,包括 步驟200,在內(nèi)存中,為中斷消息分配消息存儲空間。如圖5所示,在內(nèi)存中分配固定的消息存儲空間。步驟201,將消息存儲空間分成至少兩段連續(xù)的消息存儲單元。將所述消息存儲空間分成至少兩段連續(xù)的消息存儲單元,例如可分為10個消息存儲單元。由于中斷消息包括按鍵消息、移動存儲設(shè)備插入消息、移動存儲設(shè)備拔出消息和復位消息,移動存儲設(shè)備包括優(yōu)盤和安全數(shù)碼卡,且每一種中斷消息所占空間很少,故每一個單元的大小可根據(jù)需要進行分配,使每一個單元中可以存儲一個中斷消息。步驟202,在內(nèi)存中,為消息存儲單元分配地址存儲空間。步驟203,將消息存儲單元的地址保存到地址存儲空間。每一個消息存儲單元擁有一個確定的地址,將消息存儲單元的地址保存到地址存儲空間,例如,如圖5所示,消息存儲單元1到10的地址對應保存到地址存儲空間A J中, 消息存儲單元的地址與A^J地址存儲空間的對應關(guān)系如圖5所示。處理器可根據(jù)該地址搜索到對應消息存儲單元,并獲取其中所保存的中斷消息。根據(jù)所分配固定的消息存儲單元和地址存儲空間,在處理中斷消息時,將中斷消息存儲到固定的位置,從而減少因在內(nèi)存中隨機存儲中斷消息而產(chǎn)生的內(nèi)存碎片。步驟204,構(gòu)造空的處理隊列接收存放中斷消息??盏奶幚黻犃泻拖⒌刂反鎯臻g的大小可以根據(jù)消息存儲空間的大小而改變, 例如,當消息存儲空間的大小定義為N時,消息地址存儲隊列和處理隊列的最大值也為N, 因為存儲空間的地址只能在兩個隊列間循環(huán)存儲,所以,消息地址存儲隊列和處理隊列元素的總和為N。為提高利用內(nèi)存空間的處理中斷消息的效率,加快計算機的運行速度,如圖3所示,本發(fā)明提出一種中斷消息處理的方法,包括
步驟300,接收中斷消息。當發(fā)生中斷時,處理器接收到該中斷消息。步驟301,判斷地址存儲空間中是否有空閑地址。處理器判斷在地址存儲空間中,是否存在未使用的消息存儲單元的地址,即可確定消息存儲單元中是否存在可用的空間來存儲中斷消息,例如地址存儲空間A中存有消息存儲單元1的地址0x81658DA8,即可確定消息存儲單元1可保存中斷消息。步驟302,如果地址存儲空間中有空閑地址,將中斷消息保存到消息存儲單元。當確定地址存儲空間中有空閑地址時,如圖6所示,處理器將接收到的中斷消息保存到消息存儲單元中。如果地址存儲空間中無空閑地址,則可確定所有消息存儲單元正在用于中斷消息的處理,此時無法將處理器所獲取的中斷消息保存到消息存儲單元中,則將該中斷消息丟棄。步驟303,將所述消息存儲單元的地址保存到處理隊列。將中斷消息存儲到消息存儲單元后,地址存儲空間將存儲該中斷消息的消息存儲單元的地址保存到處理隊列中,如將中斷消息存儲到消息存儲單元1中,并將地址存儲空間A中所保存的消息存儲單元1的地址0x81657DA8存儲到處理隊列中。步驟304,在地址存儲空間中,清除所述消息存儲單元的地址。當消息存儲單元的地址保存到處理隊列后,將地址存儲空間中所保存的該地址清除,并將余下的地址向隊首推送。處理器對處理隊列進行掃描,當發(fā)現(xiàn)處理隊列中存儲有消息存儲單元的地址時,則根據(jù)中斷消息的類型,對中斷進行相應處理,例如當中斷消息為按鍵消息時,則處理器獲取所輸入的按鍵內(nèi)容。步驟400,判斷所述中斷消息是否處理完畢。處理器判斷是否處理完隊首的中斷消息。
6
步驟401,如果中斷消息處理完畢,將所述中斷消息對應的消息存儲單元的地址保存到地址存儲空間隊尾。當完成中斷消息的處理后,將消息存儲單元的地址存儲至地址存儲空間的隊尾, 進行循環(huán)使用,例如,如圖7所示,將消息存儲單元1的地址保存到地址存儲空間隊尾處。步驟402,處理隊列釋放所述消息存儲單元的地址。當?shù)刂芬汛娣诺降刂反鎯臻g的隊尾后,釋放處理隊列中所述消息存儲單元的地址,即完成對于該中斷消息的處理。消息存儲單元中所存儲的中斷消息并不釋放,當下次需要使用該消息存儲單元時,直接將前一中斷消息覆蓋。此時如果再次發(fā)生中斷,則將中斷消息存儲至消息存儲單元2中,將對應的地址存儲空間B中所存儲的消息存儲單元2的地址0x81657DB8存儲至處理隊列的隊首,通過處理器對中斷消息進行處理。當?shù)刂反鎯臻gf J都被使用過一次后,則下一個中斷消息將存儲到消息存儲單元1中,并再次將地址存儲空間A中所存儲的消息存儲單元1的地址 0x81657DA8保存到處理隊列,等待處理器進行中斷處理,以此方式循環(huán)使用消息存儲單元和地址存儲空間,完成對于中斷消息的處理。當同時有多個中斷需要同時進行處理時,如圖8所示,地址存儲空間按順序?qū)⒍鄠€消息存儲單元的地址存儲到處理隊列中,即處理器通過對于處理隊列的掃描便可知有多個中斷消息需要處理,例如處理隊列中保存有消息存儲單元廣4的地址;處理器根據(jù)處理隊列中所存儲的消息存儲單元的地址,從處理隊列的隊首到隊尾逐個處理消息存儲單元中所對應的中斷消息,并將已完成處理的消息存儲空間的地址添加到地址存儲空間的隊尾, 如圖9所示。與上述一種內(nèi)存分配、中斷消息處理的方法相對應,本發(fā)明還提供了一種內(nèi)存分配、中斷消息處理的裝置。一種內(nèi)存分配的裝置,如圖10所示,包括
消息存儲空間分配模塊用于在內(nèi)存中,為中斷消息分配消息存儲空間; 消息存儲單元劃分模塊用于將消息存儲空間分成至少兩段連續(xù)的消息存儲單元; 地址存儲空間分配模塊用于在內(nèi)存中,為消息存儲單元分配地址存儲空間; 地址保存模塊用于將消息存儲單元的地址保存到地址存儲空間。一種中斷消息處理的裝置,如圖11所示,包括 接收模塊用于接收中斷消息;
第一判斷模塊用于判斷地址存儲空間中是否有空閑地址;
中斷消息保存模塊如果第一判斷模塊判斷地址存儲空間中有空閑地址,則將中斷消息保存到消息存儲單元;
丟棄模塊如果第一判斷模塊判斷地址存儲空間中沒有空閑地址,則丟棄中斷消息。第一保存模塊用于將所述消息存儲單元的地址保存到處理隊列; 地址清除模塊用于在地址存儲空間中,清除所述消息存儲單元的地址。第二判斷模塊用于判斷所述中斷消息是否處理完畢;
第二保存模塊如果第二判斷模塊判斷中斷消息處理完畢,將所述中斷消息對應的消息存儲單元的地址保存到地址存儲空間隊尾;
釋放模塊用于處理隊列釋放所述消息存儲單元的地址。
所述中斷消息,包括按鍵消息、移動存儲設(shè)備插入消息、移動存儲設(shè)備拔出消息和復位消息,其中,移動存儲設(shè)備包括優(yōu)盤和安全數(shù)碼卡。本發(fā)明實施例提供的內(nèi)存分配、中斷消息處理的方法和裝置,通過在內(nèi)存中集中為中斷消息分配消息存儲空間,并將該消息存儲空間劃分為至少兩個消息存儲單元,避免了內(nèi)存中某個區(qū)域由于被中斷消息占據(jù)后,該區(qū)域剩余部分分配不出去,導致產(chǎn)生內(nèi)存碎片的問題,為所述消息存儲單元分配地址存儲空間;通過消息存儲單元和地址存儲空間的循環(huán)使用,更有效的利用內(nèi)存空間,加快計算機的運行速度。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以所述權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種內(nèi)存分配的方法,其特征在于,包括 在內(nèi)存中,為中斷消息分配消息存儲空間;將消息存儲空間分成至少兩段連續(xù)的消息存儲單元; 在內(nèi)存中,為消息存儲單元分配地址存儲空間; 將消息存儲單元的地址保存到地址存儲空間; 構(gòu)造空的處理隊列用來接收存放中斷消息。
2.—種中斷消息處理的方法,其特征在于,包括接收中斷消息,并判斷地址存儲空間中是否有空閑地址單元; 如果地址存儲空間中有空閑地址單元,則將中斷消息保存到消息存儲單元; 將所述消息存儲單元的地址保存到處理隊列; 在地址存儲空間中,清除所述消息存儲單元的地址。
3.根據(jù)權(quán)利要求2所述的中斷消息處理的方法,其特征在于,包括 如果地址存儲空間沒有空閑地址單元,則丟棄中斷消息。
4.根據(jù)權(quán)利要求2所述的中斷消息處理的方法,其特征在于,還包括 判斷所述中斷消息是否處理完畢;如果中斷消息處理完畢,將所述中斷消息對應的消息存儲單元的地址保存到地址存儲空間隊尾;處理隊列釋放所述消息存儲單元的地址。
5.根據(jù)權(quán)利要求2所述的中斷消息處理的方法,其特征在于,所述中斷消息,包括按鍵消息、移動存儲設(shè)備插入消息、移動存儲設(shè)備拔出消息和復位消息。
6.一種內(nèi)存分配的裝置,其特征在于,包括消息存儲空間分配模塊用于在內(nèi)存中,為中斷消息分配消息存儲空間; 消息存儲單元劃分模塊用于將消息存儲空間分成至少兩段連續(xù)的消息存儲單元; 地址存儲空間分配模塊用于在內(nèi)存中,為消息存儲單元分配地址存儲空間; 地址保存模塊用于將消息存儲單元的地址保存到地址存儲空間。
7.—種中斷消息處理的裝置,其特征在于,包括 接收模塊用于接收中斷消息;第一判斷模塊用于判斷地址存儲空間中是否有空閑地址;中斷消息保存模塊如果第一判斷模塊判斷地址存儲空間中有空閑地址,則將中斷消息保存到消息存儲單元;第一保存模塊用于將所述消息存儲單元的地址保存到處理隊列; 地址清除模塊用于在地址存儲空間中,清除所述消息存儲單元的地址。
8.根據(jù)權(quán)利要求7所述的中斷消息處理的裝置,其特征在于,包括丟棄模塊如果第一判斷模塊判斷地址存儲空間中沒有空閑地址,則丟棄中斷消息。
9.根據(jù)權(quán)利要求7所述的中斷消息處理的裝置,其特征在于,還包括 第二判斷模塊用于判斷所述中斷消息是否處理完畢;第二保存模塊如果第二判斷模塊判斷中斷消息處理完畢,則將所述中斷消息對應的消息存儲單元的地址保存到地址存儲空間隊尾;釋放模塊用于處理隊列釋放所述消息存儲單元的地址。
10.根據(jù)權(quán)利要求7所述的中斷消息處理的裝置,其特征在于,所述中斷消息,包括按鍵消息、移動存儲設(shè)備插入消息、移動存儲設(shè)備拔出消息和復位消息。
全文摘要
本發(fā)明公開了一種內(nèi)存分配、中斷消息處理的方法和裝置,屬于計算機存儲控制領(lǐng)域,解決了隊列使用中內(nèi)存碎片過多影響計算機運算速度的問題。一種內(nèi)存分配的方法,包括在內(nèi)存中,為中斷消息分配消息存儲空間;將消息存儲空間分成至少兩段連續(xù)的消息存儲單元;在內(nèi)存中,為消息存儲單元分配地址存儲空間;將消息存儲單元的地址保存到地址存儲空間;構(gòu)造空的處理隊列用來接收存放中斷消息。一種中斷消息處理的方法,包括接收中斷消息;判斷地址存儲空間中是否有空閑地址;如果地址存儲空間中有空閑地址,則將中斷消息保存到消息存儲單元;將所述消息存儲單元的地址保存到處理隊列;在地址存儲空間中,清除所述消息存儲單元的地址。
文檔編號G06F9/48GK102163176SQ20111009498
公開日2011年8月24日 申請日期2011年4月15日 優(yōu)先權(quán)日2011年4月15日
發(fā)明者熊中柱 申請人:漢王科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1