當前位置:首頁 » 服務存儲 » 存儲管理與固定分區
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

存儲管理與固定分區

發布時間: 2022-07-22 16:49:26

㈠ 糊塗了,存儲界的分區概念太多,到底是個什麼梗

1、固定分區存儲管理 其基本思想是將內存劃分成若干固定大小的分區,每個分區中最多隻能裝入一個作業。當作業申請內存時,系統按一定的演算法為其選擇一個適當的分區,並裝入內存運行。由於分區大小是事先固定的,因而可容納作業的大小受到限制,...

㈡ 固定分區存儲管理一般採用_______進行主存空間的分配。

固定分區存儲管理一般採用 順序分配演算法 進行主存空間的分配

㈢ 簡述操作系統的內存管理方法中,固定分區法和動態分區法的相同點和不同點

單一連續分配
內存在此方式下分為系統區和用戶區,系統區僅提供給操作系統使用,通常在低地址部分;用戶區是為用戶提供的、除系統區之外的內存空間。這種方式無需進行內存保護。

這種方式的優點是簡單、無外部碎片,可以釆用覆蓋技術,不需要額外的技術支持。缺點是只能用於單用戶、單任務的操作系統中,有內部碎片,存儲器的利用率極低。
固定分區分配
固定分區分配是最簡單的一種多道程序存儲管理方式,它將用戶內存空間劃分為若干個固定大小的區域,每個分區只裝入一道作業。當有空閑分區時,便可以再從外存的後備作業隊列中,選擇適當大小的作業裝入該分區,如此循環。

㈣ 分區存儲管理中常用哪些分配策略

1、固定分區存儲管理
其基本思想是將內存劃分成若干固定大小的分區,每個分區中最多隻能裝入一個作業。當作業申請內存時,系統按一定的演算法為其選擇一個適當的分區,並裝入內存運行。由於分區大小是事先固定的,因而可容納作業的大小受到限制,而且當用戶作業的地址空間小於分區的存儲空間時,造成存儲空間浪費。

一、空間的分配與回收

系統設置一張「分區分配表」來描述各分區的使用情況,登記的內容應包括:分區號、起始地址、長度和佔用標志。其中佔用標志為「0」時,表示目前該分區空閑;否則登記佔用作業名(或作業號)。有了「分區分配表」,空間分配與回收工作是比較簡單的。

二、地址轉換和存儲保護

固定分區管理可以採用靜態重定位方式進行地址映射。

為了實現存儲保護,處理器設置了一對「下限寄存器」和「上限寄存器」。當一個已經被裝入主存儲器的作業能夠得到處理器運行時,進程調度應記錄當前運行作業所在的分區號,且把該分區的下限地址和上限地址分別送入下限寄存器和上限寄存器中。處理器執行該作業的指令時必須核對其要訪問的絕對地址是否越界。

三、多作業隊列的固定分區管理

為避免小作業被分配到大的分區中造成空間的浪費,可採用多作業隊列的方法。即系統按分區數設置多個作業隊列,將作業按其大小排到不同的隊列中,一個隊列對應某一個分區,以提高內存利用率。

2、可變分區存儲管理
可變分區存儲管理不是預先將內存劃分分區,而是在作業裝入內存時建立分區,使分區的大小正好與作業要求的存儲空間相等。這種處理方式使內存分配有較大的靈活性,也提高了內存利用率。但是隨著對內存不斷地分配、釋放操作會引起存儲碎片的產生。

一、空間的分配與回收

採用可變分區存儲管理,系統中的分區個數與分區的大小都在不斷地變化,系統利用「空閑區表」來管理內存中的空閑分區,其中登記空閑區的起始地址、長度和狀態。當有作業要進入內存時,在「空閑區表」中查找狀態為「未分配」且長度大於或等於作業的空閑分區分配給作業,並做適當調整;當一個作業運行完成時,應將該作業佔用的空間作為空閑區歸還給系統。

可以採用首先適應演算法、最佳(優)適應演算法和最壞適應演算法三種分配策略之一進行內存分配。

二、地址轉換和存儲保護

可變分區存儲管理一般採用動態重定位的方式,為實現地址重定位和存儲保護,系統設置相應的硬體:基址/限長寄存器(或上界/下界寄存器)、加法器、比較線路等。

基址寄存器用來存放程序在內存的起始地址,限長寄存器用來存放程序的長度。處理機在執行時,用程序中的相對地址加上基址寄存器中的基地址,形成一個絕對地址,並將相對地址與限長寄存器進行計算比較,檢查是否發生地址越界。

三、存儲碎片與程序的移動

