20145314郑凯杰《信息安全系统设计基础》第7周学习总结 part B

上篇博客反思与深入

首先根据本周第一篇博客,娄老师给我的评论,我开始进行局部性的深入研究:

分为两个步骤,一是知识点深入,二是用实践深入:

①知识点

1、局部性有两种形式:时间局部性(temporal locality)和空间局部性(spatial locality)。在一个具有良好时间局部性的程序中,被引用过一次的存储器位置很可能在不远的将来再被多次引用;在一个具有良好空间局部性的程序中,如果一个存储器位置被引用了一次,那么程序很可能在不远的将来引用附近的一个存储器位置。

2、重复引用同一个变量的程序有良好的时间局部性。对于具有步长为k的引用模式的程序,步长越小,空间局部性越好;在存储器中以大步长跳来跳去的程序空间局部性会很差。

②实践操作

图1:

分析:

  • 由于sum会被多次引用,因此具有时间局部性。
  • 由于数组v的被顺序访问,因此具有空间局部性。
  • 这里是连续访问v的元素,称这种访问方式为具有步长为1的引用模式。

图2:

分析:

  • 由于sum会被多次引用,因此具有时间局部性。
  • 由于数组a的被顺序访问,因此具有空间局部性。这两点均同上,而且空间局部性更加突出。
  • 也是连续访问a中的元素,步长不变。

图3:

分析:

变化很大:

  • 由于sum会被多次引用,因此具有时间局部性。此点不变。
  • 空间局部性上,并不是顺序访问,所以影响很差。
  • 是跳跃访问,步长急速增大,随着步长增大,局部性下降。

图4:

分析:

我的排名是:

从好到坏:

clear1>clear2>clear3;

理由是:clear1程序里,执行的程序是先大循环,再小循环1,完毕后再小循环2。每个循环相对独立,顺序访问。

clear2程序里,执行的程序是大循环,小循环1+小循环2,有一定空间跳跃。

clear3程序里,执行的就是直接数组间跳跃,跳跃性更大,所以空间局限性更差。

存储器层次结构

熟记这张图:

知识重点突破 磁盘

磁盘操作

磁盘以扇区大小的块来读写数据。

访问时间的分类:

(1)寻道时间

——移动传动臂所用的时间。

依赖于读/写头以前的位置和传动臂在盘面上移动的速度。

通常为3-9ms,最大可达20ms。

(2)旋转时间

——驱动器等待目标扇区的第一个位旋转到读/写头下

依赖于盘面位置和旋转速度。

最大旋转延迟=1/RPM X 60secs/1min (s)

平均旋转时间是最大值的一半。

(3)传送时间

依赖于旋转速度和每条磁道的扇区数目

平均传送时间= 1/RPM x 1/(平均扇区数/磁道) x 60s/1min

访问一个磁盘扇区内容的平均时间为平均寻道时间,平均旋转延迟和平均传送时间之和。

根据课本393页的示例可以得出结论:

1.主要时间是寻道时间和旋转延迟。

2.将寻道时间x2是估计磁盘访问时间的简单而合理的方法。

也就是说:本部分主要需要记住的就是一个主要公式:

Taccess=Tavg seek + Tavg rotation + Tavg transfer

练习题6.3:

Tmax rotation = 60/15000 *1000 =4 ms

Tavg rotation = 1/2 Tmax rotation

Taccess = Tavg seek + Tavg rotation + Tavg transfer= 10.008ms

代码托管截图及链接

托管链接(逐个托管含注释)

http://git.oschina.net/qiaokeli26/linux

托管过程:

图5:

图6:

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第四周 0/600 1/2 38/38
第五周 435/1100 2/4 60/60
第六周 540/1350 6/7 90/90
第七周 664/1500 9/9 120/120

