2018-2019-1 20165203 《信息安全系统设计基础》第十一周学习总结

教材学习内容总结

虚拟内存

  • 三个重要能力:
    • 将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和驻村之间来回传送数据。
    • 为每个进程提供了一致的地址空间,从而简化了内存管理。
    • 保护了每个进程的地址空间不被其他进程破坏。
  • 三大特点
    • 核心的
    • 强大的
    • 危险的

物理寻址

  • 定义:使用物理地址访问内存的过程是物理寻址。
  • 过程:如果CPU读取从物理地址4处开始的4个字节。当CPU执行这条加载指令时,会生成一个有效的物理地址,通过内存总线,把它传递给主存。主存取出从物理地址4处开始的4字节,并将它返回给CPU,CPU会将它存放在一个寄存器里,如图所示。

虚拟寻址

  • 定义:现代处理器的寻址方式。
  • 过程:CPU会通过生成一个虚拟地址来访问主存,这个虚拟地址在被送到内存之前先通过地址翻译转换成适当的物理地址。如图所示,

地址空间

  • 定义:一个非负整数地址的有序集合。
  • 线性地址空间:地址空间的数是连续的。
  • 一个包含N=2n个地址的虚拟地址空间就叫做一个n位地址空间。

虚拟内存作为缓存的工具

  • VM系统通过将虚拟内存分割为称为虚拟页的大小固定的块来处理这个问题。
  • 虚拟页面的集合的子集:
    • 未分配的(unallocated)
    • 缓存的(cached)
    • 未缓存的(uncached)
  • VM系统使用主存作为缓存的过程。

DRAM缓存的组织结构

  • 表示虚拟内存系统的缓存,它在主存中缓存虚拟页。

页表

  • 一个页表条目(PTE)的数组。
  • 虚拟地址空间中的每个页在页表中一个固定偏移量处都有一个PTE,假设每个PTE是由一个有效位和一个n位地址字段组成的。有效位表明了该虚拟页当前是否被缓存在DRAM中。如果设置了有效位,那么地址字段就表示DRAM中相应的物理页的起始位置,这个物理页中缓存了该虚拟页。如果没有设置有效位,那么一个空地址表示这个虚拟页还未被分配。否则,这个地址就指向该虚拟页在磁盘上的起始位置。
  • 页表示例。

地址翻译

  • 定义:地址翻译是一个N元素的虚拟地址空间(VAS)中的元素和一个M元素的物理地址空间(PAS)中的元素之间的映射。
  • 所需符号,如图所示。

  • 使用页表的地址翻译。

利用TLB加速地址翻译

  • 第1步:CPU产生一个虚拟地址。
  • 第2步和第3步:MMU从TLB中取出相应的PTE。
  • 第4步:MMU将这个虚拟地址翻译成一个物理地址,并且将它发送到高速缓存/主存。
  • 第5步:高速缓存/主存将所请求的数据字返回给CPU。

内存映射

  • 定义:Linux通过将一个虚拟内存区域与一个磁盘上的对象关联起来,以初始化这个虚拟内存区域的内容的过程。
  • 虚拟内存区域可以映射到两种类型的对象(Linux文件系统中的普通文件和匿名文件)。

再看fork函数

  • 当fork函数被当前进程调用时,内核为新进程创建各种数据结构,并分配给它一个唯一的PID。

再看execve函数

  • 作用:加载和执行程序。
  • 在当前进程中的程序执行了如下的execve调用:execve("a.out", NULL, NULL");
  • 加载运行a.out的步骤:
    • 删除已存在的用户区域。
    • 映射私有区域。
    • 映射共享区域。
    • 设置程序计数器(PC)。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

参考:软件工程软件的估计为什么这么难,软件工程 估计方法

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表)

参考资料

  • 《深入理解计算机系统V3》学习指导

转载于:https://www.cnblogs.com/20165203-xyx/p/10054222.html