所謂碎片是指內存中出現的一些零散的小空閑區域。由於碎片都很小,無法再利用。如果內存中碎片很多,將會造成嚴重的存儲資源浪費。解決碎片的方法是移動所有的佔用區域,使所有的空閑區合並成一片連續區域,這一技術稱為移動技術(緊湊技術)。移動技術除了可解決碎片問題還使內存中的作業進行擴充。顯然,移動帶來系統開銷加大,並且當一個作業如果正與外設進行I/O時,該作業是無法移動的。

3、頁式存儲管理

基本原理

1.等分內存

頁式存儲管理將內存空間劃分成等長的若干區域,每個區域的大小一般取2的整數冪,稱為一個物理頁面有時稱為塊。內存的所有物理頁面從0開始編號,稱作物理頁號。

2.邏輯地址

系統將程序的邏輯空間按照同樣大小也劃分成若干頁面,稱為邏輯頁面也稱為頁。程序的各個邏輯頁面從0開始依次編號,稱作邏輯頁號或相對頁號。每個頁面內從0開始編址,稱為頁內地址。程序中的邏輯地址由兩部分組成:

邏輯地址
頁號p
頁內地址 d

3.內存分配

系統可用一張「位示圖」來登記內存中各塊的分配情況,存儲分配時以頁面(塊)為單位,並按程序的頁數多少進行分配。相鄰的頁面在內存中不一定相鄰,即分配給程序的內存塊之間不一定連續。

對程序地址空間的分頁是系統自動進行的,即對用戶是透明的。由於頁面尺寸為2的整數次冪,故相對地址中的高位部分即為頁號,低位部分為頁內地址。

3.5.2實現原理

1.頁表

系統為每個進程建立一張頁表,用於記錄進程邏輯頁面與內存物理頁面之間的對應關系。地址空間有多少頁,該頁表裡就登記多少行,且按邏輯頁的順序排列,形如:

邏輯頁號
主存塊號

0
B0

1
B1

2
B2

3
B3

2.地址映射過程

頁式存儲管理採用動態重定位,即在程序的執行過程中完成地址轉換。處理器每執行一條指令,就將指令中的邏輯地址(p,d)取來從中得到邏輯頁號(p),硬體機構按此頁號查頁表,得到內存的塊號B』,便形成絕對地址(B』,d),處理器即按此地址訪問主存。

3.頁面的共享與保護

當多個不同進程中需要有相同頁面信息時,可以在主存中只保留一個副本,只要讓這些進程各自的有關項中指向內存同一塊號即可。同時在頁表中設置相應的「存取許可權」,對不同進程的訪問許可權進行各種必要的限制。

4、段式存儲管理

基本原理

1.邏輯地址空間

程序按邏輯上有完整意義的段來劃分,稱為邏輯段。例如主程序、子程序、數據等都可各成一段。將一個程序的所有邏輯段從0開始編號,稱為段號。每一個邏輯段都是從0開始編址,稱為段內地址。

2.邏輯地址

程序中的邏輯地址由段號和段內地址(s,d)兩部分組成。

3.內存分配

系統不進行預先劃分,而是以段為單位進行內存分配,為每一個邏輯段分配一個連續的內存區(物理段)。邏輯上連續的段在內存不一定連續存放。

3.6.2實現方法

1.段表

系統為每個進程建立一張段表,用於記錄進程的邏輯段與內存物理段之間的對應關系,至少應包括邏輯段號、物理段首地址和該段長度三項內容。

2.建立空閑區表

系統中設立一張內存空閑區表,記錄內存中空閑區域情況,用於段的分配和回收內存。

3.地址映射過程

段式存儲管理採用動態重定位,處理器每執行一條指令,就將指令中的邏輯地址(s,d)取來從中得到邏輯段號(s),硬體機構按此段號查段表,得到該段在內存的首地址S』, 該段在內存的首地址S』加上段內地址d,便形成絕對地址(S』+d),處理器即按此地址訪問主存。

5、段頁式存儲管理

頁式存儲管理的特徵是等分內存,解決了碎片問題;段式存儲管理的特徵是邏輯分段,便於實現共享。為了保持頁式和段式上的優點,結合兩種存儲管理方案,形成了段頁式存儲管理。

段頁式存儲管理的基本思想是:把內存劃分為大小相等的頁面;將程序按其邏輯關系劃分為若干段;再按照頁面的大小,把每一段劃分成若干頁面。程序的邏輯地址由三部分組成,形式如下:

邏輯地址
段號s
頁號p
頁內地址d

內存是以頁為基本單位分配給每個程序的,在邏輯上相鄰的頁面內存不一定相鄰。

