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…

限制文本框只能输入数字和小数点

<input type"text" class"NumText" placeholder"只能输入数字&#xff08;可含有小数点&#xff09;"/><style> .NumText{width:200px;} .NumText::-webkit-input-placeholder{color:#F1923C;} .NumText:-moz-placeholder{…

C++STL总结笔记(二)——仿函数(函数对象)

文章目录一、概念总结一、概念 仿函数又称函数对象&#xff0c;即重载了函数调用运算符&#xff08;&#xff09;的类的对象。 优势&#xff1a; 1.仿函数对象的内部可以有自己的状态&#xff0c;可以实现一些其他的功能。 2.函数对象可以作为参数进行传递。 当仿函数类内重载…

【图像处理】——灰度变换心得(cv2.normalize规范化值0-255,cv2.convertScaleAbs(new_img)转为8位图)

目录 一、灰度变换函数 对数变换 加码变换 常见雷点 常见灰度变换函数

SQL Server2008 表旋转(pivot)技术

参考资料&#xff1a; http://www.cnblogs.com/xiashengwang/p/3503554.html转载于:https://www.cnblogs.com/lihuali/p/6014776.html

const和define 区别

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

学习笔记(三)

一.调试模式 define(APP_DEBUG, true); 调试模式的优势在于&#xff1a; 开启日志记录&#xff0c;任何错误信息和调试信息都会详细记录&#xff0c;便于调试&#xff1b;  关闭模板缓存&#xff0c;模板修改可以即时生效&#xff1b;  记录SQL日志&#xff0c;方便分析SQL…

【项目实战】——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…

C++STL总结笔记(三)—— 常见算法

文章目录一、基本概念二、程序示例1.遍历2. 查找3. 排序、拷贝、替换4. numeric相关算法总结一、基本概念 算法是STL中很重要的一部分&#xff0c;其功能包括比较&#xff0c;查找&#xff0c;排序&#xff0c;交换&#xff0c;遍历&#xff0c;复制等等。 最大的算法头文件是…

Java zip解压,并遍历zip中的配置文件 .cfg或.properties

1.解析cfg或properties配置文件 讲配置文件&#xff0c;读取&#xff0c;并封装成为map类型数据 /*** 解析cfg文件** param cfgFile* return*/public static Map<String, Object> readCfg(FileInputStream cfgFile) {Properties prop new Properties();Map<String, O…

db2 常用配置

db2set配置&#xff1a; db2set DB2_ENABLE_LDAPNO db2set DB2_ALTERNATE_GROUP_LOOKUPGETGROUPLIST db2set DB2_RESTORE_GRANT_ADMIN_AUTHORITIESON db2set DB2_SKIPINSERTEDON db2set DB2_LOAD_COPY_NO_OVERRIDENONRECOVERABLE db2set DB2_EVALUNCOMMITTEDON db2set DB2_SKIP…

安装完最小化 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…

【图像处理】——图像特效处理(马赛克、图像融合、毛玻璃等)

参考:https://blog.csdn.net/qq_43328040/article/details/109081414 import cv2 import numpy as np import random#马赛克:将一定大小窗口的RGB设置成一个颜色 def horseBox(img):row,col,chal = img.shapeboxRow = int(0.3*row)boxcol = int(0.3*col)for m in range(50,b…

JDK5.0新特性之:泛型

文/陈刚 2005-11-09 一、前言 泛型这个词在现在的JAVA挺时髦&#xff0c;光从字面上你是无法知道它代表些什么东东的&#xff0c;所以我们还是不要从字面去理解&#xff0c;而是从一些实例去了解它吧。 二、泛型之前的日子 &#xff2a;&#xff24;&#xff2b;&#xff11;.…

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;我们就可以在普通的实体类代码里面添加属性字段的中文注释&…

Ubuntu DNS bind9 配置

下面的配置就是实现解析test.zp.com到不同的IP地址 安装dns server软件包$ apt-get install bind9 配置dns配置文件的路径在/etc/bind路径下面添加一个zone$ /etc/bind# vim /etc/bind/named.conf.local 添加下面&#xff0c;语法可以参照/etc/bind/zones.rfc1918中的语法添加&…

微博分享错误

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