国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

離散分配式存儲管理

2015-05-30 00:30趙剛
中華建設科技 2015年7期
關鍵詞:頁表存儲管理內(nèi)存

趙剛

【摘 要】該文提出了一種不連續(xù)分配內(nèi)存的方式——分頁式存儲管理,并且討論了它的基本思想和地址轉(zhuǎn)換,最后提出了該存儲管理的缺點。

【關鍵詞】分頁式存儲管理;物理地址;邏輯地址;地址重定位;頁表;快表

【Abstract】This paper proposes a way to allocate memory discrete - page memory management, and discusses its basic ideas and address translation. Finally, the shortcomings of the storage management.

【Key words】Page memory management;Physical address;Logical address;The relocation;Page table;Fast table

存儲管理是操作系統(tǒng)五大功能之一,是操作系統(tǒng)的重要課題。在存儲管理中,連續(xù)分配方式會產(chǎn)生許多“碎片”,而這些“碎片”空間很小,無法容納相關作業(yè)。通常通過“緊湊”方法,移動程序可以將許多“碎片”拼接成可用的大塊空間,但是通過“緊湊”方法,移動程序增加了系統(tǒng)的開銷。如果允許將作業(yè)直接分散地裝入到許多不相鄰、不連續(xù)的分區(qū)中,則無須再進行“緊湊”。基于這一思想而產(chǎn)生了離散分配方式,分頁式存儲管理就是其中的一種。

1. 分頁式存儲管理的基本思想

物理地址是內(nèi)存儲器中的實際有效地址,邏輯地址用是戶程序中使用的地址,也就是訪內(nèi)指令給出的地址叫邏輯地址。

1.1 分頁存儲管理允許把一個作業(yè)存放到若干不相鄰、不連續(xù)的分區(qū)中,這樣既可免去移動信息所造成的系統(tǒng)開銷,又可盡量減少內(nèi)存產(chǎn)生碎片,其基本思想是:

(1)把物理地址空間分成大小相等的許多分區(qū),每個分區(qū)稱為“塊”或“幀”,每個塊有一個編號,從“0”開始編號,塊是存儲分配的單元;

(2)按塊的大小把邏輯地址空間分成許多“頁”,從“0”開始編號;

(3)邏輯地址形式: 作業(yè)的邏輯地址與一個數(shù)對(頁號,頁內(nèi)位移)一一對應;

(4)采用分頁式存儲管理,作業(yè)一次性全部裝入內(nèi)存,作業(yè)進入內(nèi)存時其連續(xù)的頁面可以裝入內(nèi)存中不相鄰、不連續(xù)的塊中,只要內(nèi)存有空閑塊,作業(yè)的某一頁可以放到內(nèi)存任一空閑塊。

1.2 例如:用戶作業(yè)A的大小為3KB,內(nèi)存塊的大小為1KB,當作業(yè)提交給系統(tǒng)后被分成了3頁,如圖1(a)所示,根據(jù)圖1(c)頁表(頁與塊的對應關系),作業(yè)A被裝進了內(nèi)存不相鄰、不連續(xù)塊中,如圖1(b)所示。

2. 頁面的大小

在分頁存儲管理中的頁面的大小要適中。頁面如果太小,雖然可以使內(nèi)存碎片減小,減少了內(nèi)存碎片的總空間,有利于提高內(nèi)存利用率,但也會使每個作業(yè)占用較多的頁面,從而導致作業(yè)的頁表過長,占用大量內(nèi)存,此外,還會降低頁面換進換出的效率;頁面如果較大,雖然可以減少頁表的長度,提高頁面換進換出的速度,但卻又會使頁內(nèi)碎片增大,降低內(nèi)存利用率(分頁存儲管理的實現(xiàn)見圖1)。

3. 分頁式存儲管理的地址轉(zhuǎn)換

3.1 頁表與快表。

(1)分頁系統(tǒng)中,將作業(yè)的各個頁面離散地存儲在內(nèi)存不連續(xù)的物理塊中,系統(tǒng)應能保證進程的正確運行,即能在內(nèi)存中找到每個頁面所對應的物理塊。為此,系統(tǒng)為每個作業(yè)建立了一張頁面映像表,簡稱頁表。配置了頁表后,作業(yè)執(zhí)行時,通過查找頁表,找到每頁在內(nèi)存中的物理塊號。頁表的作用是實現(xiàn)從頁號到物理塊號的地址映射。

