第五讲 计算机体系结构 内存层次
總算搞完Lab1
管理存儲介質(zhì)的東西
cpu 內(nèi)存 io 設(shè)備
內(nèi)存一次最小單位 8 bit
計算機 總線32bit
有大量的數(shù)據(jù)要讀寫,CPU內(nèi)有高速緩存
內(nèi)存層次,兩級緩存
操作系統(tǒng)的內(nèi)存管理
內(nèi)存 以字節(jié)為單位進(jìn)行訪問
磁盤 扇區(qū)編號 每一個扇區(qū)512 字節(jié)最小單位
內(nèi)存管理系統(tǒng)的要求
抽象,保護(hù),共享,虛擬化
內(nèi)存管理機制:
+ 重定位:(relocation)
+ 分段 : (segmentation)
+ 分頁 : (paging)
+ 虛擬儲存(virtual memory)
多數(shù)系統(tǒng) 按 需頁式虛擬儲存
地址空間 & 地址生成
從寫出來的符號 到總線上的物理地址
地址空間 :
物理地址空間 硬件支持的地址空間 起始是0 知道 MAXsys
邏輯地址空間 CPU運行時 進(jìn)程看到的地址 0- MAX prog
邏輯地址根據(jù)方法轉(zhuǎn)換成物理地址
邏輯地址的生成
編譯時:
假設(shè)起始地址已知
如果起始地址改變,必須重新編譯
加載時:
編譯時起始位置位置,編譯器徐生成可重定位的代碼(reloctable code)
加載時,生成絕對地址
執(zhí)行時:
執(zhí)行時代碼可移動
需地址轉(zhuǎn)換(映射)硬件支持
邏輯地址到物理地址的傳喚
地址檢查
連續(xù)內(nèi)存分配
連續(xù)內(nèi)存分配和內(nèi)存碎片
你要分配510字節(jié) 結(jié)果分配了512字節(jié) 剩下幾個字節(jié)就是內(nèi)碎片
取決于分配單元大小是否要取整。
動態(tài)分區(qū)分配
最先匹配策略
空閑分區(qū)鏈表
First Fit Allocation
Best Fit Allocation
合并還慢 因為要找地址臨近 但是卻是按照大小排序的
Wrost Fit Allocation
碎片整理
緊湊(ompaction)
碎片緊湊: 否有應(yīng)用程序都是可以動態(tài)重定位
分區(qū)對換
Swapping in/out
對換到對換區(qū)內(nèi)
處于等待狀態(tài)的程序搬到外存區(qū)
有一個對換區(qū)
伙伴系統(tǒng)
伙伴系統(tǒng)的實現(xiàn) Buddy System
整個可分配的分區(qū)大小 的策咯
數(shù)據(jù)結(jié)構(gòu)
空閑塊的二維數(shù)組
第一維 由小到大 排成第一位
同大小就按地址排序
u core 中的物理內(nèi)存管理
ucore 已經(jīng)實現(xiàn)了
轉(zhuǎn)載于:https://www.cnblogs.com/sfzyk/p/8983209.html
總結(jié)
以上是生活随笔為你收集整理的第五讲 计算机体系结构 内存层次的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML第三课——css盒子
- 下一篇: 固定div的位置——不随窗口大小改变为改