zoukankan      html  css  js  c++  java
  • 20145314郑凯杰《信息安全系统设计基础》第7周学习总结 part B

    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
  • 相关阅读:
    小师妹学JVM之:JDK14中JVM的性能优化
    小师妹学JVM之:深入理解JIT和编译优化-你看不懂系列
    小师妹学JVM之:GC的垃圾回收算法
    小师妹学JVM之:JVM的架构和执行过程
    小师妹学JavaIO之:用Selector来发好人卡
    小师妹学JavaIO之:NIO中那些奇怪的Buffer
    小师妹学JavaIO之:MappedByteBuffer多大的文件我都装得下
    小师妹学JavaIO之:NIO中Channel的妙用
    小师妹学JavaIO之:Buffer和Buff
    小师妹学JavaIO之:文件File和路径Path
  • 原文地址:https://www.cnblogs.com/5314zkj/p/6013211.html
Copyright © 2011-2022 走看看