2017-2018-1 20155330 《信息安全系统设计基础》第11周学习总结
2017-2018-1 20155330 《信息安全系統(tǒng)設(shè)計(jì)基礎(chǔ)》第11周學(xué)習(xí)總結(jié)
教材學(xué)習(xí)內(nèi)容總結(jié)
物理和虛擬尋址
- 計(jì)算機(jī)系統(tǒng)的主存被組織成一個(gè)由M個(gè)連續(xù)的字節(jié)大小的單元組成的數(shù)組。每字節(jié)都有一個(gè)唯一的物理地址。
- CPU訪問內(nèi)存的最自然的方式就是使用物理地址,稱為物理尋址。
現(xiàn)代處理器使用虛擬尋址的尋址形式。CPU通過生成一個(gè)虛擬地址 來訪問主存,這個(gè)虛擬地址在被送到內(nèi)存之前先轉(zhuǎn)換成適當(dāng)?shù)奈锢淼刂贰⒁粋€(gè)虛擬地址轉(zhuǎn)換為物理地址的任務(wù)叫做地址翻譯。
地址空間
- 地址空間是一個(gè)非負(fù)整數(shù)地址的有序集合:
- 線性地址空間:地址空間中的整數(shù)是連續(xù)的。
- 線性地址空間:在一個(gè)帶虛擬內(nèi)存的系統(tǒng)中,CPU從一個(gè)有N=2^(n)個(gè)地址的地址空間中生成虛擬地址。
一個(gè)地址空間的大小是由表示最大地址所需要的位數(shù)來描述。一個(gè)包含N=2^(n)個(gè)地址的虛擬地址空間就叫做一個(gè)n位地址空間。現(xiàn)代系統(tǒng)通常支持32位或64位虛擬地址空間。
虛擬內(nèi)存作為緩存的工具
- 在任意時(shí)刻,虛擬頁面的集合都分為三個(gè)不相交的子集:
- 未分配的:VM系統(tǒng)還未分配(或創(chuàng)建)的頁。未分配的塊沒有任何數(shù)據(jù)和它們相關(guān)聯(lián),因此也就不占用任何磁盤空間。
- 緩存的:當(dāng)前已緩存在物理內(nèi)存中的已分配頁。
- 未緩存的:未緩存在物理內(nèi)存中的已分配頁。
- 頁表就是一個(gè)頁表?xiàng)l目(PTE)的數(shù)組。虛擬地址空間中的每個(gè)頁在頁表中一個(gè)固定偏移量處都有一個(gè)PTE。
- 有效位表明該虛擬頁當(dāng)前是否被緩存在DRAM中。如果設(shè)置了有效位,那么地址字段就表示DRAM中相應(yīng)的物理頁的起始位置,這個(gè)物理頁中緩存了該虛擬頁。
DRAM緩存不命中成為缺頁。
地址翻譯
地址翻譯是一個(gè)N元素的虛擬地址空間(VAS)中的元素和一個(gè)M元素的物理地址空間(PAS)中元素之間的映射
- 利用TLB加速地址翻譯:所有的地址翻譯步驟都是在芯片上的MMU中執(zhí)行的。
- 用來壓縮頁表的常用方法是使用層次結(jié)構(gòu)的頁表。
- 訪問設(shè)備時(shí)引薦如何劃分虛擬地址和物理地址的位:
- TLB:利用VPN的位進(jìn)行虛擬尋址。
- 頁表:用索引它的VPN來標(biāo)識(shí)每個(gè)PTE。但這些VPN并不是頁表的一部分,也不儲(chǔ)存在內(nèi)存中。
高速緩存:直接映射的緩存是通過物理地址中的字段尋址。
案例研究:Intel Core i7/Linux 內(nèi)存系統(tǒng)
- Core i7地址翻譯過程
Linux缺頁處理
內(nèi)存映射
- 虛擬內(nèi)存區(qū)域可以映射到兩種類型的對(duì)象中的一種:
- Linux文件系統(tǒng)中的普通文件:一個(gè)區(qū)域可以映射到一個(gè)普通磁盤文件的連續(xù)部分。
匿名文件。
動(dòng)態(tài)內(nèi)存分配
- 動(dòng)態(tài)內(nèi)存分配器維護(hù)著一個(gè)進(jìn)程的虛擬內(nèi)存區(qū)域,稱為堆。
- 分配器將堆視為一組不同大小的塊的集合進(jìn)行維護(hù)。
- 分配器有兩種基本風(fēng)格,都要求應(yīng)用顯式地分配塊,不同之處在于由哪個(gè)實(shí)體來負(fù)責(zé)釋放已分配的塊:
- 顯式分配器:顯式地釋放任何已分配的塊。
- 隱式分配器:要求分配器檢測(cè)一個(gè)已分配塊何時(shí)不再被程序所使用,那么就釋放這個(gè)塊。也叫做垃圾收集器。
- 顯式分配器的要求和目標(biāo):
- 處理任意請(qǐng)求序列。
- 立即響應(yīng)請(qǐng)求。
- 只使用堆。
- 對(duì)齊塊(對(duì)齊要求)。
- 不修改已分配的塊。
- 分配器的目標(biāo)就是在整個(gè)序列中使峰值利用率U^(n-1)最大化。
- 造成堆利用率很低的主要原因是一種稱為碎片的現(xiàn)象。有兩種形式:內(nèi)部碎片和外部碎片。
- 內(nèi)部碎片:在一個(gè)已分配塊比有效載荷大時(shí)發(fā)生。
外部碎片:當(dāng)空閑內(nèi)存合計(jì)起來足夠滿足一個(gè)分配請(qǐng)求,但是沒有一個(gè)單獨(dú)的空閑塊足夠大可以來處理這個(gè)請(qǐng)求時(shí)發(fā)生。
教材學(xué)習(xí)中的問題和解決過程
- 問題1:
問題1解決方案:
| 8 | 2^(8)=256 | 2^(8)-1=255 |
| 16 | 2^(16)=64K | 2^(16)-1=64K-1 |
| 32 | 2^(32)=4G | 2^(32)-1=4G-1 |
| 48 | 2^(48)=256T | 2^(48)-1=256T-1 |
| 64 | 2^(64)=16384P | 2^(64)-1=16384P-1 |
代碼托管
結(jié)對(duì)及互評(píng)
本周結(jié)對(duì)學(xué)習(xí)情況
- 20155321
- 結(jié)對(duì)學(xué)習(xí)內(nèi)容
- 第9章 虛擬內(nèi)存
- 實(shí)驗(yàn)四 外設(shè)驅(qū)動(dòng)程序
學(xué)習(xí)進(jìn)度條
| 目標(biāo) | 5000行 | 30篇 | 400小時(shí) | |
| 第一周 | 0/0 | 1/1 | 10/10 | |
| 第二周 | 63/63 | 1/2 | 8/18 | |
| 第三周 | 31/94 | 1/3 | 18/36 | |
| 第四周 | 265/329 | 1/4 | 17/53 | |
| 第五周 | 106/435 | 2/6 | 18/71 | |
| 第六周 | 211/646 | 2/8 | 21/92 | |
| 第七周 | 1420/2066 | 2/10 | 17/109 | |
| 第八周 | 1061/3127 | 1/11 | 17/126 | |
| 第九周 | 1458/4585 | 3/14 | 20/146 | |
| 第十周 | 1410/5995 | 1/15 | 20/166 | |
| 第十一周 | 779/6774 | 2/17 | 18/184 |
嘗試一下記錄「計(jì)劃學(xué)習(xí)時(shí)間」和「實(shí)際學(xué)習(xí)時(shí)間」,到期末看看能不能改進(jìn)自己的計(jì)劃能力。這個(gè)工作學(xué)習(xí)中很重要,也很有用。
耗時(shí)估計(jì)的公式
:Y=X+X/N ,Y=X-X/N,訓(xùn)練次數(shù)多了,X、Y就接近了。
參考:軟件工程軟件的估計(jì)為什么這么難,軟件工程 估計(jì)方法
計(jì)劃學(xué)習(xí)時(shí)間:15小時(shí)
實(shí)際學(xué)習(xí)時(shí)間:18小時(shí)
參考資料
- 《深入理解計(jì)算機(jī)系統(tǒng)V3》學(xué)習(xí)指導(dǎo)
轉(zhuǎn)載于:https://www.cnblogs.com/ashin-kl/p/7921463.html
總結(jié)
以上是生活随笔為你收集整理的2017-2018-1 20155330 《信息安全系统设计基础》第11周学习总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java学习之动态代理
- 下一篇: 随机红包