20145238-荆玉茗 《信息安全系统设计基础》第7周学习总结

20145238 《信息安全系统设计基础》第7周学习总结

教材学习内容总结

存储器系统

: 存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。

1、RAM随机访问存储器

  • 分类:SRAM(静态)、DRAM(动态)

  • 特点:存储单元的内容可按需随意取出或存入,这种存储器在断电时将丢失其存储内容,即掉电失忆(常说的电脑内存就是RAM的)。

-(1)SRAM
特点:1.不需要刷新电路即能保存它内部存储的数据。2.集成度较低,需要很大的体积。3.存取快。4.抗干扰。

应用:一般用来作为计算机中的高速缓冲存储器

优点:速度快,不必配合内存刷新电路,可提高整体的工作效率。
缺点:集成度低,功耗较大,相同的容量体积较大,而且价格较高,少量用于关键性系统以提高效率

-(2)DRAM
特点:每个位存储为对电容的充电;周期性的用读出然后写回的方式刷新存储器每个位。

应用:一般用来作为计算机中的高速缓冲存储器

2、ROM只读存储器

  • 分类:PROM、EPROM、E2PROM、FLASH

  • 特点:一次写入,反复读取,即非易失性。

-(1)PROM(可编程只读存储器)
只能被编程一次。每个存储器单元有一种熔丝,只能用高电流熔断一次。

-(2)EPROM(可擦写可编程只读存储器)
可重复擦除和编程次数达到1000次。

-(3)EEPROM(E2PROM电子可擦除可编程只读存储器)
: 不需要独立编程设备,可直接在印制电路卡上进行。
: 编程次数可达100000次。

-(4)FLASH(闪存)
: 非易失性的内存,基于EEPROM。

3、磁盘

(1)结构、容量
由一些盘片构成,盘片的正反面都能存储数据,每个盘片分成许多的磁道,每个磁道分成一些扇区。(通常一个扇区为512B。)
表面:每个盘片有两个表面

  • 主轴:盘片中央,可旋转
  • 旋转速率:通常5400~15000/min
  • 磁道:同心圆们
  • 扇区:每个磁道被划分为一组扇区
  • 数据位:每个扇区包含相等数量的~,通常为512字节
  • 间隙:存储用来标识扇区的格式化位
  • 磁盘驱动器-磁盘-旋转磁盘
  • 柱面:所有盘片表面上到主轴中心的距离相等的磁道的集合。

    磁盘的容量 = 每扇区大小每磁道扇区数磁道数 2 盘片数量

885730-20161030173739812-1898419452.png
(2)磁盘操作
885730-20161030173757828-143405725.jpg

磁盘以扇区大小的块来读写数据。对扇区的访问时间有三个主要部分:寻道时间、旋转时间、传送时间

  • 寻道时间:为了读取某个目标扇区的内容,传动臂首先将读写头定位到包含目标扇区的磁道上。移动传动臂所需的时间称为寻道时间。
  • 旋转时间:最大旋转延迟Tmax rotation=1/RPM * 60secs/1min。平均旋转时间Tavg rotation的一半。
  • 传送时间:Tavg transfer=1/RPM * 1/(平均扇区数/磁道) * 60secs/1min
  • 估计总访问时间=Tavg seek+Tavg rotation+Tavg transfer。因为寻道时间和旋转延迟大致相等,所以将寻道时间乘以2可简单估计磁盘访问时间。

(3)逻辑磁盘块

  • 目的是为了向操作系统隐蔽磁盘的结构复杂性。磁盘将其呈现为一个有B个扇区的逻辑块的序列;磁盘中有一个固件设备——磁盘控制器,维护者逻辑酷爱号和实际磁盘扇区之间的映射关系。操作系统是以逻辑块号为单位进行寻址操作的。

(4)总线

  • (I/O)设备是通过I/O总线(例如intel的PCI)连接到CPU和主存的。虽然它比系统总线和存储器总线要慢,但是可以容纳种类众多的第三方I/O设备。比如:通用串行总线;图形卡;主机总线适配器。

(5)I/O端口

  • CPU使用一种称为存储器映射I/O的技术来向I/O设备发出命令的。在使用其的系统中,地址空间中,有一块地址是为与I/O设备通信保留的;叫做I/O端口。

4、存储技术趋势

