热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:20172018120155215《信息安全系统设计基础》第11周学习总结

2017-2018-120155215《信息安全系统设计基础》第11周学习总结

2017-2018-1 20155215 《信息安全系统设计基础》第11周学习总结

教材学习内容总结


目标内容:




  1. 理解虚拟存储器的概念和作用

  2. 理解地址翻译的概念

  3. 理解存储器映射

  4. 掌握动态存储器分配的方法

  5. 理解垃圾收集的概念

  6. 了解C语言中与存储器有关的错误




  • 第十一章:


  • 虚拟存储器


  • 虚拟存储器是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互。

  • 将主存看作是一个存储在磁盘上的地址空间的高速缓存,在主存中只保护活动的区域,并根据需要在磁盘和主存之间来回传送数据;


  • 保护了每个进程的地址空间不被其它进程破坏。


  • 虚拟存储器是中心的

  • 虚拟存储器是强大的


  • 物理和虚拟寻址


  • 物理地址PA

  • 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组,每字节都有一个唯一的物理地址PA。根据物理地址寻址的是物理寻址。

  • 地址翻译

  • 使用虚拟寻址时,CPU通过生成一个虚拟地址VA来访问主存,这个虚拟地址在被送到存储器之前先转换成适当的物理地址,相关硬件为存储器管理单元MMU。


技术分享图片


  • DRAM缓存的组织结构


不命中处罚很大
是全相联的——任何虚拟页都可以放在任何的物理页中。
替换算法精密
总是使用写回而不是直写。


  • 页表


页表:是一个数据结构,存放在物理存储器中,将虚拟页映射到物理页,就是一个页表条目的数组。
页表就是一个页表条目PTE的数组。
PTE:由一个有效位和一个n位地址字段组成的,表明了该虚拟页是否被缓存在DRAM中。 页表的组成:有效位+n位地址字段
如果设置了有效位
地址字段表示DRAM中相应的物理页的起始位置,这个物理页中缓存了该虚拟页。
如果没有设置有效位:
空地址:表示该虚拟页未被分配
不是空地址:这个地址指向该虚拟页在磁盘上的起始位置。


  • 缺页


  • DRA缓存不命中称为缺页。在不命中发生时,换入页面的策略称为按需页面调度。

  • 颠簸:工作集大小超出了物理存储器的大小。


  • 简化链接:独立的地址空间允许每个进程的存储器映像使用相同的基本格式,而不管代码和数据实际存放在物理存储器的何处。

  • 简化加载:虚拟存储器使得容易想存储器中加载可执行文件和共享文件对象。

  • 简化共享:独立地址空间为操作系统提供了一个管理用户进程和操作系统自身之间共享的一致机制。

  • 简化存储器分配:虚拟存储器为向用户进程提供一个简单的分配额外存储器的机制。


  • PTE的三个许可位:

  • SUP:表示进程是否必须运行在内核模式下才能访问该页

  • READ:读权限

  • WRITE:写权限


  • 动态存储器分配


  • 碎片


  • 内部碎片:发生在一个已分配块比有效载荷大的时候易于量化。

  • 外部碎片:发生在当空闲存储器合计起来足够满足一个分配请求,但是没有一个单独的空间块足以处理这个请求时发生
    难以量化,不可预测。


  • 垃圾收集



教材学习中的问题和解决过程



  • 问题1:为什么每个进程的内核页表需要单独分配存储空间?

  • 问题1解决方案:操作系统开启分页后,每个进程有自己独立的页目录与页表,cpu操作内存会自动将当前线性地址转换为物理地址(MMU负责),然后再放在地址总线上。所以每个进程即使访问相同的线性地址会最终对应到不同的物理地址,因为他们的pde与pte不同。


  • 问题2:内部碎片和外部碎片的区别是什么?


  • 问题2解决方案:要搞清楚内部碎片与外部碎片的区别首先要明白分页与分段
    为了有效的利用内存,使内存产生更少的碎片,要对内存分页,内存以页为单位来使用,最后一页往往装不满,于是形成了内部碎片。为了共享要分段,在段的换入换出时形成外部碎片,比如5K的段换出后,有一个4k的段进来放到原来5k的地方,于是形成1k的外部碎片。



代码调试中的问题和解决过程



  • 问题1:暂无


代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结



  • 有关高速缓存的说法正确的是()
    A .
    高速缓存的容量可以用C=SEB 来计算
    B .
    高速缓存容量为2048,高速缓存结构为( 32 ,8,8,32)
    C .
    直接映射高速缓存要:组选择、行匹配、字抽取

