2017-2018-1 20155332 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155332 《信息安全系统设计基础》第九周学习总结

教材学习内容总结

  • 简单模型中,存储器是一个线性的字节数组。真实模型中,是一个具有不同容量,成本,访问时间的存储层次结构(存储器山)
  • 程序的局部性很重要,对程序性能有很重要的影响。
  • 计算机系统一个基本而持久的思想,如果你理解了系统是如何将数据在存储器层级结构中上下移动,你就可以编写程序,让数据存储在层次结构中较高的地方,从而CPU可以更快的访问到他们。
  • 编写程序实现功能是最简单的,如何让编写的程序拥有最高的性能,例如利用程序的局部性原理,才是更重要的
  • 程序的局部性分为时间局部性和空间局部性。

    时间局部性:程序更多的引用最近访问过的数据项集合。

    空间局部性:程序更多的引用邻近的数据项集合。

  • 原则有三:重复引用同一个变量;步长尽可能小;循环体越小,迭代次数越多。
  • 能量墙:增加CPU的时钟频率,芯片的功耗太大,于是转向多核。
  • 现代计算机系统的各个层次,从硬件到操作系统,再到应用程序,他们的设计都利用了局部性:缓存
  • 存储器层次结构:中心思想:对于每个K,位于K层的更小更快的存储设备作为K+1层设备的缓存。

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

问题1:存储技术分为哪几种

1.随机访问存储器(RAM, Random-Access Memory)

  1. SRAM,静态,双稳态
  2. DRAM,动态,敏感,存储器系统需要周期性地读写刷新存储器的每一位。(RAM, Random-Access Memory)

2.DRAM阵列

  1. DRAM组成二维阵列而不是一维线性数组的一个原因是降低芯片上地址引脚的数量。例如,16个超单元组成的阵列,二维和一维分别需要2个和4个地址引脚。二维组织的缺点是,地址必须分两步发送,增加了访问时间。(一个行地址,一个列地址)。
  2. 再加一个存储控制器和缓存行,收到行地址,读取整行放入缓存行,之后收到列地址,返回某一个超单元的数据。

3.访问主存

系统总线是一组并行的导线,能携带地址、数据和控制信号。但是不同总线不能直接互通,这就用到了I/O桥。

问题2:对扇区的访问时间分为哪几部分,

  1. 寻道时间:将磁头定位到目标扇区所在的磁道。这个时间依赖于磁头之前的位置和传动臂在盘面上移动的速度。通常3~9ms。
  2. 旋转时间:找到目标所在的第一个扇区。性能依赖于当前到达的磁道上相对目标扇区的位置和磁盘的旋转速度。

    传送时间:读写扇区内容的时间。依赖于旋转速度和当前磁道的扇区数目。

问题三:高速缓存器有什么作用

1.基本构造

(S, E, B, m),m是地址w的位长度。

  • S,S=2^s个组。
  • E,每组E个高速缓存行。
  • B,每个缓存行作为一个数据块,有B=2^b个字节。地址w的最后b位是块偏移。设计得真是巧啊,配合组号,正好可以把一段连续内存地存放在连续的缓存块里。
  • 1位有效位,指明该行是否有效。
  • t位标记位,t=m-b-s。唯一标识一个缓存行(数据块)

容量计算:

高速缓存确定一个请求是否命中,然后取出被请求的字的过程,分为三步:1)组选择,2)行匹配,3)字抽取。当且仅当设置了有效位,而且标记位与w地址中的标记位相匹配时才算命中。

2.分类

  • 直接映射高速缓存,每个组只有一行。
  • 组相联高速缓存,每个组不止一行。
  • 全相联高速缓存,只有一个组,所有的缓存行都在一个组里。

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

  • 问题1:XXXXXX
  • 问题1解决方案:XXXXXX
  • 问题2:XXXXXX
  • 问题2解决方案:XXXXXX
  • ...

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • 错题1及原因,理解情况
  • 错题2及原因,理解情况
  • ...

结对及互评

点评模板:

  • 博客中值得学习的或问题:

    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 其他

本周结对学习情况

- [结对同学学号1](博客链接)
- 结对照片
- 结对学习内容
    - XXXX
    - XXXX
    - ...

其他(感悟、思考等,可选)

xxx

xxx

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:XX小时
  • 实际学习时间:XX小时
  • 改进情况:

(有空多看看现代软件工程 课件

软件工程师能力自我评价表)

参考资料

时间: 2024-10-10 21:43:25

2017-2018-1 20155332 《信息安全系统设计基础》第九周学习总结的相关文章

20135223何伟钦—信息安全系统设计基础第九周学习总结

学习目的: 1. 掌握系统编程和系统调用的概念 2. 掌握系统编程错误处理的方式 3. 掌握Unix/Linux系统级I/O(open close read write seek stat) 4. 掌握RIO 5. 掌握I/O重定向的方法 一.Unix I/O Unix I/O定义:所有的I/O设备都被模型化为文件,所有的输入和输出都被当作 对相应文件的读和写来执行.这种将设备影射为文件的方式,称为Unix I/O (一)打开文件 (1)文件描述符:一个应用程序通过要求内核打开相应的文件,来宣告

20135219洪韶武-信息安全系统设计基础第九周学习总结

