2017-2018-1 20155330 《信息安全系统设计基础》第11周学习总结
2017-2018-1 20155330 《信息安全系统设计基础》第11周学习总结
教材学习内容总结
物理和虚拟寻址
- 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组。每字节都有一个唯一的物理地址。
- CPU访问内存的最自然的方式就是使用物理地址,称为物理寻址。
现代处理器使用虚拟寻址的寻址形式。CPU通过生成一个虚拟地址 来访问主存,这个虚拟地址在被送到内存之前先转换成适当的物理地址。将一个虚拟地址转换为物理地址的任务叫做地址翻译。
地址空间
- 地址空间是一个非负整数地址的有序集合:
- 线性地址空间:地址空间中的整数是连续的。
- 线性地址空间:在一个带虚拟内存的系统中,CPU从一个有N=2^(n)个地址的地址空间中生成虚拟地址。
一个地址空间的大小是由表示最大地址所需要的位数来描述。一个包含N=2^(n)个地址的虚拟地址空间就叫做一个n位地址空间。现代系统通常支持32位或64位虚拟地址空间。
虚拟内存作为缓存的工具
- 在任意时刻,虚拟页面的集合都分为三个不相交的子集:
- 未分配的:VM系统还未分配(或创建)的页。未分配的块没有任何数据和它们相关联,因此也就不占用任何磁盘空间。
- 缓存的:当前已缓存在物理内存中的已分配页。
- 未缓存的:未缓存在物理内存中的已分配页。
- 页表就是一个页表条目(PTE)的数组。虚拟地址空间中的每个页在页表中一个固定偏移量处都有一个PTE。
- 有效位表明该虚拟页当前是否被缓存在DRAM中。如果设置了有效位,那么地址字段就表示DRAM中相应的物理页的起始位置,这个物理页中缓存了该虚拟页。
DRAM缓存不命中成为缺页。
地址翻译
地址翻译是一个N元素的虚拟地址空间(VAS)中的元素和一个M元素的物理地址空间(PAS)中元素之间的映射
- 利用TLB加速地址翻译:所有的地址翻译步骤都是在芯片上的MMU中执行的。
- 用来压缩页表的常用方法是使用层次结构的页表。
- 访问设备时引荐如何划分虚拟地址和物理地址的位:
- TLB:利用VPN的位进行虚拟寻址。
- 页表:用索引它的VPN来标识每个PTE。但这些VPN并不是页表的一部分,也不储存在内存中。
高速缓存:直接映射的缓存是通过物理地址中的字段寻址。
案例研究:Intel Core i7/Linux 内存系统
- Core i7地址翻译过程
Linux缺页处理
内存映射
- 虚拟内存区域可以映射到两种类型的对象中的一种:
- Linux文件系统中的普通文件:一个区域可以映射到一个普通磁盘文件的连续部分。
匿名文件。
动态内存分配
- 动态内存分配器维护着一个进程的虚拟内存区域,称为堆。
- 分配器将堆视为一组不同大小的块的集合进行维护。
- 分配器有两种基本风格,都要求应用显式地分配块,不同之处在于由哪个实体来负责释放已分配的块:
- 显式分配器:显式地释放任何已分配的块。
- 隐式分配器:要求分配器检测一个已分配块何时不再被程序所使用,那么就释放这个块。也叫做垃圾收集器。
- 显式分配器的要求和目标:
- 处理任意请求序列。
- 立即响应请求。
- 只使用堆。
- 对齐块(对齐要求)。
- 不修改已分配的块。
- 分配器的目标就是在整个序列中使峰值利用率U^(n-1)最大化。
- 造成堆利用率很低的主要原因是一种称为碎片的现象。有两种形式:内部碎片和外部碎片。
- 内部碎片:在一个已分配块比有效载荷大时发生。
外部碎片:当空闲内存合计起来足够满足一个分配请求,但是没有一个单独的空闲块足够大可以来处理这个请求时发生。
教材学习中的问题和解决过程
- 问题1:
问题1解决方案:
虚拟地址位数(n) | 虚拟地址数(N) | 最大可能的虚拟地址 |
---|---|---|
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 |
代码托管
结对及互评
本周结对学习情况
- 20155321
- 结对学习内容
- 第9章 虚拟内存
- 实验四 外设驱动程序
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 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 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
参考:软件工程软件的估计为什么这么难,软件工程 估计方法
计划学习时间:15小时
实际学习时间:18小时
参考资料
- 《深入理解计算机系统V3》学习指导
转载于:https://www.cnblogs.com/ashin-kl/p/7921463.html
2017-2018-1 20155330 《信息安全系统设计基础》第11周学习总结相关推荐
- 20145217信息安全系统设计基础第11周学习总结
一.知识点梳理 (一)异常控制流概述 控制转移:从一条指令到下一条指令的过渡. 控制流:控制转移序列. 最简单的控制流:平滑的序列,每条指令在存储器中都是相邻的. 平滑流的突变:由于跳转.调用和返回等 ...
- # 2017-2018-1 20155224 《信息安全系统设计基础》第九周学习总结
2017-2018-1 20155224 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器 随机访问存储器(RAM): 静态RAM:用来作为高速缓存存储器,每个位存储在一个 ...
- 2018-2019-1 20165206 《信息安全系统设计基础》第九周学习总结
- 2018-2019-1 20165206 <信息安全系统设计基础>第九周学习总结 - 教材学习内容总结 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组.每个字节都有一 ...
- 20135203齐岳 信息安全系统设计基础第十三周学习总结
20135203齐岳 信息安全系统设计基础第十三周学习总结 学习计时:8/9共小时(计划/实际) 读书:4/5 代码:1/1 作业:1/1 博客:2/2 第十二章 并发编程 一.学习目标 掌握三种并发 ...
- # 20155337 2017-2018-1 《信息安全系统设计基础》第一周学习总结
20155337 2017-2018-1 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 1.1信息就是位+上下文 hello.c程序是以字节序列的方式储存在文件中的.每个字节都 ...
- 20135219洪韶武——信息安全系统设计基础第五周学习总结
信息安全系统设计基础第五周学习总结 学习任务:教材第四章[处理器体系结构] 学习时间:10小时 一.教材知识点梳理[4.1-4.3] 1.ISA[指令集体系结构] 一个处理器支持的指令和指令的字节级 ...
- 20145227《信息安全系统设计基础》第一周学习总结
20145227<信息安全系统设计基础>第一周学习总结 学习内容总结 Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命 ...
- 2018-2019 20165203 《信息安全系统设计基础》第一周学习总结
2018-2019-1 20165203 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 编译:gcc [选项] [文件名] 选项参数表 参数 对应功能 -E 仅执行编译预处理 ...
- 2018-2019-1 20165221 《信息安全系统设计基础》第一周学习总结
2018-2019-1 20165221 <信息安全系统设计基础>第一周学习总结 教材学习总结 有关vim 打开方式:vim [文件名] 按i会进入insert模式,可以对代码进行编辑 按 ...
- 2017-2018-1 20155209 《信息安全系统设计基础》第一周学习总结
2017-2018-1 20155209 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 计算机系统就是由可以看到的硬件和系统内的软件组成的,然后用来运行应用程序. 我们平时使用 ...
最新文章
- 洛谷P1832 A+B Problem(再升级)
- TVS二极管,双向封装,如何选型?
- 在拉取和推送都存在,冲突时,用命令行解决
- html文本显示状态代码中,HTML文本显示状态代码中,表示?
- 使用webpack、babel、react、antdesign配置单页面应用开发环境
- html th表格居中,HTML----之表格
- windows+caffe(二)——图片转换为levedb格式
- 支付宝澄清使用华为方舟编译器;三星苹果遭遇集体诉讼;PHP 7.4.0 beta4 发布 | 极客头条...
- jquery获取图片的宽度
- java包资源_Java获取jar包以外资源的方法
- 小知识--电脑隐藏文件
- 医院职工离职申请证明模板,共计10篇
- Mac没有winnt格式_Mac磁盘到底要不要分区?
- mkfs.ext3 快速格式化_求救!固态硬盘格式化不了!
- 当冬日阳光照耀我孤苦的心怀
- 删除vlan 华为s5720_华为S5720系列交换机快速配置手册常用命令 - Late Winter
- python求解四阶微分方程_用Python求解二阶常微分方程组的RungeKutta四阶解
- GAP:Learning Contextual Representations for Semantic Parsing with Generation-Augmented Pre-Training
- python汉明距离_simhash+汉明距离计算文本相似度
- Flink(五):watermark简介