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

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

教材学习内容总结

学习目标

  • 理解虚拟存储器的概念和作用
  • 理解地址翻译的概念
  • 理解存储器映射
  • 掌握动态存储器分配的方法
  • 理解垃圾收集的概念
  • 了解C语言中与存储器有关的错误

教材内容提炼

第2章 信息的表示和处理

  • 一、概述

虚拟存储器的三个重要能力:

它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,高效的使用了主存

它为每个进程提供了一致的地址空间,从而简化了存储器管理

它保护了每个进程的地址空间不被其他进程破坏

虚拟存储器是中心的、强大的、危险的。

二、地址

1.物理和虚拟寻址

(1)物理寻址

主存被组织成一个由M个连续的字节大小的单元组成的数组,依次类推的寻址方式称为物理寻址。

(2)虚拟寻址

CPU生成一个虚拟地址(VA)来访问主存,在被传送到存储器之前先转换成适当的物理地址。地址翻译通过CPU芯片上的存储器管理单元完成。

2.地址空间

地址空间是一个非负整数地址的有序集合:{0,1,2,……}

(1)线性地址空间

地址空间中的整数是连续的。

(2)虚拟地址空间

CPU从一个有 N=2^n 个地址的地址空间中生成虚拟地址,这个地址空间成为称为虚拟地址空间。

(3)物理地址空间

与系统中的物理存储器的M个字节相对应。

(4)地址空间的大小

由表示最大地址所需要的位数来描述。

N=2^n:n位地址空间

主存中的每个字节都有一个选自虚拟地址空间的虚拟地址和一个选自物理地址空间的物理地址。

三、虚拟存储器

1.作为缓存的工具

虚拟存储器——虚拟页VP,每个虚拟页大小为P=2^平字节

物理存储器——物理页PP,也叫页帧,大小也为P字节。

任意时刻,虚拟页面的集合都被分为三个不相交的子集:

未分配的:VM系统还没分配/创建的页,不占用任何磁盘空间。

缓存的:当前缓存在物理存储器中的已分配页

未缓存的:没有缓存在物理存储器中的已分配页

(1)DRAM缓存的组织结构

不命中处罚很大

是全相联的——任何虚拟页都可以放在任何的物理页中。

替换算法精密

总是使用写回而不是直写。向零舍入

代码托管

上周考试错题总结

CH03

  1. 假设用ADD指令完成C表达式t=a+b的功能,有关条件码寄存器的说法正确的是()

    A. 若t==0 ,则ZF=1

    B. 若t<0, 则CF=1

    C. 若t<0, 则SF=1

    D. 若(a<0==b<0)&&(t<0 != a<0), 则OF=1

    E. 若(a<0==b<0)&&(t<0 != a<0), 则CF=1

    F. leaq指令不影响条件码寄存器

    G. cmp指令不影响条件码寄存器

    【错选】A B D G

    【答案】A D F

    【解析】参考课本p135

  2. 以下代码是将void decode1(long xp, long yp, long *zp)反汇编的结果,下面说法正确的是()

    A. 从汇编代码看出,decode1的参数先入栈的是zp

    B. 从汇编代码看出,decode1的参数先入栈的是xp

    C. 函数功能等价于 t=x; x=y; y=z; z=t;

    D. 函数功能等价于 x=y; y=z; z=x;

    【错选】B C

    【答案】C

  3. 对于图中内存地址和寄存器的值,下面说法正确的是()

    A. %rax的值是0x100

    B. (%rax)的值是0x100

    C. (%rax)的值是0x104

    D. (%rax)的值是0xFF

    E. 4(%rax)的值是0xAB

    F. (%rax,%rcx,4)的值是0xAB

    G. (%rax,%rcx,4)的值是0x104

    【错选】A D E

    【答案】A D E F

    【解析】参考课本p121