第九周学习总结 一.课本内容 1.每个unix文件都是一个m字节的序列:所有I/O设备如网络.磁盘和终端都被模型化为文件,而输入和输出就是对这些文件的读写操作. 2.unix系统中输入输出的操作: 打开文件:一个应用程序通过要求内核打开相应的文件,来宣告它想要访问一个I/O设备,内核返回一个小的非负整数,叫做描述符.unix系统创建每个进程的时候都有三个打开的文件:标准输入:标准输出,标准错误. 改变当前的文件位置.对于每个打开的文件,内核保持着一个文件位置k(从文件开头起始的字节偏移量). 读

信息安全系统设计基础第九周学习总结

(1)ls 用来显示文件的详细信息(用户名,群组名,大小,创建时间,读写执行权.) (2)who 如何查看当前登录的用户? -who am i 如何列出登录的用户? -who或-w (3)fileinfo显示文件信息 用来实现显示文件信息,建立了一个stat数据结构. 要先判断命令是否有操作数 (4)spwd列出当前目录 (5)mkdir命令用于创建一个新的目录.这个新的目录不仅可以使用绝对路径,也可以使用相对路径.但用户创建新目录的前提条件是:创建者对被创建新目录的父目录应有写权限. 如何在其

20135234马启扬-——信息安全系统设计基础第九周学习总结

怎样学习系统编程(利用Linux学习Linux编程) 1 分析实用程序/bin, /usr/bin, /usr/local/bin学习使用工具,分析工具,了解功能和原理2 学习系统调用函数和系统调用本质上都是函数.不同的库,不同的头文件分析需要哪些系统调用,学习系统调用的使用方法:参数?返回值?3 编程实现利用上面的原理和一组协同工作的系统调用,自己编程实现使用程序的功能或积极主动抄代码,学习那些系统调用是协同工作的 C语言的学习可以参考这个思路,实现标准库伴随我们学习经常要问的三个问题:能做什

信息安全系统设计基础第九周学习总结—20135227黄晓妍

第十章系统级I/O 输入/输出(I/O)是主存和外部设备(I/O设备)(如磁盘驱动器.终端.网络)之间拷贝数据的过程.输入是从I/O设备拷贝到主存.反之则反. 学习Unix I/O的原因: 帮助理解其他的系统概念. 有时只能使用Unix I/O.例如:读取文件元数据(文件大小和创建时间).另外,使用标准I/O库进行网编程非常冒险. 10.1Unix I/O Unix文件就是一个m字节的序列:b0,b1,b2….bm-1.所有的I/O设备都被虚拟化为文件.所有的输入输出都是在当成相对应的文件的读写

20135304刘世鹏——信息安全系统设计基础第九周总结

第十章.系统I/O 一个Unix文件就是一个m个字节的序列:B0,B1,…,BK,…,Bm-1 一.unix i/o 596 Unix I/O:一种将设备优雅地映射为文件的方式,允许Unix内核引出一个简单.低级的应用接口,这使得所有的输入输出都能以一种统一且一致的方式来执行: **1.打开文件:** - 内核返回一个小的非负整数,叫做描述符. -Unix外壳创建的每个进程开始时都有三个打开的文件:标准输入(描述符 为0).标准输出(描述符为1).标准错误(描述符为2). 2.改变当前文件位置:

信息安全系统设计基础第九章学习总结

第十章 系统级 I/O 学习过程 1 Unix I/O 输入输出(I/O)是在主存和外部设备之间拷贝数据的过程.一个Unix文件就是一个m个字节的序列,所有的I/O设备都被模型化为文件,而所有的输入和输出都被当做对应文件的读和写来执行. 打开文件.一个应用程序通过要求内核打开相应的文件来宣告它想要访问一个I/O设备.内核返回一个小的非负整数,称为描述符,在后续对此文件的所有操作中标识这个文件. Unix外壳创建的每个进程开始时都有三个打开的文件,可以用来 改变当前的文件位置.对于每个打开的文件,

20135304刘世鹏——信息安全系统设计基础第一周学习总结

第一节 Linux系统简介 一.Linux是一个操作系统 1. Linux 本身只是操作系统的内核.内核是使其他程序能够运行的基础. 它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序 实际上都运行在内核之上. 2. Linux 内核具备了挑战 UNIX 的所有本质特性,包括 TCP/IP 网络,图 形界面系统 二.linux与windows的区别 Linux 免费或少许费用. Linux 平台:大都为开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体

信息安全系统设计基础第二周学习总结

学习目标 1. 熟悉Linux系统下的开发环境    2. 熟悉vi的基本操作    3. 熟悉gcc编译器的基本原理    4. 熟练使用gcc编译器的常用选项    5 .熟练使用gdb调试技术    6. 熟悉makefile基本原理及语法规范    7. 掌握静态库和动态库的生成 内容一:vim编辑器的使用 1.vim编辑器的三种模式 Ⅰ正常模式:(按Esc或Ctrl+[进入) 左下角显示文件名或为空 Ⅱ插入模式:(按i键进入) 左下角显示--INSERT-- Ⅲ可视模式:左下角显示—V

信息安全系统设计基础第二周学习总结(一)

Linux下C语言编程基础实验报告 学习任务 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用gdb调试技术 6. 熟悉makefile基本原理及语法规范 7. 掌握静态库和动态库的生成 学习内容 1. 快捷键 2. vim 3. gcc 4. gdb 5. make与makefile 学习过程记录 第一部分 第一讲第一节:移动光标 H左.j下.k上.l右 第一讲第二节:VIM的进入和退出 <E