freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第六章存儲管理-展示頁

2024-08-16 13:19本頁面
  

【正文】 /17 第六章 存儲管理 固定分區(qū) ? 固定分區(qū)就是把內(nèi)存固定地劃分為若干個大小不等的區(qū)域 。 ? 要由操作系統(tǒng)結(jié)合相關(guān)硬件來完成上述工件,這樣計算機好象為用戶提供了一個容量遠大于內(nèi)存的存儲器,這個存儲器稱為 虛擬存儲器 。 27 2022/8/17 第六章 存儲管理 實現(xiàn)虛擬內(nèi)存的基本原理 ? 將程序正在使用的部分內(nèi)容放在內(nèi)存 , 而暫時不用的部分放在外存 , 在需要時由系統(tǒng)調(diào)入內(nèi)存 , 并將不需要 ( 或暫不需要 ) 的部分調(diào)出內(nèi)存 。 由虛存構(gòu)成的存儲空間稱為虛存空間 。 包括: ? 防止地址越界 ? 防止越權(quán) (對共享區(qū)有訪問權(quán) ) 22 2022/8/17 第六章 存儲管理 存儲保護的硬件支持 ? 界地址寄存器(界限寄存器) ? 存儲鍵 23 2022/8/17 第六章 存儲管理 界地址寄存器(界限寄存器) ? 界地址寄存器被廣泛使用的一種存儲保護技術(shù) ? 機制比較簡單,易于實現(xiàn) 24 2022/8/17 第六章 存儲管理 實現(xiàn)方法 ? 在 CPU中設(shè)置一對下限寄存器和上限寄存器存放用戶作業(yè)在主存中的下限和上限地址 ? 也可將一個寄存器作為基址寄存器,另一寄存器作為限長寄存器(指示存儲區(qū)長度) ? 每當(dāng) CPU要訪問主存,硬件自動將被訪問的主存地址與界限寄存器的內(nèi)容進行比較,以判斷是否越界 ? 如果未越界,則按此地址訪問主存,否則將產(chǎn)生程序中斷 —— 越界中斷 (存儲保護中斷) 25 2022/8/17 第六章 存儲管理 圖示 26 2022/8/17 第六章 存儲管理 主存擴充 (虛擬內(nèi)存 ) ? 為了使程序員在編程時不受內(nèi)存的結(jié)構(gòu)和容量的限制 , 系統(tǒng)為用戶構(gòu)造一種存儲器 , 其結(jié)構(gòu)可能與內(nèi)存結(jié)構(gòu)不同 , 容量可能遠遠超過內(nèi)存的實際容量 。 ? 系統(tǒng)為了充分利用內(nèi)存空間,有時可能對內(nèi)存空間進行調(diào)整。 ? 進程映像在內(nèi)存和外存之間傳遞 。 ? 進程運行的過程中 , 它所占用的內(nèi)存也可能發(fā)生變化 。如 空閑區(qū)表、空閑區(qū)隊列等 。 18 2022/8/17 第六章 存儲管理 置換策略 ? 當(dāng)需要將某個用戶程序調(diào)入內(nèi)存而內(nèi)存空間又不夠時 , 就要確定哪個或哪些程序可以從內(nèi)存中移走 。 15 2022/8/17 第六章 存儲管理 主存分配與回收 要完成內(nèi)存的分配和回收工作 , 要求設(shè)計者選擇和確定以下幾種策略和結(jié)構(gòu): ? 調(diào)入策略 ? 放置策略 ? 置換策略 ? 分配結(jié)構(gòu) 16 2022/8/17 第六章 存儲管理 調(diào)入策略 ? 用戶程序在何時調(diào)入內(nèi)存的策略 。 動態(tài)地址重定位的代價: ? 需要硬件的支持 。 ? 可以部分地裝入程序運行 。 14 2022/8/17 第六章 存儲管理 動態(tài)地址映射的優(yōu)缺點 優(yōu)點: ? 程序占用的內(nèi)存空間是動態(tài)可變的 , 當(dāng)程序從某個存儲區(qū)移到另一個區(qū)域時 , 只需要修改相應(yīng)的寄存器 BR的內(nèi)容即可 。 ? 在程序執(zhí)行的過程中,若要訪問內(nèi)存,將訪問的邏輯地址送入 VR中。 ? 在地址重定位機構(gòu)中 , 有一個基地址寄存器BR和一個程序地址寄存器 VR, 一個內(nèi)存地址寄存器 MR。一般來說這種轉(zhuǎn)換是由專門的硬件機構(gòu)來完成的。 ? 缺點:程序必須占用連續(xù)的內(nèi)存空間;一旦程序裝入后不能移動。 8 2022/8/17 第六章 存儲管理 映射方法 ? 假定程序裝入內(nèi)存的首地址為 BR, 程序地址為 VR, 內(nèi)存地址為 MR, 則地址映射按下式進行: MR=BR+VR 。 1200 物理地址空間 Load A data1 data1 3456 源程序 Load A 200 3456 0 100 200 編譯 連接 邏輯地址空間 BA=1000 6 2022/8/17 第六章 存儲管理 地址映射的方式 ? 我們把 用戶程序裝入內(nèi)存時對有關(guān)指令的地址部分的修改定義為從程序地址到內(nèi)存地址的 地址映射 ,或稱為 地址重定位 。 5 2022/8/17 第六章 存儲管理 地址映射 Load A 200 3456 。 4 2022/8/17 第六章 存儲管理 ? 要求用戶用內(nèi)存地址編程是非常困難的,尤其是在多道程序設(shè)計的環(huán)境中。1 2022/8/17 第六章 存儲管理 第六章 存儲管理 ? 主存管理的功能 ? 分區(qū)存貯管理 ? 分頁存儲管理 ? 分段存儲管理 ? 段頁式存儲管理 ? 覆蓋技術(shù)與交換技術(shù) ? 虛擬存儲 2 2022/8/17 第六章 存儲管理 主存管理的功能 ? 地址映射 ? 主存分配 ? 存儲保護 ? 主存擴充 (虛擬內(nèi)存 ) 3 2022/8/17 第六章 存儲管理 地址映射 (地址重定位 ) ? 內(nèi)存的每個存儲單元都有一個編號,這種編號稱為 內(nèi)存地址 (或稱為 物理地址 , 絕對地址 )。 ? 內(nèi)存地址的集合稱為 內(nèi)存空間(或物理地址空間) 。 ? 用戶編程所用的地址稱為 邏輯地址(或程序地址,或虛地址) ,由邏輯地址組成的空間稱為 邏輯地址空間(或程序地址空間) 。 。 ? 地址映射的方式: 靜態(tài)地址映射 動態(tài)地址映射 7 2022/8/17 第六章 存儲管理 靜態(tài)地址映射 ? 程序被裝入內(nèi)存時由操作系統(tǒng)的 連接裝入程序 完成程序的邏輯地址到內(nèi)存地址的轉(zhuǎn)換 。 ? 例如,程序裝入內(nèi)存的首地址為 1000,則裝配程序就按 MR=1000+VR對程序中所有地址部分進行修改,修改后指令 Load A, 200就變?yōu)?Load A, 1200 9 2022/8/17 第六章 存儲管理 優(yōu)缺點 ? 優(yōu)點:不需要硬件的支持。 10 2022/8/17 第六章 存儲管理 動態(tài)地址映射 ? 動態(tài)地址重定位是在程序執(zhí)行的過程中,每次訪問內(nèi)存之前,將要訪問的程序地址轉(zhuǎn)換為內(nèi)存地址。 11 2022/8/17 第六章 存儲管理 映射方法 ? 最簡單的硬件機構(gòu) 是重定位寄存器 。 12 2022/8/17 第六章 存儲管理 0 3456 . . . . . . LOAD A 200 . . . . . . 0 100 200 300 . . . . . . . . . LOAD A 200 3456 1100 1200 1300 200 VR + 1000 BR 13 2022/8/17 第六章 存儲管理 地址映射的具體過程 ? 程序裝入內(nèi)存后,它所占用的內(nèi)存區(qū)的首地址 由系統(tǒng)送入基地址寄存器 BR中。 ? 地址轉(zhuǎn)換機構(gòu)把 VR和 BR中的內(nèi)容相加,并將結(jié)果送入 MR中,作為實際訪問的地址。 ? 一個程序不一定要求占用一個連續(xù)的內(nèi)存空間 。 ? 便于多個進程共享同一個程序的代碼 。 ? 實現(xiàn)存儲管理的軟件算法較為復(fù)雜 。 ? 目前有請調(diào)和預(yù)調(diào)兩種 17 2022/8/17 第六章 存儲管理 放置策略 ? 用戶程序調(diào)入內(nèi)存時 , 確定將其放置在何處的策略 。 19 2022/8/17 第六章 存儲管理 分配結(jié)構(gòu) ? 分配結(jié)構(gòu)是用來登記內(nèi)存使用情況的數(shù)據(jù)結(jié)構(gòu)。 20 2022/8/17 第六章 存儲管理 引起內(nèi)存分配和回收的原因 ? 進程的開始的結(jié)束 。 如棧的變化 。 由于內(nèi)存有限 ,系統(tǒng)中不可能容納所有進程 , 有些進程的映像可以存放在外存 , 當(dāng)要運行這些進程時 , 必須把它們調(diào)入內(nèi)存 。 21 2022/8/17 第六章 存儲管理 存儲保護 保證在內(nèi)存中的多道程序只能在給定的存儲區(qū)域內(nèi)活動并互不產(chǎn)生干擾 。 這種面向編程的存儲器稱為 虛擬存儲器 。 或稱虛地址空間 。 ? 由于程序在執(zhí)行時 , 在一段時間內(nèi)一般僅使用它的程序的一部分 ( 或一小部分 ) , 所以程序僅有部分裝入內(nèi)存完全能夠正確執(zhí)行 。 28 2022/8/17 第六章 存儲管理 分區(qū)存貯管理 把整個內(nèi)存劃分為若干大小不等的區(qū)域 , 操作系統(tǒng)占用一個區(qū)域 , 其它區(qū)域供系統(tǒng)中的多個進程共享 , 這種方法稱為 分區(qū)存儲管理 。 分區(qū)的劃分由計算機的操作員或者由操作系統(tǒng)給出 , 并給出 分區(qū)說明表 。 30 2022/8/17 第六章 存儲管理 舉例 ? 某系統(tǒng)的內(nèi)存容量為 256K, 操作系統(tǒng)占用低地址的 20K, 其余空間劃分成 4個固定大小的分區(qū) 。 在這種情況下分區(qū)的大小選擇與作業(yè)大小相當(dāng) , 這樣內(nèi)存的使用效率較高 。 34 2022/8/17 第六章 存儲管理 動態(tài)分區(qū) ? 動態(tài)分區(qū)是指在系統(tǒng)運行的過程中建立分區(qū) ,并使分區(qū)的大小剛好與作業(yè)的大小相等 。 是一種較為實用的存儲管理方法 。 ? 不同系統(tǒng)根據(jù)設(shè)計要求采用不同的結(jié)構(gòu) 。 ? 系統(tǒng)還要設(shè)置了 等待分區(qū)隊列 , 當(dāng)系統(tǒng)中無空閑區(qū)或無滿足要求的空閑區(qū)時 , 則把申請者送入等待隊列中 , 等待別的進程釋放內(nèi)存之后再喚醒隊列中的進程 。 除操作系統(tǒng)占用一個分區(qū)外 , 其余存儲區(qū)為一個大的空閑區(qū) 。 以空閑區(qū)表為例 , 當(dāng)用戶要求一個大小為 SIZE的存儲空間時 , 系統(tǒng)查詢空閑區(qū)表 , 找一個大于或等于SIZE的空閑區(qū) 。 ? 其二是空閑區(qū)大小與 SIZE相等 , 則修改空閑區(qū)表相應(yīng)表目 , 向用戶返回該空閑區(qū)首址 ,表示此空閑區(qū)已分給了要求的用戶 。 將一個空閑區(qū)分成二部分有兩種辦法: 一是從空閑區(qū)的上部開始劃出 SIZE大小的空閑區(qū)給用戶; 二是從空閑區(qū)的底部開始向上劃出 SIZE大小的空閑區(qū)給用戶 。 40 2022/8/17 第六章 存儲管理 分區(qū)的回收 當(dāng)某個進程釋放某存儲區(qū)時 , 系統(tǒng)首先檢查釋放區(qū)是否與系統(tǒng)中的空閑區(qū)相鄰 , 若相鄰則把釋放區(qū)合并到相鄰的空閑區(qū)中去 , 否則把釋放區(qū)作為一個空閑區(qū)插入到空閑區(qū)表的適當(dāng)位置 。 其首址仍為前空閑區(qū)首址 , 大小為釋放區(qū)大小與空閑區(qū)大小之和 。 ? 釋放區(qū)與后空閑區(qū)相鄰:則把釋放區(qū)合并到后空閑 ,首地址為釋放區(qū)首地址 , 大小為二者大小之和 。 43 2022/8/17 第六章 存儲管理 三種放置策略 ? 空閑區(qū)表或隊列的排序 ? 首次適應(yīng)法 ? 最佳適應(yīng)法 ? 最壞適應(yīng)法 ? 三種策略比較 44 2022/8/17 第六章 存儲管理 空閑區(qū)表或隊列的排序 ? 按空閑區(qū) 首址 遞增的次序歸類組織空閑區(qū)表或空閑區(qū)隊列 ? 按空閑區(qū) 大小 的遞增或遞減次序組織空閑區(qū)表或隊列 45 2022/8/17 第六章 存儲管理 首次適應(yīng)法 ? 要求空閑區(qū)按 首址遞增 的次序組織空閑區(qū)表(隊列)。 從該區(qū)中劃出大小為 SIZE的分區(qū)分配給進程 , 余下的部分仍作為一個空閑區(qū)留在空閑區(qū)表中 ,但要修改其首址和大小 。 48 2022/8/17 第六章 存儲管理 分析 ? 注意:每次分配和回收后空閑區(qū)表或空閑區(qū)隊列都要按首址遞增的次序排序。 ? 這種算法是盡可能地利用低地址空間,從而保證
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1