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

正文內容

操作系統(tǒng)原理-第3章-存儲器管理(編輯修改稿)

2025-02-14 18:53 本頁面
 

【文章內容簡介】 立一個頁表,頁表給出邏輯頁號和具體內存塊號相應的關系。頁表放在內存,屬于進程的現(xiàn)場信息。 頁表主要用于:①記錄進程的內存分配情況②實現(xiàn)進程運行時的動態(tài)重定位。 . . . 0 1 2 3 4 5 6 0 1 2 3 4 5 6 進程的 地址空間 頁框 (物理塊) 頁號 頁表 主存中頁框(物理塊) . . . . 頁表示意圖: 分頁存儲管理示意圖 0 11 12 31 頁號 P 頁內位移量 W 編號 0~1048575 相對地址 0~4095 討論 為什么頁的大小既不能太大,也不能太小? 2. 地址轉換 – 動態(tài)重定位 地址越界 p180。 頁表 L 比較 p=L . b + 頁號 p 頁內地址 d P180。 d 頁表地址寄存器 頁表長度寄存器 邏輯地址 物理地址 主要問題:兩次內存訪問 引入快表 – 加快地址轉換 快表使用聯(lián)想存儲器 ( associative memory,也稱為相聯(lián)存儲器) ,在 IBM系統(tǒng)中稱 TLB( Translation lookaside buffers) ? 用途:保存正在運行進程的部分頁表項,以快速重定位 ? 快表表目內容:頁號、內存塊號、標識位、淘汰位 ? 快表的特點:可按內容并行查找 ? 快表命中率:已經(jīng)證明, 16個表目可達 90%以上。 Intel 80x86/Pentium有 32項, SGI MIPS R4000有 48項 ? 理論依據(jù):程序的局部性; 使用快表進行地址轉換 地址越界 p180。 頁表 L 比較 P=L p p180。 . 快表 b + 頁號 p 頁內地址 d P180。 d 頁表地址寄存器 頁表長度寄存器 邏輯地址 . . 物理地址 統(tǒng)計表明, 16個表項,命中率 95%以上 擴展:多級頁表 問題: 32位地址的邏輯地址空間,如果頁面大小為 4K,則需要 1M個頁表表項,假設每個頁表表項 1B,則 每個進程需要1MB的連續(xù)內存空間來存儲頁表 。 0 11 12 31 頁號 P 頁內位移量 W 編號 0~1048575 相對地址 0~4095 64位邏輯地址空間呢? 需要 4096G個頁表項。 一種解決方案:采用多級頁表,來使連續(xù)空間變成離散空間 二級頁表 – 以 32位邏輯地址空間為例 0 11 12 31 頁目錄號 頁內位移量 W 頁表位移 22 21 連續(xù)的內存分配變成了離散分配 64位地址空間是否可以采用二級頁表? 頁目錄地址 目錄位移 頁表位移 頁位移 虛擬地址 頁表地址 . . . 頁目錄(每進程一個) 塊號 . . . 頁 表 代碼或數(shù)據(jù) . . . 物理頁 + + 二級頁表地址轉換 (未畫出快表) 0 31 0/1 0/1 0/1 0/1 0/1 0 1 7 …… 空閑塊數(shù) …… ?空塊管理 ——位示圖 (用于外存分配時常叫盤圖 ) 使用時需進行字位號到塊號的轉換: b=i*w+j b:塊號, i:字號, w:字的位數(shù), j:字內位數(shù) 3. 頁的分配與回收 內存分配算法 ? 計算一個作業(yè)所需要的總塊數(shù) N ? 查位示圖,看看是否還有 N個空閑塊 ? 如果有足夠的空閑塊,則頁表長度設為 N,填入PCB中;申請頁表區(qū),把頁表始址填入 PCB ? 依次分配 N個空閑塊,將塊號和頁號填入頁表 ? 修改位示圖 頁的共享與保護 ? 頁的共享 ? 多個進程的虛頁對應同一個物理地址空間; ? 共享不易實現(xiàn) (P93及圖 39) ? 頁的保護 ? 越界檢查:頁表長度寄存器; ? 存取控制檢查:頁表中設置有存取控制字段,一般是“ 只讀 ”、“ 可寫 ”以及“ 執(zhí)行 ”三種權限的組合。 主存空間利用率 ? 內存利用率高,且對用戶透明,基本解決了“碎片”問題 ? 每個空閑的內存塊都是一個可分配的單位,徹底消除了“ 外碎片 ”; ? 雖然進程最后一頁可能存在“ 內碎片 ”,但頁面相對較小, 內碎片 也很小。 6. 實分頁存儲管理方式小結 ? 優(yōu)點: 內存利用率高 ,解決了碎片問題; 便于管理。 ? 缺點: 不易 實現(xiàn) 共享 (見 P93); 不便于 頁面 動態(tài)增長 ; 進程仍受內存可用空間大小的限制; 所需硬件支持較多。 虛擬 頁式存儲管理 ? 實分頁式存儲管理 要求作業(yè) 全部裝入內存 后才能運行, 存在以下問題 : ? 當作業(yè)所要求的內存空間大于物理內存總容量,無法運行 ; ? 當有大量作業(yè)要求運行,而內存容量不足以容納所有作業(yè),只能是少數(shù)作業(yè)先運行,其他大量的作業(yè)在外存等待。 ? 解決方法 ? 擴充物理內存:增加成本; ? 虛擬存儲技術 :允許作業(yè)僅 部分裝入內存 即可運行,其理論依據(jù)是 程序局部性原理 。 程序局部性原理 Denning, 1968 程序在執(zhí)行時呈現(xiàn)出 高度的局部性特征 ;即在一較短的時間內,程序的執(zhí)行僅局限于某個部分 ;相應地, 它所訪問的存儲空間也局限于某個區(qū)域 。程序局部性表現(xiàn)在 時間 與 空間 兩個方面: ? 時間局部性 :一條指令被執(zhí)行了,則在不久的將來它可能再次被執(zhí)行; ? 空間局部性 :若某一存儲單元被訪問,則在不久之后,與該存儲單元相鄰的單元也可能被訪問。 因此,作業(yè)可以不必全部裝入內存即可運行。 虛擬存儲器概念 1961年由英國曼徹斯特大學的 Fotheringham提出,今天的 OS普遍采用這一技術管理內存。 ? 程序僅需將當前要運行的 頁或段 裝入內存即可運行; ? 運行時,如果需要訪問的 頁或段 不在內存中(稱為 缺頁或缺段 ),由 OS提供的請求 調頁(段) 功能,將其調入內存; ? 如果內存已滿,則需按照預定的 置換策略 ,將暫時不用的 頁或段 調出外存,騰出足夠的存儲空間,在裝入所缺的 頁或段 。 對于用戶而言,看到的是一個大容量的內存 (容量是外存的,速度是內存的) ,但實際上是虛的,因此稱為 虛擬存儲器 。 虛擬 頁式存儲管理 基本思想 實分頁和虛擬存儲技術的結合,也叫 請求分頁存儲管理。 ? 按照 實分頁 方式進行分頁和分塊; ? 進程運行時,只需 部分頁面 在內存; ? 當進程訪問的頁不在內存時將產生 缺頁中斷 , 由中斷服務程序把所缺頁裝入內存 ? 若內存空間已滿,需要根據(jù) 頁面置換策略(頁面調度算法) 淘汰某個內存頁面,再裝入所缺頁面。 本節(jié)重點介紹頁面調度算法。 2. 地址轉換及相應硬件支持 1)頁表機制 虛分頁地址轉換方式和實分頁類似,但也有所區(qū)別。 ?狀態(tài)位 P:該頁面是否已經(jīng)調入內存 ?訪問位 A,記錄該頁被訪問過的標志或被訪問過的次數(shù),和修改位一起做為頁面置換的依據(jù); ?修改位 W:該頁面在掉入內存后是否被修改過,如被修改過,調出內存時,需先將其寫入內存; ?存取控制 :對該頁的訪問權限,如只讀、可寫、可執(zhí)行,或三者的結合 ?外存地址 :該頁在外存上的地址,當該頁面不在內存時,據(jù)此從外存調入 頁號 塊號 狀態(tài)位 P 訪問位 A 修改位 W 外存地址 存取控制 2)缺頁中斷( Page Fault)機構 在地址映射過程中,所訪問的頁不在內存時,便產生一 缺頁中斷 ; OS接到此中斷信號后,就調出 缺頁中斷處理程序 ,根據(jù)頁表中給出的 外存地址 ,將該頁調入內存,更新頁表,完成重定位。這期間可能 調用置換程序 。 缺頁中斷與常規(guī)中斷的不同之處: ? 常規(guī)中斷是在一條指令執(zhí)行完之后響應與處理; ? 缺頁中斷是在指令執(zhí)行期間產生和處理中斷信號;且在一條指令在執(zhí)行期間,可能產生多次缺頁中斷。 ? 因此,對于 缺頁中斷 ,一般按“ 故障 ”處理。 3)地址轉換 ? 首先檢索快表, 若找到 ,修改頁表項中的訪問位,然后利用頁表項中內容,形成物理地址。 ? 如果在快表中 未找到 ,則檢索頁表,察看頁表項中的狀態(tài)位,若該頁已經(jīng)調入內存,則形成物理地址,并更新快表,當快表滿時,應淘汰一個頁表項; ? 若該頁尚未調入內存,則 產生缺頁中斷 ,請求 OS把該頁調入內存,然后再完成重定位。 3. 內存分配策略和分配算法 ?最小物理塊數(shù)的確定 ? 保證進程正常運行所需的最少物理塊數(shù); ? 與指令的格式、功能和尋址方式有關。 在為進程分配內存時,涉及到三個問題: 1)最小物理塊數(shù)的確定; 2)物理塊的分配策略; 3)物理塊的分配算法。 例:一條復雜 指令 可能是 2個或 2個以上字節(jié),可能 跨
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1