20145314郑凯杰《信息安全系统设计基础》第7周学习总结 part B的更多相关文章

  1. 20165223《信息安全系统设计基础》第九周学习总结 & 第八周课上测试

    目录 [第九周学习总结] 教材内容总结 [第八周课上测试] (一)求命令行传入整数参数的和 (二)练习Y86-64模拟器汇编 (三)基于socket实现daytime(13)服务器和客户端 参考资料 ...

  2. 20145314郑凯杰《信息安全系统设计基础》GDB调试32位汇编堆栈分析

    20145314郑凯杰<信息安全系统设计基础>GDB调试32位汇编堆栈分析 本篇博客将对第五周博客中的GDB调试32位汇编堆栈进行分析 首先放上以前环境配置的图: 图1: 测试代码: #i ...

  3. 20145314郑凯杰《信息安全系统设计基础》第9周学习总结 PART B

    20145314郑凯杰<信息安全系统设计基础>第9周学习总结 PART B 明确教材学习目标 注意每个系统调用的参数.返回值,会查帮助文档 阅读教材,完成课后练习(书中有参考答案),考核: ...

  4. 20145314郑凯杰《信息安全系统设计基础》第八周复习总结 Part A

    20145314郑凯杰<信息安全系统设计基础>第八周复习总结 Part A 学习知识点内容总结 复习线索:http://group.cnblogs.com/topic/73069.html ...

  5. 20145314郑凯杰《信息安全系统设计基础》第5周学习总结 part B

    20145314郑凯杰<信息安全系统设计基础>第5周学习总结 part B 在前四天的学习中,我主要对课本知识进行了总结,在本周后三天的学习过程中,我进行实践并截图. http://www ...

  6. 20145314郑凯杰《网络对抗技术》PE文件病毒捆绑(插入捆绑)的实现

    20145314郑凯杰<网络对抗技术>PE文件病毒捆绑(插入捆绑)的实现 一.本节摘要 简介:每个应用程序内部都有一定的空间(因为文件对齐余留的00字段)可以被利用,这样就可以保证被插入的 ...

  7. 20145314郑凯杰《网络对抗技术》实验9 web安全基础实践

    20145314郑凯杰<网络对抗技术>实验9 web安全基础实践 一.实验准备 1.0 实验目标和内容 Web前端HTML.能正常安装.启停Apache.理解HTML,理解表单,理解GET ...

  8. 20145314郑凯杰《网络对抗技术》实验5 MSF基础应用

    20145314郑凯杰<网络对抗技术>实验5 MSF基础应用 1.0 MS08_067安全漏洞 1.1 实验目标 了解掌握metasploit平台的一些基本操作,能学会利用已知信息完成简单 ...

  9. 20145314郑凯杰 《Java程序设计》第10周学习总结

    20145314郑凯杰 <Java程序设计>第10周学习总结 代码托管: 学习内容总结 网络编程 会打手机吗? 第一个问题:会打手机吗?很多人可能说肯定会啊,不就是按按电话号码,拨打电话嘛 ...

随机推荐

  1. hibernate配置文件分析

    <!--标准的XML文件的起始行,version='1.0'表明XML的版本,encoding='gb2312'表明XML文件的编码方式--> <?xml version='1.0' ...

  2. 关于redux适用的情况

    最近在包子在学习redux.redux是一个状态管理的东西.里面有状态树.最开始设计这个redux是为了方便去管理.因为随着web/移动端开发的越来越多元化,都是倾向于组件形式的.但是多个组件她们如果 ...

  3. rabbitmq延迟队列相关

    https://blog.csdn.net/qq_26656329/article/details/77891793        --------------rabbitmq queue_decla ...

  4. python基础-第九篇-9.1初了解Python线程、进程、协程

    了解相关概念之前,我们先来看一张图 进程: 优点:同时利用多个cpu,能够同时进行多个操作 缺点:耗费资源(重新开辟内存空间) 线程: 优点:共享内存,IO操作时候,创造并发操作 缺点:抢占资源 通过 ...

  5. python基础-第十篇-10.2CSS基础

    CSS是Cascading Style Sheet的简称,中文为层叠样式表 属性和属性值用冒号隔开,以分号结尾 引入方式 行内式--在标签的style属性中设定CSS样式 <body> & ...

  6. 【题解】P5151 HKE与他的小朋友

    [题解]P5151 HKE与他的小朋友 实际上,位置的关系可以看做一组递推式,\(f(a_i)=f(a_j),f(a_j)=f(a_t),etc...\)那么我们可以压进一个矩阵里面. 考虑到这个矩阵 ...

  7. embedded-redis在单元测试中的使用

    1 背景 参考链接:https://github.com/kstyrc/embedded-redis 2 使用 2.1 引入依赖 <dependency> <groupId>c ...

  8. django中实现微信消息推送

    -公众号(不能主动给用户发消息) -认证的公众号:需要营业执照,需要交钱,可以发多篇文章 -未认证的公众号:一天只能发一篇文章 -服务号(微信推送) -需要申请,需要认证 -可以主动给用户推送消息 - ...

  9. 如何用Qt Creator输出helloworld

    0 引言:相比于MFC只要直接在VS上搭建,Qt的配置就相对复杂了,Qt新手上路,老司机绕道,记录下配置Qt的整个过程,直到最终用C++输出“hello world”. 搭建环境:Win10 + qt ...

  10. 前端 Dom 直接选择器

    文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为关心的是,DOM把 ...