可重定位式分割槽
又稱浮動分割槽分配,是解決碎片問題的簡單而有效的辦法
動態重定位分割槽分配演算法框圖
四、頁式儲存管理
提出原因
分割槽儲存管理方案:要求作業儲存時必須連續存放
頁式儲存管理方案:解決作業不連續存放的問題
頁面變換表
是一種特殊的資料結構
用途:記錄每乙個作業的虛頁號到物理記憶體中頁號之間的對映關係。每乙個作業都擁有乙個自己的頁面變換表。
結構:
需要兩次訪問記憶體,第一次訪問頁表,第二次取資料。
快表由一組聯想暫存器組成。
聯想暫存器:一種按內容進行並行查詢的快速暫存器,訪問速度比主存快得多。
原理:
空閒記憶體頁是用位示圖來管理的
0表示空閒,1表示已經分配了
記憶體256m,每頁4k,位示圖有多大?
256m/4k=64k,64k個物理塊
每個物理塊乙個位元,表的大小是64k個位元。
化為位元組,64k/8bit=8k
所以位示圖的大小是8kb,
頁式儲存管理的優點:
沒有外碎片,每個內碎片不超過頁大小
程式不必連續存放
主要缺點
程式要一次全部裝入記憶體才能執行
採用動態位址變換機構會增加計算機的成本和降低處理機的速度。
各種資料結構(頁表,空閒頁表)要占用一定的記憶體空間,而且系統要花費一定的時間來建立和管理這些**。
依然存在內碎片。
兩級頁表機制
每個程序的頁表都連續放在記憶體中,這是不現實的,因為記憶體不夠。
為了減少頁表所占用的連續的記憶體空間,採用了兩級頁表機制,基本方法是將頁表進行分頁,為此再建立一張頁表,稱為外層頁表(頁表目錄),即第一級頁表,其中的每個表目是存放某個頁表的實體地址。第二級才是頁表,其中的每個表目所存放的才是頁的物理塊號。
五、分段儲存管理
1)分段儲存管理方式的引入
1、便於程式設計
通常使用者常常把自己的作業按照邏輯關係劃分成若干個段,每個段都有自己的名字,且都從零開始編址,這樣,使用者程式在執行中可用段名和段內位址進行訪問。
2、分段共享
在實現程式和資料的共享時,常常以資訊的邏輯單位為基礎,而分頁系統中的每一頁只是存放資訊的物理單位,其本身並沒有完整的意義,因而不便於實現資訊的共享,而段卻是資訊的邏輯單位,有利於資訊的共享。
3、分段保護
資訊保護是相對完整意義的邏輯單位(段)進行保護
4、動態連線
通常乙個源程式經過編譯後所形成的若干個目標程式,還需再經過鏈結,形成可執行**後才能執行,這種在裝入時進行的鏈結稱為靜態鏈結。動態鏈結是指在作業執行之前,並不把幾個目標程式段都鏈結起來,而是先將主程式對應的目標程式裝入記憶體並啟動執行,當執行過程中又需要呼叫某段時,再將該段(目標程式)調入記憶體並鏈結起來。所以,動態鏈結是以段為基礎的。
5、動態增長
在實際系統中,往往有些資料段會不斷地增長,而事先卻無法知道資料段會增長到多大,分段儲存管理方式可以較好地解決這個問題。
在分段儲存管理方式中,作業的位址空間被劃分為若干個段,每個段是一組完整的邏輯資訊,如有主程式段、子程式段、資料段及堆疊段等,每個段都有自己的名字,都是從零開始編址的一段連續的位址空間,各段長度是不等的。分段系統的位址結構如下圖所示,邏輯位址由短號(名)和段內位址兩部分組成。在該位址結構中,允許乙個作業最多有64k個段,每個段的最大長度為64kb。
在分段式儲存管理系統中,為每個段分配乙個連續的分割槽,而程序中的各個段可以離散地分配到記憶體中不同的分割槽中。在系統中為每個程序建立一張段對映表,簡稱為段表。每個段在表中占有一表項,在其中記錄了該段在記憶體中的起始位址(又稱基址)和段的長度,如下圖所示。程序在執行中,通過查段表來找到每個段所對應的記憶體區。可見,段表實現了從邏輯段到物理記憶體區的對映。
內容頁式儲存管理
段式儲存管理
劃分依據
系統管理需要
使用者應用需要
頁/段大小
各頁面大小相同
段的大小不固定
邏輯位址
只有乙個邏輯位址空間
每個段乙個獨立的邏輯位址空間
頁表/段表
頁面較多,頁表較長,查詢費時
段表少,段表較短,查詢速度快
碎片存在內碎片
存在外碎片
記憶體共享
不支援支援
儲存擴充
不支援不支援
作業系統 第4章 儲存器管理
主存 儲存程序執行時的程式和資料。暫存器 速度最快,昂貴容量不大,一般以字為單位,只要存放指令一次操作的資料就夠了 快取記憶體 一種速度比記憶體快的儲存裝置,一般同暫存器一樣整合在cpu中。存放記憶體的部分拷貝,把常用的資料放這裡可以提高速度。總之 速度快 存放部分記憶體資料 硬體自動處理。磁碟快取...
現代作業系統 第3章 儲存管理
3.3 虛擬記憶體 每個程式擁有的位址空間被分為很多塊,每一塊稱為一頁page,page被對映到物理記憶體。當程式用到的部分不在物理空間時,產生缺頁中斷 分頁 1.程式產生的位址稱為虛擬位址,構成的空間稱為虛擬位址空間 位址空間的單元稱為頁面,在物理記憶體對應的單元稱為頁框 2.虛擬位址送給mmu,...
作業系統 儲存器管理
程式的裝入和鏈結 連續分配方式 基本分頁儲存管理方式 基本分段儲存管理方式 虛擬儲存器的基本概念 請求分頁儲存管理方式 頁面置換演算法 請求分段儲存管理方式 使用者程式要在系統中執行,必須先將它裝入記憶體,然後由編譯程式 compiler 對使用者源程式進行編譯,形成若干個目標模組 object m...