20145317 《信息安全系统设计基础》第八周总结2
Posted 20145317彭垚
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20145317 《信息安全系统设计基础》第八周总结2相关的知识,希望对你有一定的参考价值。
20145317 《信息安全系统设计基础》第八周总结2
考题复习
- 填空:Linux Bash中,查找home目录中昨天创建的文件的命令是(find ~ -ctime 1)。
- 在指定目录下搜索指定文件名的文件:
find /etc/ -name interfaces
注意 find 命令的路径是作为第一个参数的 - 基本命令格式为 find [path] [option] [action]
- 与时间相关的命令参数:
-atime
最后访问时间-ctime
创建时间-mtime
最后修改时间
- 在指定目录下搜索指定文件名的文件:
- 判断:Linux Bash中,set/env/exprot三个命令功能等价 。x
- set,env,export。这三个命令很相似,都可以用于打印相关环境变量,区别在于涉及的是不同范围的环境变量,详见下表:
- set:显示当前 Shell 所有环境变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量
- env:显示与当前用户相关的环境变量,还可以让命令在指定环境中运行
- export:显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变
- set,env,export。这三个命令很相似,都可以用于打印相关环境变量,区别在于涉及的是不同范围的环境变量,详见下表:
- man -k 填空: 数据结构中有二分查找算法,C标准库中有这个功能的函数,这个函数是(bsearch)
- cheat 填空:实现“Display files,Sorted by size”功能的ls命令是 ( ls –S )
- find 填空:查找根目录下所有目录的find命令是(find / -type d)
- grep 填空:查找宏 STDOUT_FILENO 的值的命令是(grep -nr STDOUT_FILENO /usr/include)在vim中,查看printf man pages(帮助文档)的命令是?
grep
命令,在文本中或 stdin 中查找匹配字符串,格式grep [命令选项]... 用于匹配的表达式 [文件]...
3K- 除了main.c外,hello.c的源代码不想给别人,如何制作一个myhello.a静态库?main.c如何使用myhello.a?
gcc -c hello.c
ar rcvs libhello.a hello.c - gcc main.c -o main -L. -lhello (or gcc main.c ./libhello.a -o main)
- - 创建静态库:使用AR工具
gcc -c XX.c
ar rcs libXX.a(静态库名) XX.o(添加的程序)
- - 使用静态库:编译连接输入文件和静态库
gcc -O2 -c XX.c(调用静态库程序名)
gcc -static -o p2 XX.o(调用静态库程序名) libXX.a(静态库)
- 除了main.c外,hello.c的源代码不想给别人,如何制作一个myhello.so共享库?main.c如何使用myhello.so?
gcc -fPIC -c hello.c
gcc -shared -o libhello.so hello.o
gcc -o main main.c -L. -lhello
libhello.so 要拷贝到/lib or /usr/lib- 共享库的生成
gcc -fPIC -c xxx.c
gcc -shared -o libxxx.so xxx.o
- 共享库的使用:
gcc -o main main.c -L. -lxxx
- 共享库的生成
- 写出编译上面代码的makefile,编译出来的目标文件为testhello, 只用显式规则就可以.
testhello: main.o hello.o
gcc main.o hello.o -o testhello
main.o: main.c hello.h
gcc -c main.c
hello.o: hello.c hello.h
gcc -c hello.c- Makefile基本写法:test(目标文件): prog.o code.o(依赖文件列表)
tab(至少一个tab的位置) gcc prog.o code.o -o test(命令)
......
- Makefile基本写法:test(目标文件): prog.o code.o(依赖文件列表)
-
- man -k 填空:Linux中查找配置(configure)网卡(interface)的命令是(man –k configure | grep interface )
- gdb判断: gdb中next和step都可以单步跟踪,根据自顶向下原则应该优先选用next. ( ok )
- ch07 判断:C语言中的全局变量可以一次声明,多次定义。(X)
- 2.19 填空:T2U4(8) = ( 8 )
- T2Uw(x)=x+2^w(x<0)或x(x>=0)
- 2.21 判断:C语言中: -2147483647-1 < -2147483647 ( ok )
- 有符号数比较大小
- 2.27 填空: x=9,y=12, x,y为四位无符号数,x+y = ( 5 )
- 溢出,返回值为5
- 2.33 填空:对于四位数补码0xC,其补码的非表示为十进制为( 4 )2.50 填空:二进制数0.111舍入到最接近的二分之一的十进制的值为( 1 )
- 十进制:-4,补码的非十进制:4
- CH02 填空:计算机将信息按位编码,通常组织成(字节)序列。
-
CH02填空:计算机的(字长)指明整数和指针数所的标称大小。
- CH03 填空:(程序计数器或%eip) 指示将要执行的下一条指令在内存中的地址。CH03 判断: SET指令对有符号数和无符号数有不同的处理方式。(X)
- PC指示下一条指令在寄存器中的地址
- CH03 填空:Linux汇编中,销毁栈帧的语句是(movl %ebp,%esp popl %ebp 或leave)
- CH03 填空:Linux汇编中,需要调用者保存的寄存器有(%eax,%edx,%ecx )填空:Linux中建立符号链接(快捷方式)使用的命令是( ln 或者 ln -s)
- %eax、%edx、%ecx被划分为调用者保存寄存器
-
%ebx、%esi、%edi被划分为被调用者保存寄存器
- CH04 填空:bool s= r==1 || r==2 || r=5 等价于(bool s = r in {1,2,5} )
=
赋值==
比较
- 4.6 判断:Y86中,执行pushl %esp时,处理器的状态是不确定的。( x )
- 压入栈中的是%esp的旧值
- CH04 判断:ALU是一种时序电路。(X)
- ALU(算数/逻辑)单元是组合电路
- CH04判断:寄存器是一种时序电路。(X)
-
时钟信号控制载入值
-
- CH06 判断:逻辑磁盘块就是一个块数组。( ok )
- B个扇区大小的逻辑块的序列
- CH06 判断:DMA传送不需要CPU的干涉。(OK)
- DMA(直接存储器访问):设备可以自行读写总线事务,不需要CPU的干涉
- 6.8 填空:代码的步长为:( N*N )
- 三层嵌套循环,代码访问步长为N*N
以上是关于20145317 《信息安全系统设计基础》第八周总结2的主要内容,如果未能解决你的问题,请参考以下文章
2018-2019-1 20165214 《信息安全系统设计基础》第八周学习总结
2017-2018-1 20155317《信息安全系统设计基础》第八周学习总结
2018-2019-1 20165318《信息安全系统设计基础》第八周课上测试
2017-2018-1 20155204 《信息安全系统设计基础》第八周学习总结