D .
当程序访问大小为2的幂的数组时,直接映射高带缓存中常发生冲突不命中
正确答案: A C D 你的答案: A B


  • The following table gives the parameters for a number of different caches. For
    each cache, determine the number of cache sets (S), tag bits (t), set index bits (s),
    and block offset bits (b)

Image 4.png
A .
第三行S为1
B .
第一行t为24
C .
第二行b为5
D .
第三行s的值为0
正确答案: A C D 你的答案: A D


  • 下面代码中()局部性最差

1 #define N 1000
2 3
typedef struct {
4 int vel[3];
5 int acc[3];
6 } point;
7 8
point p[N];

A .
1 void clear1(point p, int n)
2 {
3 int i, j;
4 5
for (i = 0; i 6 for (j = 0; j <3; j++)
7 p[i].vel[j] = 0;
8 for (j = 0; j <3; j++)
9 p[i].acc[j] = 0;
10 }
11 }
B .
1 void clear2(point
p, int n)
2 {
3 int i, j;
4 5
for (i = 0; i 6 for (j = 0; j <3; j++) {
7 p[i].vel[j] = 0;
8 p[i].acc[j] = 0;
9 }
10 }
11 }
C .
1 void clear3(point *p, int n)
2 {
3 int i, j;
4 5
for (j = 0; j <3; j++) {
6 for (i = 0; i 7 p[i].vel[j] = 0;
8 for (i = 0; i 9 p[i].acc[j] = 0;
10 }
11 }
D .
不确定
正确答案: C 你的答案: B


  • 程序中()语句具有良好的局部性
    A .
    顺序
    B .
    分支
    C .
    循环
    D .
    以上都是
    正确答案: C 你的答案: A


  • 有关局部性原理,说法正确的是()
    A .
    程序访问一个向量,步长越小或短,空间局部性越好
    B .
    局部性有两种形式:空间局部性,时间局部性
    C .
    程序访问一个向量,步长越大空间局部性越好。
    D .
    硬件、OS,应用程序都会用到局部性原理
    正确答案: A B D 你的答案: A B


  • 下面说法正确的是()
    A .
    CPU通过内存映射I/O向I/O设备发命令
    B .
    DMA传送不需要CPU的干涉
    C .
    SSD是一种基于闪存或Flash的存储技术
    D .
    逻辑磁盘块的逻辑块号可以翻译成一个(盘面,磁道,扇区 )三元组。


  • 下面()是I/O总线
    A .
    USB
    B .
    PCI
    C .
    网卡
    D .
    图形卡
    正确答案: B 你的答案: A


  • 有关磁盘操作,说法正确的是()
    A .
    对磁盘扇区的访问时间包括三个部分中,传送时间最小。
    B .
    磁盘以字节为单位读写数据
    C .
    磁盘以扇区为单位读写数据
    D .
    读写头总处于同一柱面
    正确答案: A C 你的答案: C D


  • 计算下面磁盘的容量():4个盘片,100000个柱面,每条磁道400个扇区,每个扇区512个字节
    A .
    81.92GB
    B .
    40.96GB
    C .
    163.84
    D .
    327.68GB
    正确答案: C 你的答案: A


  • 根据携带信号不同,总线可分为()


A .
系统总线
B .
数据总线
C .
内存总线
D .
地址总线
E .
控制总线
正确答案: B D E 你的答案: A C


  • 有关RAM的说法,正确的是()
    A .
    SRAM和DRAM掉电后均无法保存里面的内容。
    B .
    DRAM将一个bit存在一个双稳态的存储单元中
    C .
    一般来说,SRAM比DRAM快
    D .
    SRAM常用来作高速缓存
    E .
    DRAM将每一个bit存储为对一个电容充电
    F .
    SRAM需要不断刷新
    G .
    DRAM被组织为二维数组而不是线性数组
    正确答案: A D E G 你的答案: C D E G


结对及互评


点评模板:



  • 博客中值得学习的或问题:

    • 5232同学补充很多课程学习的内容



本周结对学习情况

- [20155232](http://www.cnblogs.com/lsqsjsj/p/7769029.html)

其他(感悟、思考等,可选)


学习进度条





















代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时

| 第四周 | 300/1300 | 2/9 | 30/90 | |

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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


  • 计划学习时间:XX小时


  • 实际学习时间:XX小时


  • 改进情况:


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

参考资料



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

  • 2017-2018-1 《信息安全系统设计基础》教学进程

  • 别出心裁的Linux系统调用学习法
































































































































































推荐阅读
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
author-avatar
as123466_866
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有