系統為每個進程建立一張段表,為進程的每一段各建立一張頁表。地址轉換過程,要經過查段表、頁表後才能得到最終的物理地址。

㈤ 固定分區存儲管理和可變分區存儲管理的區別是什麼

可變分區存儲管理不是預先把內存中的用戶區域劃分成若干固定分區,而是在作業要求裝入內存時,根據用戶作業的大小和當時內存空間使用情況決定是否為該作業分配一個分區。因此分區大小不是預先固定的,而是按作業需求量來劃分的;分區的個數和位置也不是預先確定的。它有效地克服了固定分區方式中,由於分區內部剩餘內存空置造成浪費的問題。

㈥ 存儲管理的方式

分區存儲管理又有三種不同的方式:靜態分區、可變分區、可重定位分區 。
靜態分區
靜態分區存儲管理是預先把可分配的主存儲器空間分割成若干個連續區域,每個區域的大小可以相同,也可以不同。為了說明各分區的分配和使用情況,存儲管理需設置一張「主存分配表」。主存分配表指出各分區的起始地址和長度,表中的佔用標志位用來指示該分區是否被佔用了,當佔用的標志位為「0」時,表示該分區尚未被佔用。進行主存分配時總是選擇那些標志為「0」的分區,當某一分區分配給一個作業後,則在佔用標志欄填上佔用該分區的作業名。採用靜態分區存儲管理,主存空間的利用不高。
可變分區
可變分區方式是按作業的大小來劃分分區。當要裝入一個作業時,根據作業需要的主存量查看主存中是否有足夠的空間,若有,則按需要量分割一個分區分配給該作業;若無,則令該作業等待主存空間。由於分區的大小是按作業的實際需要量來定的,且分區的個數也是隨機的,所以可以克服固定分區方式中的主存空間的浪費。
隨著作業的裝入、撤離,主存空間被分成許多個分區,有的分區被作業佔用,而有的分區是空閑的。當一個新的作業要求裝入時,必須找一個足夠大的空閑區,把作業裝入該區,如果找到的空閑區大於作業需要量,則作業裝入後又把原來的空閑區分成兩部分,一部分給作業佔用了;另一部分又分成為一個較小的空閑區。當一作主行結束撤離時,它歸還的區域如果與其它空閑區相鄰,則可合成一個較大的空閑區,以利大作業的裝入。
可變分區調度演算法
1)首次適應演算法。每次分配時,總是順序查找未分配表,找到第一個能滿足長度要求的空閑區為止。分割這個找到的未分配區,一部分分配給作業,另一部分仍為空閑區。這種分配演算法可能將大的空間分割成小區,造成較多的主存「碎片」。
2)最佳適應演算法。從空閑區中挑選一個能滿足作業要求的最小分區,這樣可保證不去分割一個更大的區域,使裝入大作業時比較容易得到滿足。採用這種分配演算法時可把空閑區按大小以遞增順利排列,查找時總是從最小的一個區開始,直到找到一個滿足要求的區為止。
3)最壞適應演算法。挑選一個最大的空閑區分割給作業使用,這樣可使剩下的空閑區不至於太小,這種演算法對中、小作業是有利的。採用這種分配演算法時可把空閑區按大小以遞減順利排列,查找時總是從最大的一個區開始。按這種方法,在收回一個分區時也必須對表格重新排列。 盡管虛擬內存允許進程有其獨立的虛擬地址空間,但有時也需要在進程之間共享內存。 例如有可能系統中有幾個進程同時運行BASH命令外殼程序。為了避免在每個進程的虛擬內存空間內都存在BASH程序的拷貝,較好的解決辦法是系統物理內存中只存在一份BASH的拷貝並在多個進程間共享。動態庫則是另外一種進程間共享執行代碼的方式。共享內存可用來作為進程間通訊(IPC)的手段,多個進程通過共享內存來交換信息。 Linux支持SYSTEM V的共享內存IPC機制。

㈦ 操作系統中的分區存儲管理和分頁存儲管理的優點和缺點各是什麼

一、分區存儲管理

1、固定分區:

優點:易於實現、開銷小

缺點:存在內部碎片(分區內未被利用空間)、分區總數固定,限制了並發執行的程序數量。

2、動態創建分區:按照程序申請要求分配。

優點: 沒有內部碎片

缺點:有外部碎片(難以利用的小空閑分區)

二、頁式存儲管理

優點: 沒有外部碎片,最後一頁可能有內碎片但不大; 程序不必連續存放;便於改變程序佔用空間大小。

缺點: 程序仍需要全部裝入內存。