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是可重定位目标文件。
加载器将可执行文件的内容映射到存储器,并运行这个程序。
参考资料
- 每周检测分析
- ...