(2)由于頁表是存放在內(nèi)存中,CPU在每存取一個數(shù)據(jù)時,都要兩次訪問內(nèi)存。第一次是訪問內(nèi)存中的頁表,從中找到指定頁的物理塊號,再將塊號與頁內(nèi)位移拼接,以形成物理地址。第二次訪問內(nèi)存時,才是從第一次所得地址中獲得所需數(shù)據(jù)(或向此地址中寫入數(shù)據(jù))。因此,采用這種方式將降低CPU訪問速度,增加了系統(tǒng)在存儲上的開銷。為了提高地址變換速度,可在地址變換機構(gòu)中增設一個具有并行查尋能力的特殊高速緩沖寄存器,又稱為“聯(lián)想寄存器”(Associative Memory),或稱為“快表”,地址變換過程是:在CPU給出有效地址后,由地址變換機構(gòu)自動地將頁號送入高速緩沖寄存器,并將此頁號與高速緩存中的所有頁號進行比較,若其中有與此相匹配的頁號,便表示所要訪問的頁表項在快表中。于是,可直接從快表中讀出該頁所對應的物理塊號,并送到物理地址寄存器中。如在塊表中未找到對應的頁表項,則還須再訪問內(nèi)存中的頁表,找到后,把從頁表項中讀出的物理塊號送地址寄存器,同時,再將此頁表項存入快表的一個寄存器單元中,重新修改快表。

3.2 地址重定位。

地址重定位指把目標程序中的邏輯地址轉(zhuǎn)換成主存空間的物理地址,分頁式存儲管理采用的是動態(tài)重定位,程序在執(zhí)行時過程中動態(tài)完成地址重定位,需要硬件的支持,地址轉(zhuǎn)換過程如下:

(1)作業(yè)的邏輯地址轉(zhuǎn)換成頁號,頁內(nèi)位移兩部分,頁號=邏輯地址/塊尺寸,頁內(nèi)位移=邏輯地址%塊尺寸(“/”是整除運算符,“%”是求余運算符);

(2)以頁號為索引去檢索頁表,在執(zhí)行檢索之前,先將頁號與頁表長度進行比較,如果頁號大于或等于頁表長度,表示本次所訪問的地址已超越作業(yè)的地址空間,系統(tǒng)將產(chǎn)生一個地址越界中斷,如果沒有出現(xiàn)越界錯誤,通過查找頁表,找到頁號對應的塊號;

(3)塊號*塊尺寸+頁內(nèi)位移得到物理地址,這樣完成從邏輯地址到物理地址的變換。

3.3 舉例分析。

3.3.1 分頁系統(tǒng)中內(nèi)存被劃分成4塊,每塊4KB,某作業(yè)的邏輯地址空間共劃分成4個頁面,當前頁與塊對應關系表(頁表)如表1所示,試求出對應于下列邏輯地址的物理地址:(a)4100(b)8300。(見表1)

3.3.2 解:(a)邏輯地址4100對應的頁號是:4100/4096=1 ,對應的頁內(nèi)位移是:4100%4096=4,用1去查頁表,知道第1頁現(xiàn)在存放在內(nèi)存的第1塊,第1塊的起始地址為4096(4KB),因此,邏輯地址4100所對應的物理地址是:4096+4=4100;

(b)虛擬地址8300對應的頁號是:8300/4096=2,對應的頁內(nèi)位移是:8300%4096=108,用2去查頁表,知道第2頁現(xiàn)在存放在內(nèi)存的第6塊,第6塊的起始地址為6×4K=24576,因此,邏輯地址8300所對應的物理地址是24576+108=24684。

4. 分頁式存儲管理的缺點

(1)分頁式存儲管理中,作業(yè)的最后一頁大小可能與內(nèi)存塊大小不吻合,會產(chǎn)生內(nèi)部碎片,浪費內(nèi)存空間;

(2)分頁式存儲管理中,作業(yè)需要一次性全部裝入內(nèi)存,當作業(yè)尺寸大于內(nèi)存剩余空間時,作業(yè)無法進入內(nèi)存運行,因此,分頁式存儲管理不具備虛擬存儲技術。

參考文獻

[1] 宗大華, 宗濤, 陳吉人. 操作系統(tǒng)[M].3版.北京: 人民郵電出版社, 2011: 57~66.

[2] 張堯?qū)W, 史美林.計算機操作系統(tǒng)教程[M]. 北京: 清華大學出版社, 1993.

[文章編號]1619-2737(2015)07-29-027

猜你喜歡
頁表存儲管理內(nèi)存
更正
作者更正
外部高速緩存與非易失內(nèi)存結(jié)合的混合內(nèi)存體系結(jié)構(gòu)特性評測
勘 誤
“春夏秋冬”的內(nèi)存
更正
一種衛(wèi)星數(shù)據(jù)廣播系統(tǒng)端站存儲管理方案設計
文檔存儲管理系統(tǒng)的設計
淺析計算機虛擬化儲存管理
省級氣象數(shù)據(jù)文件共享存儲管理系統(tǒng)研究