段頁(yè)式存儲(chǔ)管理地址轉(zhuǎn)換例題 在操作系統(tǒng)中,如何理解分頁(yè)、分段的定義?兩者之間的區(qū)別又是什么?
在操作系統(tǒng)中,如何理解分頁(yè)、分段的定義?兩者之間的區(qū)別又是什么?分頁(yè)是將進(jìn)程的邏輯地址空間劃分為幾個(gè)大小相等的片(即頁(yè)),然后將它們加載到內(nèi)存中。分段意味著用戶可以根據(jù)邏輯關(guān)系將其作業(yè)劃分為多個(gè)分段。
在操作系統(tǒng)中,如何理解分頁(yè)、分段的定義?兩者之間的區(qū)別又是什么?
分頁(yè)是將進(jìn)程的邏輯地址空間劃分為幾個(gè)大小相等的片(即頁(yè)),然后將它們加載到內(nèi)存中。
分段意味著用戶可以根據(jù)邏輯關(guān)系將其作業(yè)劃分為多個(gè)分段。每個(gè)段從0開(kāi)始尋址,并有自己的名稱和長(zhǎng)度。這相當(dāng)于主功能段、子功能段、數(shù)據(jù)段、堆棧段等。
您應(yīng)該知道,在引入分頁(yè)和分段之前,內(nèi)存是通過(guò)連續(xù)分配來(lái)管理的,也就是說(shuō),一個(gè)進(jìn)程是連續(xù)存儲(chǔ)在內(nèi)存中的。
可以理解,內(nèi)存中有進(jìn)程1、2、3。進(jìn)程2首先執(zhí)行,然后釋放它占用的內(nèi)存空間。之后,
如果新傳輸?shù)倪M(jìn)程的內(nèi)存需求大于前2個(gè)進(jìn)程的內(nèi)存需求,則無(wú)法使用此內(nèi)存。與內(nèi)存需求較大的進(jìn)程相比,前兩個(gè)進(jìn)程占用的內(nèi)存空間是一個(gè)無(wú)法使用的碎片,如果新傳輸?shù)倪M(jìn)程的內(nèi)存需求小于前兩個(gè)進(jìn)程的內(nèi)存需求,前兩個(gè)進(jìn)程占用的空間將留下間隙并帶來(lái)碎片。
雖然“緊湊”的方法可以用于碎片整理,但是成本很高,這導(dǎo)致了離散分配模式,與連續(xù)分配模式相反,分頁(yè)和分段存儲(chǔ)管理也相繼引入。
所以相同的一點(diǎn)是,它們都屬于內(nèi)存管理模式中的離散分配模式。它們都需要通過(guò)地址映射機(jī)制實(shí)現(xiàn)地址轉(zhuǎn)換。
區(qū)別在于離散分配的基本單位是頁(yè)或段。
頁(yè)是信息的物理單位,段是信息的邏輯單位。
分頁(yè)作業(yè)地址空間是一維和線性的,程序員只需要使用助記符來(lái)表示地址;分段作業(yè)地址空間是二維的,程序員在表示地址時(shí)需要同時(shí)給出段名稱和段中的地址。其中,段名可以理解為函數(shù)名,段中的地址可以理解為程序變量的地址。
值得一提的是,頁(yè)面大小應(yīng)與物理塊或頁(yè)面幀相同,并且物理塊由操作系統(tǒng)設(shè)置。也就是說(shuō),在安裝操作系統(tǒng)之后,物理塊的大小是固定的,因此頁(yè)的大小也是固定的。段的長(zhǎng)度是可變的。
引入分頁(yè)存儲(chǔ)管理的目的是提高內(nèi)存利用率,而引入分段存儲(chǔ)的目的是滿足用戶(程序員)編程和使用的需求。還有一個(gè)將兩者結(jié)合起來(lái)的段頁(yè)系統(tǒng)。
在具有塊表的段頁(yè)式存儲(chǔ)管理方式中,如何實(shí)現(xiàn)地址變換?
實(shí)現(xiàn)方案如下:首先設(shè)置段表寄存器,其中存儲(chǔ)段表起始地址和段長(zhǎng)SL。在地址轉(zhuǎn)換過(guò)程中,段號(hào)s用于與段長(zhǎng)sl進(jìn)行比較。如果s<SL,則表示它沒(méi)有越過(guò)邊界,則段表起始地址和段號(hào)用于找出段表中與段相對(duì)應(yīng)的段表?xiàng)l目的位置,頁(yè)表從該位置開(kāi)始獲取該段的起始地址,利用邏輯地址中的頁(yè)碼P獲取相應(yīng)頁(yè)的頁(yè)表?xiàng)l目位置,從中讀出頁(yè)所在的物理塊號(hào)b,然后由塊號(hào)b和頁(yè)地址構(gòu)成物理地址。在帶fast表的段頁(yè)存儲(chǔ)管理模式中,段表和頁(yè)表放在fast表中。每次訪問(wèn)快速表時(shí),使用段號(hào)和頁(yè)碼訪問(wèn)快速表。如果找到匹配項(xiàng),則可以從中獲得相應(yīng)的物理塊號(hào),用于與行業(yè)地址一起生成物理地址。如果找不到匹配項(xiàng),則需要訪問(wèn)內(nèi)存三次以獲取物理塊號(hào),并將其復(fù)制到速度表中。當(dāng)fast表已滿時(shí),最長(zhǎng)時(shí)間未被訪問(wèn)的項(xiàng)將被適當(dāng)?shù)乃惴ㄌ鎿Q。