CH08

  1. 有关exec系列函数,下面说法正确的是()

    A. 可以用char[][] 来传递argv

    B. 进程调用了exec系列函数后,pid会变

    C. 进程调用了exec系列函数后,代码会改变

    D. system()和exec系列等价

    E. exec系列函数中带e的要传入环境变量参数

    F. exec系列函数中带v的要传入环境变量参数

    【错选】A C E

    【答案】C E

    【解析】不能用char[][] 来传递argv,结尾的0(null)无法处理;system=fork+exec+wait;

  2. 有关wait类系统调用,说法正确的是()

    A. wait(&status) 等价于waitpid(-1, &status, 0)

    B. 父进程中执行waitpid, 等待集合中的所有子进程结束了才返回

    C. 父进程中执行waitpid, 等待集合中的任一子进程结束了才返回

    D. 子进程中的退出状态在wait的status参数返回

    【错选】A B D

    【答案】A C D

    【解析】参考课本p516 517 518

  3. 有关fork(),下面说法正确的是()

    A. 一次调用,两次返回

    B. 子进程中,fork()返回子进程PID

    C. 子进程可以读写父进程中打开的文件

    D. 子进程和父进程的用户级虚拟地址空间相同但独立

    【错选】A D

    【答案】A C D

    【解析】参考课本p514

  4. 关于代码 int main(){} 说法正确的是()

    A. 返回值是0

    B. 返回值不确定

    C. 会调用exit(0)

    D. 返回值大于0

    E. 上面代码运行完,在命令行中运行echo $? 的值是0

    【错选】A E

    【答案】A C E

    【解析】main中不调用exit,会补上exit(0)

  5. 用户进程可以通过()访问内核代码和数据

    A. 特权指令

    B. 系统调用

    C. 模式位

    D. 程序计数器

    【错选】C

    【答案】B

    【解析】参考课本p510

  6. 进程上下文包括程序的( )

    A. 代码和数据

    B. 栈

    C. 通用寄存器中的内容

    D. 程序计数器

    E. 环境变量

    F. 打开的文件描述符的集合

    【错选】B C D F

    【答案】A B C D E F

    【解析】参考课本p508

  7. Linux中,信号(Signal)是一种()异常控制流。

    A. 硬件层

    B. 操作系统层

    C. 用户层

    D. 网络层

    【错选】B

    【答案】C

    【解析】参考课本p501

结对及互评

学习进度条

代码行数(新增积) 博客量(新增积) 学习时间(新增积) 重要成长
目标 5000行 30篇 400小时
第11周 500/2500 2/2 20/20

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

耗时估计的公式

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

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

  • 计划学习时间:25小时
  • 实际学习时间:20小时

参考资料

时间: 2024-11-05 19:37:30

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

20145309信息安全系统设计基础第11周学习总结后篇

进程 异常是允许操作系统提供进程的概念所需要的基本构造块. 进程:一个执行中的程序的实例. 上下文是由程序正确运行所需要的状态组成的,这个状态包括存放在存储器中的程序的代码和数据,它的栈.通用目的寄存器的内容.程序计数器.环境变量以及打开文件描述符的集合. 进程提供给应用程序的关键抽象: 一个独立的逻辑控制流,独占地使用处理器: 一个私有的地址空间,独占地使用存储器系统. 并发流:一个逻辑流的执行在时间上与另一个流重叠. 并发:多个流并发地执行的一般现象. 多任务:一个进程和其他进程轮流运行的概

20145309信息安全系统设计基础第11周学习总结前篇

教材学习内容总结 异常 异常:处理器中的变化(事件)触发从应用程序到异常处理程序的突发的控制转移 异常处理程序:在任何情况下,当处理器检测到有事件发生时,它就会通过一张叫做异常表的跳转表进行一个间接过程调用,到一个专门处理这类时间的操作系统子程序 当 exception handler处理结束之后,会有三种结果: ·处理程序将控制返回给事件发生的时候正在执行的指令 ·处理程序将控制返回给如果没有发生异常将会执行的下一条指令 ·处理程序终止被终端的程序 所有的到Linux系统调用的参数都是通过寄存

