首頁  >  文章  >  儲存管理的目的是實現什麼

儲存管理的目的是實現什麼

青灯夜游
青灯夜游原創
2022-07-22 15:08:5611354瀏覽

儲存管理的目的是實現擴充主存容量,並提高主存利用效率。儲存管理即對主記憶體的管理技術,記憶體管理的物件是主記憶體,主要是透過合理地分配與管理主記憶體,達到高效利用主記憶體,擴充主存容量的目的。記憶體管理的主要功能包括分配和回收主存空間、提高主存利用率、擴充主存、對主記憶體資訊實現有效保護。

儲存管理的目的是實現什麼

本教學操作環境:windows7系統、Dell G3電腦。

儲存管理的目的是實現擴充主存容量,並提高主存利用效率。

儲存管理即對主記憶體的管理技術,其目的主要是透過合理地分配與管理主記憶體,達到高效利用主記憶體, 擴充主存容量的目的。

記憶體管理的物件是主記憶體。它的主要功能包括分配和回收主存空間、提高主存利用率、擴充主存、對主記憶體資訊實現有效保護。

儲存管理方案

儲存管理方案的主要目的是解決多個使用者使用主記憶體的問題,其儲存管理方案主要包括分區儲存管理、分頁儲存管理、分段儲存管理、段頁式儲存管理以及虛擬儲存管理。

分割區儲存

分割區儲存管理又有三種不同的方式:靜態分割區、可變分割區、可重定位分割區 。

  • 靜態分區

靜態分區儲存管理是預先把可分配的主記憶體空間分割成若干個連續區域,每個區域的大小可以相同,也可以不同。為了說明各分區的分配和使用情況,儲存管理需設定一張「主存分配表」。主存分配表指出各分區的起始位址和長度,表中的佔用標誌位元用來指示該分割區是否被佔用了,當佔用的標誌位元為「0」時,表示該分割區尚未被佔用。進行主記憶體指派時總是選擇那些標誌為「0」的分割區,當某一分割區指派給一個作業後,則在佔用標誌欄填上佔用該分割區的作業名。採用靜態分區儲存管理,主記憶體空間的利用不高。 [2] 

  • 可變分區

可變分割區方式是依作業的大小來分割分割區。當要裝入一個作業時,根據作業需要的主存量查看主記憶體中是否有足夠的空間,若有,則按需要量分割一個分區分配給該作業;若無,則令該作業等待主存空間。由於分區的大小是依照作業的實際需要量來定的,且分區的個數也是隨機的,所以可以克服固定分區方式中的主存空間的浪費。

隨著作業的裝入、撤離,主記憶體被分成許多個分區,有的分區被作業佔用,而有的分區是空閒的。當一個新的作業要求裝入時,必須找一個足夠大的空閒區,把作業裝入該區,如果找到的空閒區大於作業需要量,則作業裝入後又把原來的空閒區分成兩部分,一部分給了作業;另一部分又分成為一個較小的空閒區。當一作主行結束撤離時,它歸還的區域如果與其它空閒區相鄰,則可合成一個較大的空閒區,以利大作業的裝入。

可變分區調度演算法

1)首次適應演算法。每次分配時,總是依序尋找未分配表,找到第一個能滿足長度要求的空閒區為止。分割這個找到的未分配區,一部分分配給作業,另一部分仍為空閒區。這種分配演算法可能將大的空間分割成小區,造成較多的主記憶體「碎片」。

2)最佳適應演算法。從空閒區中挑選一個能滿足作業要求的最小分區,這樣可保證不去分割一個更大的區域,使裝入大作業時比較容易得到滿足。採用這種分配演算法時可把空閒區依大小以遞增順利排列,查找時總是從最小的一個區開始,直到找到一個滿足要求的區為止。

3)最壞適應演算法。挑選一個最大的空閒區分割給作業使用,這樣可使剩下的空閒區不至於太小,這種演算法對中、小作業是有利的。採用這種分配演算法時可把空閒區依大小以遞減順利排列,查找時總是從最大的一個區開始。依此方法,在收回一個分割區時也必須對表格重新排列。

分頁儲存

分頁儲存管理是將一個行程的邏輯位址空間分成若干個大小相等的片,稱為頁面或頁,並為各頁加以編號,從0開始,如第0頁、第1頁等。對應地,也把記憶體空間分成與頁面相同大小的若干個儲存區塊,稱為(物理)區塊或頁框(frame),也同樣為它們加以編號,如0#區塊、1#區塊等等。在為進程分配記憶體時,以區塊為單位將進程中的若干個頁分別裝入到多個可以不相鄰接的實體區塊中。由於進程的最後一頁經常裝不滿一塊而形成了不可利用的碎片,稱之為「頁內碎片」。

分段儲存

在分段儲存管理方式中,作業的位址空間被分割為若干個段,每個段定義了一組邏輯資訊。例如,有主程式段MAIN、子程式段X、資料段D及棧段S等。每個段都有自己的名字。為了實現簡單起見,通常可用一個段號來代替段名,每個段都從0開始編址,並採用一段連續的地址空間。段的長度由對應的邏輯資訊組的長度決定,因而各段長度不等。整個作業的位址空間由於是分成多個段,因而是二維的,亦即,其邏輯位址由段號(段名)和段內位址所組成。

段頁儲存

段頁式系統的基本原理,是基本分段儲存管理方式和基本分頁儲存管理方式原理的結合,即先將用戶程式分成若干個段,再把每個段分成若干個頁,並為每一個段賦予一個段名。

虛擬儲存

當程式的儲存空間需求大於實際的記憶體空間時,就使得程式難以運作了.虛擬儲存技術就是利用實際記憶體空間和相對大的多的外部儲存器儲存空間相結合構成一個遠大於實際記憶體空間的虛擬儲存空間,程式就運行在這個虛擬儲存空間中.能夠實現虛擬儲存的依據是程式的局部性原理,即程式在運作過程中經常體現出運作在某個局部範圍之內的特點.在時間上,經常運行相同的指令段和資料(稱為時間局部性),在空間上,經常運行與某一局部儲存空間的指令和資料(稱為空間局部性),有些程式段不能同時運行或根本得不到運作。虛擬儲存是把一個程式所需要的儲存空間分成若干頁或段,程式運行用到頁和段就放在記憶體裡,暫時不用就放在外存中.當用到外存中的頁和段時,就把它們調到內存,反之就把它們送到外存中.裝入記憶體中的頁或段可以分散存放.

更多相關知識,請造訪常見問題欄位!

以上是儲存管理的目的是實現什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn