软考总结——虚存管理
存儲(chǔ)管理是操作系統(tǒng)的重要職能之中的一個(gè),主要任務(wù)是對(duì)內(nèi)存空間進(jìn)行分配與回收。
因?yàn)橛?jì)算機(jī)內(nèi)存容量有限(如今一般都是32位或64位系統(tǒng)),而外存儲(chǔ)設(shè)備的容量增長(zhǎng)速度很快,比如移動(dòng)硬盤(pán)已經(jīng)到了T的級(jí)別,這時(shí)假設(shè)要訪問(wèn)這塊兒移動(dòng)硬盤(pán)內(nèi)的大數(shù)據(jù),我們的計(jì)算機(jī)就有點(diǎn)力不從心了。
。。故在此基礎(chǔ)上發(fā)展了虛擬存儲(chǔ)系統(tǒng)。
?
虛存理念:利用有限資源盡可能的運(yùn)行大程序。對(duì)用戶(hù)程序和內(nèi)存進(jìn)行分塊,將用戶(hù)程序一塊塊拿到內(nèi)存中來(lái),一個(gè)運(yùn)行完后釋放內(nèi)存,下一個(gè)繼續(xù)運(yùn)行。
?
虛擬存儲(chǔ)通過(guò)將執(zhí)行進(jìn)程訪問(wèn)的地址(邏輯地址、虛擬地址)與主存的物理地址(實(shí)際地址)分開(kāi),從而使得提供大于物理地址的邏輯地址空間成為可能。
?
虛存管理的組織結(jié)構(gòu)例如以下圖示
????
1.頁(yè)式存儲(chǔ)組織
????
???????
????系統(tǒng)劃分,邏輯地址=頁(yè)號(hào)+頁(yè)內(nèi)地址。
????基本思想:內(nèi)存分為固定大小的頁(yè)。
??? 基本原理:將各進(jìn)程的虛擬空間劃分為若干個(gè)長(zhǎng)度相等的頁(yè),把內(nèi)存空間以與頁(yè)相等的大小劃分為大小相等的片或頁(yè)面。採(cǎi)用請(qǐng)求調(diào)頁(yè)或預(yù)調(diào)頁(yè)技術(shù)實(shí)現(xiàn)內(nèi)外存統(tǒng)一管理。
例:
????????已知程序邏輯地址為14位且前三位為011,頁(yè)面大小2K,採(cǎi)用頁(yè)式存儲(chǔ)。
??? 已知邏輯地址14位,每一個(gè)頁(yè)面2K=2^11,所以頁(yè)內(nèi)地址11位,頁(yè)號(hào)為3位。
又前三位為011變?yōu)槭M(jìn)制為3,相應(yīng)的物理塊號(hào)為b。地址變換步驟例如以下圖所看到的
???????
??????
??? 長(zhǎng)處:利用率高,產(chǎn)生的內(nèi)存碎片小,內(nèi)存間分配及管理簡(jiǎn)單。
??? 缺點(diǎn):要有對(duì)應(yīng)的硬件支持,添加了系統(tǒng)開(kāi)銷(xiāo)。
請(qǐng)求調(diào)頁(yè)的算法選擇不當(dāng),有可能產(chǎn)生抖動(dòng)現(xiàn)象。
2.段式存儲(chǔ)組織
????
從用戶(hù)角度劃分,邏輯地址=段號(hào)+段內(nèi)地址。
基本思想:程序按邏輯單位分成基本獨(dú)立的段。
基本原理:系統(tǒng)為每個(gè)作業(yè)建立一個(gè)段表。其內(nèi)容包含段號(hào)與內(nèi)存起始地址的相應(yīng)關(guān)系、段長(zhǎng)和狀態(tài)等。
???
??? 地址變換過(guò)程與頁(yè)式變換同理,例如以下圖所看到的
?????
長(zhǎng)處:便于多道程序共享內(nèi)存,便于對(duì)存儲(chǔ)器的保護(hù),各段程序改動(dòng)互不影響
缺點(diǎn):內(nèi)存利用率低。內(nèi)存碎片浪費(fèi)大。
?????
3.段頁(yè)式存儲(chǔ)組織
???
邏輯地址=基號(hào)+段號(hào)+頁(yè)號(hào)+頁(yè)內(nèi)地址
一個(gè)段表+一組頁(yè)表。
段頁(yè)式存儲(chǔ)組織是段式存儲(chǔ)組織和頁(yè)式存儲(chǔ)組織的組合。這樣能夠充分利用兩者的長(zhǎng)處,實(shí)存等分為頁(yè)。程序按邏輯模塊分成段。當(dāng)中,基號(hào)作為用戶(hù)標(biāo)志號(hào)存在。
????
地址變換過(guò)程公式:
????(((x)+s)+p)*2^n +d
當(dāng)中,X表示基號(hào),(x)表示基寄存器中地址為x的單元的內(nèi)容。S為段號(hào)。P表示頁(yè)號(hào),d表示頁(yè)內(nèi)地址。n表示頁(yè)內(nèi)地址的位數(shù)。
?長(zhǎng)處:空間浪費(fèi)小,存儲(chǔ)共享easy、存儲(chǔ)保護(hù)easy、能動(dòng)態(tài)連接。
缺點(diǎn):因?yàn)檐浖奶砑印?fù)雜性和開(kāi)銷(xiāo)添加。須要的硬件以及占用的內(nèi)存添加,運(yùn)行速度大大下降。
?
頁(yè)面置換算法(從要運(yùn)行的元素自身開(kāi)始算起)
在開(kāi)始頁(yè)面置換之前,要了解一個(gè)概念,頁(yè)面置換是相對(duì)缺頁(yè)現(xiàn)象來(lái)講的。缺頁(yè),簡(jiǎn)單的來(lái)理解,就是因?yàn)閷?shí)際主存是小于虛存的。因此可能會(huì)發(fā)生主存中已滿(mǎn),而要使用的頁(yè)不在主存中,這時(shí)就會(huì)出現(xiàn)缺頁(yè)現(xiàn)象。
?
??????最優(yōu)算法
?????????????查看后面的序列,最后被使用的元素被替換掉
??????隨機(jī)算法
?????????????隨機(jī)淘汰,沒(méi)有一定的約束性。
??????先進(jìn)先出
?????????????最先進(jìn)入主存的元素先被淘汰。
??????近期最少使用算法
?????????????查看前面的序列,最后被訪問(wèn)的元素被替換掉
例
??????
| 初始keyword?? | 2 | 4 | 6 | 5 | 3 | 4 | 2 |
| 最優(yōu)置換 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| ? | ? | 4 | 4 | 4 | 4 | 4 | 4 |
| ? | ? | ? | 6 | 5 | 3 | 3 | 3 |
| 缺頁(yè)(*) | * | * | * | * | * | ? | ? |
?解析:
??? 主存初始加入頁(yè)2,4,6,直接依次放入就可以,可是都會(huì)出現(xiàn)缺頁(yè)現(xiàn)象。
加入頁(yè)5。主存中沒(méi)有5。所以會(huì)出現(xiàn)缺頁(yè)現(xiàn)象,依據(jù)最優(yōu)置換的規(guī)定,5后面又依次出現(xiàn)了3,4,2所以6被替換掉。
加入頁(yè)3。主存中沒(méi)有3。出現(xiàn)缺頁(yè)現(xiàn)象。3后面出現(xiàn)了4和2,5被替換掉
加入頁(yè)4。主存中2,4,3包括3。沒(méi)有缺頁(yè)現(xiàn)象。不用進(jìn)行最優(yōu)置換。
| 初始keyword?? | 2 | 4 | 6 | 5 | 3 | 4 | 2 |
| 先進(jìn)先出 | 2 | 2 | 2 | 5 | 2 | 2 | 2 |
| ? | ? | 4 | 4 | 4 | 3 | 3 | 3 |
| ? | ? | ? | 6 | 6 | 6 | 4 | 4 |
| 缺頁(yè)(*) | * | * | * | * | * | * | ? |
解析:
主存初始加入頁(yè)2,4,6,直接依次放入就可以。可是都會(huì)出現(xiàn)缺頁(yè)現(xiàn)象。
加入頁(yè)5,主存中沒(méi)有5,所以會(huì)出現(xiàn)缺頁(yè)現(xiàn)象,依據(jù)先進(jìn)先出的規(guī)定。主存中已有頁(yè)出現(xiàn)順序?yàn)?/span>2,4,6,所以2被替換掉
加入頁(yè)3,主存中沒(méi)有3。出現(xiàn)缺頁(yè)現(xiàn)象。主存中已有頁(yè)出現(xiàn)順序?yàn)?/span>4,6,5,所以4被替換掉
加入頁(yè)4,主存中沒(méi)有4。出現(xiàn)缺頁(yè)現(xiàn)象。主存中已有頁(yè)出現(xiàn)順序?yàn)?/span>6,2,3,所以6被替換掉
加入頁(yè)2,主存中有2。沒(méi)有缺頁(yè)現(xiàn)象。
總結(jié):
沒(méi)有學(xué)不會(huì)的知識(shí),僅僅有不愿意學(xué)的知識(shí)。再簡(jiǎn)單的知識(shí)點(diǎn),不學(xué)習(xí)不總結(jié)。也掌握不好;再難的知識(shí)點(diǎn),僅僅要想學(xué)、愿意學(xué)、會(huì)學(xué),那么也能夠掌握。
點(diǎn)滴積累吧!
轉(zhuǎn)載于:https://www.cnblogs.com/claireyuancy/p/6964824.html
總結(jié)
以上是生活随笔為你收集整理的软考总结——虚存管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ajax 基础
- 下一篇: 大天使要不要学快意恩仇