1.不同的存储技术有不同的价格和性能折中。
2.不同存储技术的价格和性能属性以截然不同的速率变化着。
3.DRAM和磁盘的性能滞后于CPU的性能。

局部性:

  • 计算机程序倾向于引用邻近于其他最近引用过的数据项的数据或其本身;这种倾向性,被称为局部性原理。包括:时间局部性,空间局部性。有良好局部性的程序比局部性差的程序运行的更快。
  • 体现:在硬件层,局部性原理允许计算机设计者通过引入称为高速缓存器的小而快的存储器来保存最近被引用的指令和数据项;在操作系统级,局部性原理允许系统使用主存作为虚拟地址空间最近被使用的磁盘块。
  • 重复引用一个变量的程序具有良好的时间局部性;对于取指令来说,循环具有良好的时间和空间局部性。循环体越小,循环迭代次数越多,局部性越好。

5、存储层次结构

1.中心思想:每层存储设备都是下一层的“缓存”。

2.任何时刻,第k层的缓存包含第k+1层块的一个子集的拷贝。

885730-20161030173812468-2129533120.jpg

结构

  • 高速缓存是一个小而快速的存储设备,它作为存储在更大也更慢的设备中的数据对象的缓冲区域。使用高速缓存的过程称为缓存。
  • 存储器层次结构的中心思想:对于每个k,位于k层的更快更小的存储设备作为位于k+1层的更大更慢的存储设备的缓存。
  • 第k+1层的存储器被划分成连续的数据对象片,称为块。数据总是以块大小为传送单元,在第k层和第k+1层之间来回拷贝。虽然在层次结构中任何一对相邻的层次之间块的大小是固定的,但是其他层次对之间可以有不同的块大小。

1. 缓存命中:当程序需要第k+1层的某个数据对象d时,首先在当前存储于第k层的一个块中查找d,且d刚好缓存在第k层。

2. 缓存不命中:当程序需要第k+1层的某个数据对象d时,首先在当前存储于第k层的一个块中查找d,且第k层没有缓存数据对象d。
覆盖一个现存的块的过程称为替换或驱逐这个块,被驱逐的这个块也称为牺牲块。决定该替换哪个块由缓存的替换策略控制。

3. 缓存不命中的种类:如果第k层的缓存为空,则对任何数据对象的访问都会不命中。

  • 冷缓存:空的缓存,此类不命中称为强制性不命中(冷不命中)。通常是短暂的事件,不会在反复访问存储器使得缓存暖身之后的稳定状态出现。
  • 只要发生了不命中,第k层的缓存就必须执行某个放置策略,确定把它从第k+1层中取出的块放在哪里。
  • 当工作集的大小超过缓存的大小时,缓存会经历容量不命中。

4.缓存管理:存储器层次结构的本质是每一层存储设备都是较低一层的缓存,在每一层上,某种形式的逻辑必须管理缓存。即某个东西要将缓存划分成块,在不同的层之间传送块,判断是命中还是不命中,并处理它们。

6、高速缓存存储器

  • 作用:连接CPU和主存
  • 每个存储器地址有m位,形成M=2^m个不同地址。这m位被划分成t个标记位、s个组索引位和b个块偏移位。
  • 这样一个机器的高速缓存被组织成S=2^s个高速缓存组的数组;每个数组包含E个高速缓存行;每行由一个B=2^b字节的数据块、一个有效位(指明这个行是否包含有效信息)、t=m-(b+s)个标记位(唯一标识存储在这个高速缓存行中的块)组成

直接映射高速缓存:

  • 高速缓存确定一个请求是否命中,然后抽搐被请求字的过程,分为:组选择,行匹配,字抽取
  • 组选择:从w的地址中抽取组索引;这些位被解释成对应于一个组号的无符号整数
  • 行匹配:对于直接映射高速缓存,行匹配是容易而且快的;因为每个组只有一行
  • 字匹配:块偏移提供的是这个字的第一个字节是从哪个位置开始的

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

课本习题

6.2
磁盘容量 = 512字节/扇区400扇区/磁道10 000磁道/表面2表面/盘片2盘片/磁盘 = 8 192 000 000 字节 = 8.192G

6.3
访问时间 = Taveseek+Taverotation+Tavetransfer = 8ms+0.51/15000RPM60secs.min1000ms/s+1/15000RPM1/50060secs/min1000ms/s=8ms+2ms+0.008ms=10.008ms