2018-2019-1 20165203 《信息安全系统设计基础》第十一周学习总结相关推荐

  1. 20135219洪韶武——信息安全系统设计基础第十一周学习总结

    信息安全系统设计基础第十一周学习总结 学习时间:10小时 学习内容:课本第八章  一.重点内容 1.重点理解异常的概念.种类.问题处理 (1)控制流的概念 从处理器加点开始,直到断点为止,PC假设一个 ...

  2. 20135327郭皓——信息安全系统设计基础第十一周学习总结

    第十一周(11.16-11.22): 学习计时:共6小时 读书: 代码: 作业: 博客: 一.学习目标 1. 了解异常及其种类 2. 理解进程和并发的概念 3. 掌握进程创建和控制的系统调用及函数使用 ...

  3. 信息安全系统设计基础第十一周学习总结

    第八章 异常控制流 ECF:(异常控制流)突变集合 平滑:顺序结构的指令 突变:跳转.调用.和返回等指令,不在同一栈 基本机制:ECF是操作系统用来实现I/O.进程和虚拟存器的基本机制   ECF是计 ...

  4. 2018-2019 20165203 《信息安全系统设计基础》第一周学习总结

    2018-2019-1 20165203 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 编译:gcc [选项] [文件名] 选项参数表 参数 对应功能 -E 仅执行编译预处理 ...

  5. # 2017-2018-1 20155224 《信息安全系统设计基础》第九周学习总结

    2017-2018-1 20155224 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器 随机访问存储器(RAM): 静态RAM:用来作为高速缓存存储器,每个位存储在一个 ...

  6. 2018-2019-1 20165206 《信息安全系统设计基础》第九周学习总结

    - 2018-2019-1 20165206 <信息安全系统设计基础>第九周学习总结 - 教材学习内容总结 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组.每个字节都有一 ...

  7. 20135203齐岳 信息安全系统设计基础第十三周学习总结

    20135203齐岳 信息安全系统设计基础第十三周学习总结 学习计时:8/9共小时(计划/实际) 读书:4/5 代码:1/1 作业:1/1 博客:2/2 第十二章 并发编程 一.学习目标 掌握三种并发 ...

  8. # 20155337 2017-2018-1 《信息安全系统设计基础》第一周学习总结

    20155337 2017-2018-1 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 1.1信息就是位+上下文 hello.c程序是以字节序列的方式储存在文件中的.每个字节都 ...

  9. 20135219洪韶武——信息安全系统设计基础第五周学习总结

    信息安全系统设计基础第五周学习总结 学习任务:教材第四章[处理器体系结构] 学习时间:10小时  一.教材知识点梳理[4.1-4.3] 1.ISA[指令集体系结构] 一个处理器支持的指令和指令的字节级 ...

  10. 20145227《信息安全系统设计基础》第一周学习总结

    20145227<信息安全系统设计基础>第一周学习总结 学习内容总结 Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命 ...

最新文章

  1. Linux虚拟机NAT模式设置固定ip
  2. where and when is Angular scope initialized
  3. c语言怎样输入动态数组代码,求助~~ 如何把数组变成动态输入的?
  4. python多进程运行MIC(最大信息系数)
  5. Android开发笔记(四十三)点击事件
  6. Cisco ASA ‘LU allocate xlate failed’排错一例
  7. 标准化画图【cmap】【imshow】【EllipseSkyRegion】【contour】【set_ticklabels】【coords】【colorbar】
  8. 分析LOIC流,判断DDoS攻击源
  9. Android 垃圾回收机制★★★
  10. 第一篇:初识信息系统监理工程师
  11. .bat 常用命令
  12. php形状特征提取方法,LowB沙箱-PHP动态特征提取
  13. python中endswith函数什么意思_Python中endswith()函数的基本使用
  14. 完工后的决算书范本_装修竣工结算书范本谁能给份
  15. Win10 关闭Bitlocker,Bitlocker解密进度条始终卡在96%的解决方法
  16. Arduino控制SD卡(一)
  17. 51JOB:根据HR处理简历的一般流程,简历投递后会有如下几种状态出现
  18. 面试java工程师的自我介绍
  19. 高性能电工·电子技术实训考核装置
  20. Git命令详解及工作实用流程

热门文章

  1. 爬虫告诉你, 互联网大数据行业有多赚钱!
  2. 广告投入是怎样提高新用户数的(岭回归及主成分回归) | R语言商业分析实践3
  3. 如何在 webpack 项目中使用绝对路径
  4. 移动端网页开发注意点
  5. elasticsearch 中文API 索引(三)
  6. 使用验证控件出现错误:要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。”的解决办法。...
  7. AS3多人游戏开发—同步人物移动2
  8. 微服务熔断限流Hystrix之流聚合
  9. Auto layout 的使用
  10. jq为a标签绑定的onclick事件在移动端不响应