[發(fā)明專利]一種內(nèi)存管理方法和內(nèi)存管理系統(tǒng)無效
| 申請?zhí)枺?/td> | 200710127502.0 | 申請日: | 2007-06-28 |
| 公開(公告)號: | CN101075214A | 公開(公告)日: | 2007-11-21 |
| 發(fā)明(設(shè)計(jì))人: | 華有為 | 申請(專利權(quán))人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08 |
| 代理公司: | 北京德琦知識產(chǎn)權(quán)代理有限公司 | 代理人: | 羅正云;宋志強(qiáng) |
| 地址: | 518044廣東省深圳市*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 內(nèi)存 管理 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)應(yīng)用(Application)技術(shù)領(lǐng)域,更具體地說,本發(fā)明涉及一種內(nèi)存管理方法和內(nèi)存管理系統(tǒng)。
背景技術(shù)
當(dāng)前的常見的主流操作系統(tǒng)內(nèi)存管理方法主要包括:頁式、段式、段頁式三種。
在頁式管理中,將各進(jìn)程的虛擬空間劃分成若干個(gè)長度相等的頁(page),把內(nèi)存空間按頁的大小劃分成片或者頁面(page?frame),然后把頁式虛擬地址與內(nèi)存地址建立一一對應(yīng)頁表,并用相應(yīng)的硬件地址變換機(jī)構(gòu)來解決離散地址變換問題。
圖1為頁式管理的示范性示意圖。如圖1所示,在頁式管理中,主存分成多個(gè)固定大小的塊,作業(yè)按照主存塊大小分頁,并且連續(xù)的頁存放在離散的塊中。頁式管理采用請求調(diào)頁或預(yù)調(diào)頁技術(shù)實(shí)現(xiàn)了內(nèi)外存存儲器的統(tǒng)一管理,并且可以為內(nèi)存提供兩種方式的保護(hù)。一種是地址越界保護(hù),另一種是通過頁表控制對內(nèi)存信息的操作方式以提供保護(hù)。地址越界保護(hù)可由地址變換機(jī)構(gòu)中的控制寄存器的值和所要訪問的慮地址相比較完成,存取控制保護(hù)的實(shí)現(xiàn)則是在頁表中增加相應(yīng)的保護(hù)位即可。
段式管理的基本思想是把程序按內(nèi)容或過程(函數(shù))關(guān)系分成段,每段有自己的名字。一個(gè)用戶作業(yè)或進(jìn)程所包含的段對應(yīng)一個(gè)二維線形虛擬空間,也就是一個(gè)二維虛擬存儲器。段式管理程序以段為單位分配內(nèi)存,然后通過地址影射機(jī)構(gòu)把段式虛擬地址轉(zhuǎn)換為實(shí)際內(nèi)存物理地址。
圖2為段式管理的示范性示意圖。段式管理為用戶提供了一個(gè)二維的虛地址空間,反映了程序的邏輯結(jié)構(gòu),有利于段的動(dòng)態(tài)增長以及共享和內(nèi)存保護(hù)等,這大大地方便了用戶。而分頁系統(tǒng)則有效地克服了碎片,提高了存儲器的利用率。從存儲管理的目的來講,主要是方便用戶的程序設(shè)計(jì)和提高內(nèi)存的利用率。
分頁是信息的物理單位,與源程序的邏輯結(jié)構(gòu)無關(guān),用戶不可見。頁長由系統(tǒng)確定,頁面只能以頁大小的整倍數(shù)地址開始。在分頁方式中,源程序(頁號,頁內(nèi)位移)經(jīng)連結(jié)裝配后變成了一維結(jié)構(gòu)。分段是信息的邏輯單位,由源程序的邏輯結(jié)構(gòu)所決定,用戶可見,段長可根據(jù)用戶需要來規(guī)定,段起始地址可以從任何主存地址開始。在分段方式中,源程序(段號,段內(nèi)位移)經(jīng)連結(jié)裝配后仍保持二維結(jié)構(gòu)。
段頁式管理方式將段式管理和頁式管理結(jié)合起來。不過,由于段式管理與頁式管理都需要較大的系統(tǒng)開銷,可以預(yù)計(jì)到段頁式管理的開銷會更大。因此段頁式管理方式一般只用在大型機(jī)系統(tǒng)中。近年來由于硬件發(fā)展很快,段頁式管理的開銷在工作站等機(jī)型上已變得可以容忍了。為了實(shí)現(xiàn)段頁式管理,系統(tǒng)必須為每個(gè)作業(yè)或進(jìn)程建立一張段表以管理內(nèi)存分配與釋放、缺段處理、存儲保護(hù)相地址變換等。另外,由于一個(gè)段又被劃分成了若干頁,每個(gè)段又必須建立一張頁表以把段中的虛頁變換成內(nèi)存中的實(shí)際頁面。顯然,與頁式管理時(shí)相同,頁表中也要有相應(yīng)的實(shí)現(xiàn)缺頁中斷處理和頁面保護(hù)等功能的表項(xiàng)。另外,由于在段頁式管理中,頁表不再是屬于進(jìn)程而是屬于某個(gè)段,因此,段表中應(yīng)有專項(xiàng)指出該段所對應(yīng)頁表的頁表始址和頁表長度。總之,因?yàn)槎雾撌焦芾硎嵌问焦芾淼捻撌焦芾矸桨附Y(jié)合而成的,所以具有它們二音的優(yōu)點(diǎn)。但反過來說,由于管理軟件的增加,復(fù)雜性和開銷也就隨之增加了。另外,需要的硬件以及占用的內(nèi)存也有所增加。更重要的是,如果不采用聯(lián)想寄存器的方式提高CPU的訪內(nèi)速度,將會使得執(zhí)行速度大大下降。
在段頁式管理方式中,用頁式方法來分配和管理內(nèi)存空間,即把內(nèi)存劃分成若干大小相等的頁面;用段式方法對用戶程序按照其內(nèi)在的邏輯關(guān)系劃分成若干段;再按照劃分內(nèi)存頁面的大小,把每一段劃分成若干大小相等的頁面;用戶程序的邏輯地址由三部分組成,形式如下:段號、頁號、頁內(nèi)地址;內(nèi)存是以頁為基本單位分配給每個(gè)用戶程序的,在邏輯上相鄰的頁面內(nèi)存不一定相鄰。
現(xiàn)有技術(shù)的段頁式內(nèi)存管理中存在動(dòng)態(tài)的內(nèi)存分配與釋放。根據(jù)操作系統(tǒng)原理,伴隨分配次數(shù)的增加以及分配大小的不確定性,動(dòng)態(tài)的內(nèi)存分配與釋放中總會有空閑的內(nèi)存塊由于大小不合適而被擱置,因此這種現(xiàn)有的內(nèi)存管理方式難以消除內(nèi)存碎片,并在內(nèi)存管理中始終存在內(nèi)存碎片。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例的主要目的是提出一種內(nèi)存管理方法,以消除內(nèi)存管理中的內(nèi)存碎片。
本發(fā)明實(shí)施例的另一目的是提出一種內(nèi)存管理系統(tǒng),以消除內(nèi)存管理中的內(nèi)存碎片。
本發(fā)明實(shí)施例的再一目的是提出一種內(nèi)存使用方法,以無碎片地使用內(nèi)存。
為達(dá)到上述目的,本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
一種內(nèi)存管理方法,該方法包括預(yù)先分配固定大小的內(nèi)存空間,該方法還包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于騰訊科技(深圳)有限公司,未經(jīng)騰訊科技(深圳)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710127502.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