6.4
(1)最好的情况即顺序映射:T=Taveseek+Taverotation+2Tmaxrotation=5ms+3ms+26ms=20ms (2)非顺序映射,读每一块都需要Taveseek+Tavgrotation=8ms。所以读2000块总时间为T = 8ms*2000=16000ms=16s

6.11
在填充了之后,对于x和y数组,只有在引用第0个和第4个元素的时候发生不命中。因而命中率为75%

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

本周主要学习存储技术及其原理,对于高速缓存的一步一步的过程理解的还是有点不够深入,还需要自己多动手一步一步模拟cpu执行读取时发生了什么。

本周代码托管

代码托管链接

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/2002/220/20
第二周300/5002/418/38
第三周500/10003/722/60
第四周300/13002/930/90
第五周500/10003/1222/120
第六周100/13002/1530/150
第七周500/10003/1822/180

参考资料

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

转载于:https://www.cnblogs.com/20145238jym/p/6013561.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/256109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于两个jar包中存在包名和类名都完全相同的jar包冲突问题

2019独角兽企业重金招聘Python工程师标准>>> 最近弄webservice&#xff0c;我使用的jdk自带的wsimport工具来生成客户端代码&#xff0c;发现生成的代码具有编译错误&#xff0c;错误描述如下&#xff1a; The method getPort(QName, Class<T>) in the type S…

const和define 区别

1&#xff1a; 编译器处理不同 define宏是在预处理阶段展开&#xff0c;const常量是编译运行阶段使用。 2&#xff1a;类型和安全检查不同 const常量有数据类型&#xff0c;而宏常量没有数据类型&#xff0c;仅仅是展开。编译器可以对前者进行类型安全检查&#xff0c;而对后者…

【项目实战】——Python打包正装换底色代码为exe文件(可在其他无Python环境下运行)

目录 1.安装pyinstaller 2.生成.exe文件 方法1&#xff1a; 方法2&#xff1a; 方法3&#xff1a; &#xff08;1&#xff09;使用命令行窗口进入项目的根目录 &#xff08;2&#xff09;在改目录下执行pyi-makespec main.py&#xff08;main.py是你的主入口文件&#x…

安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(三)码农网

12. 安装 Apache Tomcat Tomcat 是由 Apache 设计的用来运行 Java HTTP web 服务器的 servlet 容器。按照下面的方法安装 tomcat&#xff0c;但需要指出的是安装 tomcat 之前必须先安装 Java。 # yum install tomcat 安装 Apache Tomcat 安装完 tomcat 之后&#xff0c;启动 to…

QT5.14.2基于PCL1.11.1显示点云(基于Windows VS2019开发环境)

文章目录一、安装1.1 PCL安装1.2 QT安装1.3 VTK编译二、程序配置1. 基于mscv创建QT的程序2. 配置QT工程文件和依赖项3. 编写点云显示的小程序总结一、安装 1.1 PCL安装 PCL1.11.1库的安装网上教程很多&#xff0c;推荐一个很好的教程&#xff1a; Win10 系统下 VisualStudio2…

Spring学习笔记—最小化Spring XML配置

自动装配(autowiring)有助于减少甚至消除配置<property>元素和<constructor-arg>元素&#xff0c;让Spring自动识别如何装配Bean的依赖关系。 自动检测(autodiscovery)比自动装配更进了一步&#xff0c;让Spring能够自动识别哪些类需要被配置成Spring Bean&#xf…

【数据结构】——快速排序

目录 一、代码 二、复杂度&#xff1a;O(nlog(n)) 三、快速排序的劣势 视频参考链接&#xff1a;https://www.bilibili.com/video/BV1mp4y1D7UP?p17 一、代码 思想&#xff1a;假设是对一个list进行排序 1、选取第一个元素作为p元素&#xff1b; 2、将p元素归位&#xff0…

读取数据库信息构建视图字段的备注信息,方便程序代码生成

在很多情况下&#xff0c;我们开发都需要有一个快速的代码生成工具用来提高开发效率&#xff0c;代码生成工具很多信息都是读取数据库的表、视图等元数据进行对象表信息的完善&#xff0c;有了这些信息&#xff0c;我们就可以在普通的实体类代码里面添加属性字段的中文注释&…

微博分享错误