20145216 史婧瑶《信息安全系统设计基础》第一周学习总结

20145216 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 Linux基础 1.ls命令 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略.我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录.其中“-a” 就是选项,改变了显示的内容.如图所示: 2.man命令 man命令可以查看帮助文档,如 man man : 若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数:若不加数字,那man命令默认从数字较

20145311 《信息安全系统设计基础》第一周学习总结

20145311 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 常用的部分命令 CTRL+SHIFT+T:新建标签页,编程时有重要应用: ALT+数字N:终端中切换到第N个标签页,编程时有重要应用: Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成: CTRL+C:中断程序运行 Ctrl+D:键盘输入结束或退出终端 Ctrl+S: 暂定当前程序,暂停后按下任意键恢复运行 Ctrl+A: 将光标移至输入行头,相当于Home键 Ctrl+E

20145216史婧瑶《信息安全系统设计基础》第九周学习总结

20145216史婧瑶<信息安全系统设计基础>第九周学习总结 教材内容总结 第十章 系统级I/O 输入/输出(I/O)是在主存和外部设备之间拷贝数据的过程. 第一节 Unix I/O 这一节涉及到操作系统的基本抽象之一--文件.也就是说,所有的I/O设备都被模型化为文件,而所有的输入输出都被当做对相应文件的读/写.相关的执行动作如下: 1.打开文件: 应用程序向内核发出请求→要求内核打开相应的文件→内核返回文件描述符 文件描述符:一个小的非负整数,用来在后续对此文件的所有操作中标识这个文件.有

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

20145311 <信息安全系统设计基础>第二周学习总结 教材学习内容总结 重新学习了一下上周的一部分命令:grep main wyx.c(grep的全文检索功能)ls > ls.txt :ls内容输出到文本find pathname -mtime -n/+nfind -size -n/+n (find的功能还是比较强大) 简单地学习了一下vim编辑器,跟着vimtutor简单地学了一些,在linux bash中使用vim能够极大地提高效率, vim的用法比较多,只学习了其中简单的一部分

20145339《信息安全系统设计基础》第一周学习总结

20145339顿珠达杰<信息安全系统设计基础>第一周学习总结 ◆ Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 物理机系统上可以通过使用[Ctrl]+[Alt]+[F1]-[F6]进行终端和图形界面切换,在线实验环境中按下[Ctrl]+[Alt]+[F7]来完成切换.普通意义上的 Shell 就是可以接受用户输入命令的程序,Unix/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的

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

2017-2018-1 20155228 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 常见的存储技术 RAM 随机访问存储器(Random-Access Memory, RAM)分为两类:静态的和动态的.静态 RAM(SRAM)比动态RAM(DRAM)更快,但也贵得多.SRAM用来作为高速缓存存储 器,既可以在CPU芯片上,也可以在片下.DRAM用来作为主存以及图形系统的帧缓冲 区.典型地,一个桌面系统的SRAM不会超过几兆字节,但是DRAM却有几百或几千兆 字节. SRAM将每

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

2017-2018-1 20155332 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 简单模型中,存储器是一个线性的字节数组.真实模型中,是一个具有不同容量,成本,访问时间的存储层次结构(存储器山) 程序的局部性很重要,对程序性能有很重要的影响. 计算机系统一个基本而持久的思想,如果你理解了系统是如何将数据在存储器层级结构中上下移动,你就可以编写程序,让数据存储在层次结构中较高的地方,从而CPU可以更快的访问到他们. 编写程序实现功能是最简单的,如何让编写的程序拥有最高的性能,例

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

2017-2018-1 20155227 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 第六章 随机访问存储器 随机访问存储器分为:静态RAM(SRAM)和动态RAM(DRAM),静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵很多. (1)静态RAM SRAM将每个位存储在一个双稳态的存储器单元里,每个单元是用一个六晶体管电路来实现的. 属性:它可以无限制地保持在两个不同的电压配置或状态之一.其他任何状态都是不稳定的. 特点:由于SRAM的双稳态特性,只要有电,它就会永