20145224 《信息安全系统设计基础》期中总结
Linux Bash使用基础
- Linux Bash中,Ctrl+a快捷键的作用是
将光标移至输入行头
。 - 在Ubuntu中,使用
sudo apt-get install ddd
来安装ddd软件。 - Linux中没有C盘,D盘,其文件系统的目录是由
FHS
标准规定好的。 - Linux Bash中,cd ~ 命令可以切换到'home'目录。
- Linux Bash中,强制删除test文件的命令是
rm -f test
。 - Linux Bash中,使用
tab
进行命令补全。 - Linux Bash中,使用
chmod
命令修改文件权限。 - Linux Bash中,查找home目录中昨天创建的文件的命令是
find ~ -ctime 1
。 - Linux Bash中,使用tar命令把home目录打包成home.tar的命令是
tar -cf home.tar ~
- Linux Bash中,zip命令使用
-e
参数可以创建加密压缩包。 - Linux Bash中,
touch test
命令可以创建一个空白文件test。 - Linux Bash中,ls . | sort 命令的功能是
显示当前目录内容并排序
- Linux Bash中,使用grep查找当前目录下*.c中main函数在那个文件中的命令是
grep main *.c
- Linux Bash中,使用wc统计hello.c和main.c共有几行代码的的命令是
wc -l hello.c main.c
- Linux Bash中,set/env/exprot三个命令功能不等价 。
- Linux Bash中,把ls命令显示当前目录的结果存入ls.txt的命令输出重定向命令是
ls > ls.txt
- Linux Bash中,
cheat find
命令可以查年find命令的使用示例。 - 数据结构中有二分查找算法,C标准库中有这个功能的函数,这个函数是
bsearch
- 实现“Display files,Sorted by size”功能的ls命令是
ls –S
- 查找根目录下所有目录的find命令是
find / -type d
- 查找宏 STDOUT_FILENO 的值的命令是
grep -nr STDOUT_FILENO /usr/include
- Linux中查找配置(configure)网卡(interface)的命令是
man –k configure | grep interface
- gdb中使用命令
break main
或b main
设置main函数断点。 - gdb中使用命令
until
可以跳出循环语句。 - gdb中next和step都可以单步跟踪,根据自顶向下原则应该优先选用
next
. - 删除当前目录下test文件的命令是
rm test
- 当前目录下创建20145300目录的命令是
mkdir 20145300
- Ubuntu中新建一个叫 lilei 的用户的命令是
sudo adduser lilei
- 将当前目当中的test文件复制到"/home/ljp/"目录中的Linux命令是
cp test /home/ljp
- 解开sim.tar的Linux命令是
tar -xvf sim.tar
- Ubuntu中安装flex的命令是
sudo apt-get install flex
- Linux中建立符号链接(快捷方式)使用的命令是
ln
或者ln -s
教材学习总结
CH01
- 计算机系统中的所有信息都是位串表示的,所谓信息就是
位 + 上下文
。 - GCC编译程序的过程分为
预处理
、编译
、汇编
、链接
四个阶段。 - CPU中的
PC或程序计数器
寄存器总指向主存中的某条机器语言指令。 进程
是操作系统对正在运行的程序的一种抽象。- 网络提供了计算机系统间通信的手段,从特殊系统角度看,网络就是一种
I/O
设备。 - 存储层次结构的主要思想是一层上存储器作为低一层存储器的
高速缓存
CH02
- 计算机将信息按位编码,通常组织成
字节
序列。 - 本章重点研究了
无符号数
、补码
和浮点数
三种数字表示。 - 计算机的
字长
指明整数和指针数所的标称大小。 - “高对高,低对低”的机器是
小端机器
。 - 文本数据比二进制数据具有更强的平台独立性。
Shannon/香农
建立了布尔代数和数字逻辑之间的联系。- 计算机执行的整数运算实际上是模运算。
- IEEE浮点数标准包含
符号
、尾数
、阶码
三部分。 - GCC中INFINITY表示
无穷大
。
CH03
程序计数器或%eip
指示将要执行的下一条指令在内存中的地址。- Linux中,对目标代码test.o进行反汇编的命令是
objdump -d test.o
- 两个寄存器
%ebp
和%esp
保存着指向程序栈中重要位置的指针。 - 把立即数0x4050复制到%eax的指令是
movl $0x4050 ,%eax
- jz/jnz指令中跳转条件是由
ZF
决定的。 - C语言中的循环结构汇编中可以用
条件测试和跳转
组合起来实现。 - 为单个过程(函数)分配的那部分栈叫
栈帧
- Linux汇编中,销毁栈帧的语句是
movl %ebp,%esp popl %ebp
或leave
- Linux汇编中,需要调用者保存的寄存器有
%eax,%edx,%ecx
- GDB中以16进制形式打印%eax中内容的命令是
print /x $eax
CH04
- Y86中,有
8
个程序寄存器。 YIS或指令集模拟器
可是模拟Y86机器代码的执行。- 与、或、非三种逻辑门可以用一种门
与非门
或者或非门
实现。 - HCL表达式a||!a的值是1
- HCL中,多路复用函数使用
情况表达式
来描述。 - bool s= r1 || r2 || r=5 等价于
bool s = r in {1,2,5}
CH06
- SRAM和DRAM掉电后均无法保存里面的内容。
存储器总线
连接I/O桥和主存。- 对磁盘扇区的访问时间包括三个部分中,
传送时间
最小。 - 逻辑磁盘块就是一个块数组。
ok
- DMA传送不需要CPU的干涉。
- SSD是一种基于
闪存
的存储技术。 - 程序访问一个向量,
步长越小
空间局部性越好。 - 存储层次结构中最小的缓存是
寄存器
。 - LRU策略指的是替换策略的缓存会选择
最后被访问时间距现在最远的块
。 - 发生不命中要执行
放置策略
。 - 存储层次结构的本质是每一层存储设备都是较低一层的缓存。
- 高速缓存的容量可以用
C=S*E*B
来计算。 - 程序员可以编写
有良好空间和时间局部性
的程序来显著改进程序的运行时间。 - 存储器给出的读访问时间是
局部性
的一个函数。
CH07
- Linux系统中,链接器程序是
ld
- gcc –c hello.c 产生的hello.o是可重定位目标文件。
加载器
将可执行文件的内容映射到存储器,并运行这个程序。
参考资料
- 每周检测分析
- ...