昨天再做这块的时候&#xff0c;不知怎么的点击之后什么反应都没有&#xff0c;程序也没有崩&#xff0c;日志倒是输出了这个错误 解决办法&#xff1a;打开你写分享的代码跟API文档对比一下创建文本、图片或者网页的时候是不是少写了那个属性&#xff0c;我这里是在创建网页的…

代码生成工具之界面快速生成

界面开发&#xff0c;无论对于Web开发&#xff0c;还是Winform开发&#xff0c;都需要耗费一定的时间&#xff0c;特别对于一个数据库字段比较多的界面&#xff0c;一般就需要在编辑界面上摆的更多的控件来做数据显示&#xff0c;每次碰到这个&#xff0c;都有点头痛&#xff0…

javascript - 封装原生js实现ajax

1 /*2 * ajax方法3 */4 var Ajax function() {5 var that this;6 //创建异步请求对象方法7 that.createXHR function() {8 if(window.XMLHttpRequ…

QT对象树、信号和槽机制

文章目录一 、对象树是什么&#xff1f;二、信号和槽的基本概念2.1 信号2.2 槽2.3 松散耦合2.4 特点三、示例总结一 、对象树是什么&#xff1f; 对象树是由父类和若干子类对象组成&#xff0c;而子类也可以由若干孙类。 QT中的对象树是以QObject为起始父类来完成树的构建的&a…

【数据结构】——归并排序

目录 一、代码 二、随笔 一、代码 归并排序的主要思路&#xff1a;将两个有序的子列表归并为一个有序的大列表 #归并函数&#xff0c;假设li是由左右两个有序的子列表组成,假设两个子列表都是从小到大排好序的列表 def merge(li,low,mid,high)::param li: 由左右两个有序的子列…

开发发布npm module包

开发发布npm module包 问题 在项目开发过程中&#xff0c;每当进入一个新的业务项目&#xff0c;从零开始搭建一套前端项目结构是一件让人头疼的事情&#xff0c;就要重新复制一个上一个项目的前端框架和组件代码库。其中很多功能的模块组件都要重复拷贝&#xff0c;可以统一将…

如何使用ATS提高应用的安全性

App Transport Security&#xff0c;简短的说就是ATS&#xff0c;是iOS9和OS X El Capitan的一个新特性。App Transport Security 的目标是提高Apple 操作系统的安全性以及在此操作系统上运行的任何应用的安全性。 基于HTTP传输数据的网络请求都是明文。开启App Transport Secu…

手机客户端测试考虑的点

手机客户端测试考虑点总结 版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 此文未本人工作中的总结&#xff0c;特此总结。 异常场景&#xff1a; 网络异常&#xff0c;服务器异常&#xff0c;接口异常或参考参数篡改&#xff0c;断电&#xff0c;…

NMS(非极大值抑制)算法详解与示例

一、NMS是什么&#xff1f; NMS&#xff08;non maximum suppression&#xff09;即非极大值抑制&#xff0c;广泛应用于传统的特征提取和深度学习的目标检测算法中。 NMS原理是通过筛选出局部极大值得到最优解。 在2维边缘提取中体现在提取边缘轮廓后将一些梯度方向变化率较小…

【转载】ASP.NET应用程序与页面生命周期

在本文中&#xff0c;我们将了解不同的事件&#xff0c;ASP.NET 应用程序的生命周期以浏览器向 Web 服务器&#xff08;对于 ASP.NET 应用程序&#xff0c;通常为 IIS&#xff09;发送请求为起点&#xff0c;直至将请求结果返回至浏览器结束。在这个过程中&#xff0c;首先我们…

基于PCL的ICP及其变种算法实现

文章目录前言一、ICP算法基础1.1 提取待匹配点对1.2 计算旋转平移矩阵1.3 计算变换后的点和目标点之间的偏差二、ICP算法变种2.1 PLICP2.2 PointToPlane ICP2.3 NICP2.4 LM_ICP三、程序示例1. 传统方法2. PointToPlane ICP总结前言 ICP&#xff08;Iterative Closest Point&am…

【数据结构】——排序算法系列总结

目录 1、空间复杂度 2、稳定性 3、运行时间 4、目前默认的sort内置函数排序函数 5、六种常用排序方法 1、空间复杂度 空间复杂度产生的原因有两个&#xff1a;①重新定义了一块空间用于存储数据&#xff1b;②递归产生了栈空间 冒泡排序、选择排序、堆排序和插入排序属于…