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 |