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

时间:2021-03-03 03:31:00

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

搜索指令:man -k

例: man -k k1 | grep k2 | grep 数字

搜索同时含有k1 k2 最后的数字代表区段,常用的: 1.Linux 2.系统调用 3.c语言

Vim指令:

进入插入模式:i

退出插入模式:Esc

命令行::

保存并退出:wq

只退出不保存:q

Gcc与Gdb:

GCC

gcc 编译程序的流程(参数是ESc,文件的后缀是iso)
预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp
编 译:gcc –S hello.i –o hello.s;gcc –S调用ccl
汇 编:gcc –c hello.s –o hello.o;gcc -c 调用as
链 接:gcc hello.o –o hello ;gcc -o 调用ld
运行:./hello

GDB

启动gdb的方法有以下几种:
1.gdb program也就是执行文件,一般在当前目录下。
2.gdb core 用gdb同时调试一个运行程序和core文件,core是程序非法执行后,core dump后产生的文件。
3.gdb 如果程序是一个服务程序,那么可以指定这个服务程序运行时的进程ID。

X86 寻址方式经历三代:

DOS时代的平坦模式,不区分用户空间和内核空间,很不安全。
8060的分段模式
IA32的带保护模式的平坦模式

断点设置:

1.行断点 b [行数或函数名] <条件表达式>

2.函数断点 b [函数名] <条件表达式>

3.条件断点 b [行数或函数名]

4.临时断点 tbreak [行数或函数名] <条件表达式>

命令行模式常见功能键

i 切换到插入模式,在目前的光标所在处插入输入的文字,已存在的文字会向后退

a 切换到插入模式,并从目前光标所在位置的下一个位置开始输入文字

o 切换到插入模式,且从行首开始插入新的一行

0(数字0) 光标移到本行的开头

G 光标移动到文件的最后

nG 光标移动到第n 行

$ 移动到光标所在行的“行尾”

n

dd 删除光标所在行

ndd 从光标所在行开始向下删除n 行

yy 复制光标所在行

nyy 复制光标所在行开始的向下n 行

u 恢复前一个动作

插入模式常见功能键

插入模式的功能键只有一个,即按“Esc”键可回到命令行模式。

底行模式常见功能键

:w 将编辑的文件保存到磁盘中

:q 退出vi(系统对做过修改的文件会给出提示)

:q! 强制退出vi(对修改过的文件不作保存)

:wq 存盘后退出

:w [filename] 另存一个名为filename 的文件

:set nu 显示行号,设定之后,会在每一行的前面显示对应行号

:set nonu 取消行号显示

寄存器使用惯例

程序寄存器组是唯一能被所有过程共享的资源。

这个惯例是为了防止一个过程P调用另一个过程Q时寄存器中的值被覆盖。惯例如下:

%eax,%edx,%ecx 调用者保存寄存器(Q可覆盖,P的数据不会被破坏)%ebx,%esi,%edi 被调用者保存寄存器(Q在覆盖这些值前必须压入栈并在返回前回复他们)%ebp,%esp 惯例保持%eax用来保存返回值

随机访问存储器

随机访问存储器(RAM)分为:静态的RAM(SRAM)和动态的RAM(DRAM)

SRAM用来作为高速缓存存储器,既可以在CPU芯片上,也可以在片下。

DRAM用来作为主存以及图形系统的帧缓冲区。

静态RAM

SRAM将每个位存储在一个双稳态的存储器单元里
也就是说,只要有电,它就会永远地保持它的值。即使有干扰

动态RAM

DRAM将每个位存储为对一个电容充电

DRAM存储器单元对干扰非常敏感,当电容的电压被扰乱后,它就永远不会再恢复了

###传统的DRAM

DRAM芯片中的单元(位)被分成d个超单元,每个超单元都由w个DRAM单元组成。一个d×w的DRAM总共存储了dw位信息。超单元被组织成一个r行c列的长方形阵列,这里rc=d。每个超单元都有形如(i,j)的地址,i表示行,j表示列。

存储器模块

      DRAM芯片包装在存储器模块中,它是查到主板的扩展槽中。常见的包装包括168个引脚的双列直插存储器模块,它以64位为块传送数据到存储控制器和从存储控制器传出的数据,还包括72个引脚的单列直插存储器模块,它以32位为块传送数据。

非易失性存储器

 若断点,DRAM和SRAM会丢失信息,即易失的。

 相反的,断电后仍保存信息,则为非易失的存储器。

访问主存

数据流通过称为总线的共享电子电路在处理和DRAM主存之间来来回回。

每次CPU和主存之间的数据传送都是通过一系列步骤来完成的,这些步骤称为总线事物。

读事物从主存传送数据到CPU。

写事物从CPU传送数据到主存

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

《信息安全系统设计基础》第八周学习总结
新建一个文件夹之后,还是找不到该文件。

本周代码托管截图

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 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

参考资料