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


    上一篇链接:http://www.cnblogs.com/20145207lza/p/5999103.html#3542846

    讲在前面:这周一定出去

    练习题

    习题6.2

    计算这样一个磁盘的容量。它有2个盘片,10 000个柱面,每条磁道平均有400个扇区,每个扇区平均有512个字节。

    磁盘容量 = (512/400)4001000022= 8 192 000 000 字节 = 8.192GB

    习题6.3

    估计访问下面的一个磁盘上的一个扇区需要的时间(以ms为单位)。旋转速率:15000RPM;Taveseek = 8ms;每条磁道的平均扇区数:500

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

    习题6.4

    假设1MB的文件由512字节的逻辑块组成,存储在有如下特性的磁盘驱动器上(旋转速率:10 000RPM,Taveseek=5ms,平均扇区/磁道 = 1000)。 (1)最好的情况:给定逻辑块到磁盘扇区的最好的可能的映射(即,顺序的),估计读这个文件需要的最优时间 (2)随机的情况:如果块是随机地映射到磁盘扇区的,估计读这个文件需要的时间

    (1)T=Taveseek+Taverotation+2Tmaxrotation=5ms+3ms+26ms=20ms

    (2)在这种情况下,块被随机的映射到扇区上,读2000块的每一块都需要Taveseek+Tavgrotation=8ms。所以读这个文件的总时间为T = 8ms*2000=16000ms=16s

    习题6.8

    改变原函数中循环的顺序,使得它以步长为1的引用模式扫描三位数组a。

    int sumarray3d(int a[N] [N] [N])
    {
    int i,j,k,sum=0;
    for(k=0;k<N;k++){
    for(i=0;i<N;i++){
    for(j=0;j<N;j++){
    sum += a[k] [i] [j];
    }
    }
    }
    return sum;
    }
    

    习题6.9

    判断图中三个函数的空间局部性。

    函数clear1以步长为1的引用模式访问数组,因此明显的具有最好的空间局部性;函数clear2依次扫描N个结构中的每一个,这也可以,但是在每个结构中,它以步长不为1的模式跳到下列相对于结构起始位置的偏移处,所以clear2的空间局部性比clear1的差;函数clear3不仅在每个结构中跳来跳去,而且还从结构跳到结构,所以clear3的空间局部性最差。

    习题6.11

    在前面dotprod的例子中,在我们对数组x做了填充之后,所有对x和y的引用的命中率是多少?

    在对dotprod例子中对数组x定义为float x[12]后,填充消除了冲突不命中,也就是不会发生y[0] ~ y[3]的块被拷贝到组0,覆盖前一次引用拷贝进来的X的值的情况,因此有四分之三的引用是命中的。

    习题6.13

    有两个低位是块偏移(CO),然后是三位的组索引(CI),剩下的位作为标记(CT)

    代码托管情况:

  • 相关阅读:
    WPF GridControl单元格值与过滤值相同时,改变单元格背景色
    WPF 新手引导
    WPF 使用QRCoder生成二维码
    WPF MaterialDesignInXamlToolkit锁屏恢复后页面冻结的问题
    MVVM Caliburn.Micro学习记录
    手机分辨率DPI怎么计算
    SQLite数据类型
    Android给Viewpager默认指定页
    Android 禁止Viewpager左右滑动功能
    JAVA中获取当前系统时间
  • 原文地址:https://www.cnblogs.com/20145207lza/p/6013892.html
Copyright © 2020-2023  润新知