20145233 2016-2017 1 linux题目总结
第一周考试知识汇总
- 判断:实验楼环境中所有的默认系统用户名和密码均为 shiyanlou。(x )。
- 填空:Linux Bash中,Ctrl+a快捷键的作用是(将光标移至输入行头,相当于Home键)。
- 判断:Linux Bash中, 可以使用man printf查看C语言中printf函数的帮助文档。 (x)
- 填空:在Ubuntu中,使用(sudo apt-get install ddd)来安装ddd软件。
- 填空:在 Linux 里面可以使用使用(chmod)命令修改文件的权限。
- 填空:Linux中没有C盘,D盘,其文件系统的目录是由(FHS)标准规定好的。
- 判断:Linux Bash中,cd ~ 命令可以切换到'home'目录。 (Ok)
- 判断: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三个命令功能等价 。( x )
- 填空:Linux Bash中,把ls命令显示当前目录的结果存入ls.txt的命令输出重定向命令是(ls > ls.txt)
- 填空:Linux Bash中,(cheat find )命令可以查年find命令的使用示例。
第二周考试知识汇总
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)
CH01填空:计算机系统中的所有信息都是位串表示的,所谓信息就是( 位 + 上下文 )。
CH01填空:GCC编译程序的过程分为(预处理、编译、汇编、链接)四个阶段。
CH01填空:CPU中的(PC或程序计数器)寄存器总指向主存中的某条机器语言指令。
CH01 填空:(进程)是操作系统对正在运行的程序的一种抽象。
CH01 填空:网络提供了计算机系统间通信的手段,从特殊系统角度看,网络就是一种(I/O)设备。
CH07填空:Linux系统中,链接器程序是(ld)
CH07选择:教材p449中 swap.c中的buffp1 是在(C) A .text段 B.data段 C.bss段 .symtab段
CH07 判断:gcc –c hello.c 产生的hello.o是可重定位目标文件。(ok)
CH07 填空:(加载器)将可执行文件的内容映射到存储器,并运行这个程序。
CH07 填空:p455 foo3.c的运行结果是x=(15212).
第三周考试知识汇总
man -k 填空:Linux中查找配置(configure)网卡(interface)的命令是(man –k configure | grep interface )
gdb 填空:gdb中使用命令( break main 或 b main ) 设置main函数断点。
gdb 填空:gdb中使用命令( until ) 可以跳出循环语句。
gdb判断: gdb中next和step都可以单步跟踪,根据自顶向下原则应该优先选用next. ( ok )
ch01 填空:存储层次结构的主要思想是一层上存储器作为低一层存储器的(高速缓存)
ch07 判断:C语言中的全局变量可以一次声明,多次定义。(X)
2.4 填空:计算 0x100 + 100 = ( 0x164 ) ,结果用16进制表示
2.6 填空:练习2.6中整数换成12345,浮点数换成12345.0,最多时共(13)位匹配。
2.8 填空: a,b长度都是一个字节,a=6,b=15, a|b = ( 15 )
2.12 填空: 获得unsigned x的最低位字节的C表达式是(x & 0xff)
2.14 填空:a,b长度都是一个字节,a=6,b=15, a||b = ( 1,True,非零 都可以 )
2.18 填空:16位机器上,补码0xFFFE转化等值的十进制是( -2 )
2.19 填空:T2U4(8) = ( 8 )
2.21 判断:C语言中: -2147483647-1 < -2147483647 ( ok )
2.23 填空:fun1(0xED005380) = ( 0x00000080 ,0x80都行 )
2.24 填空:四位数0xD 截断为3位数,解释为无符号数的截断后值是( 5 )
2.25 判断:代码for中条件 i<=(int) length -1 可以消除程序bug ( ok )
2.27 填空: x=9,y=12, x,y为四位无符号数,x+y = ( 5 )
2.29 填空:习题第一行出现了( 负 )溢出。
2.33 填空:对于四位数补码0xC,其补码的非表示为十进制为( 4 )
2.34 填空:三位数补码乘法(截断值): [100] * [111] = ( [100] 或-4 )
2.40 填空:K=30 移位2,加/减1,表达式为( (x<<5)-(x<<2) )
2.45 填空:二进制小数1.11转化为十进制为( 1.75 )
2.47 判断:浮点数 00110转化为十进制为1.5 ( ok )
2.50 填空:二进制数0.111舍入到最接近的二分之一的十进制的值为( 1 )
CH02 填空:计算机将信息按位编码,通常组织成(字节)序列。
CH02 填空:本章重点研究了无符号数,(补码)和浮点数三种数字表示。
CH02填空:计算机的(字长)指明整数和指针数所的标称大小。
CH02判断:“高对高,低对低”的机器是大端机器。(X)
CH02 判断:文本数据比二进制数据具有更强的平台独立性。(ok)
CH02 填空:(Shannon 或香农)建立了布尔代数和数字逻辑之间的联系。
CH02判断:C语言中,x>>k作算术右移,x>>>k作逻辑右移。(X)
CH02 判断: 计算机执行的整数运算实际上是模运算。(Ok)
CH02 填空:IEEE浮点数标准包含符号、尾数、(阶码)三部分。
CH02 填空:GCC中INFINITY表示(无穷大)。
第五周考试知识汇总
Linux 填空:删除当前目录下test文件的命令是(rm test)
Linux 填空:当前目录下创建20145300目录的命令是 (mkdir 20145300)
Linux 填空:Ubuntu中新建一个叫 lilei 的用户的命令是(sudo adduser lilei)
Linux 填空:将当前目当中的test文件复制到"/home/ljp/"目录中的Linux命令是(cp test /home/ljp)
Linux 判断:zip程序可以压缩也可以解压文件。(X)
CH03 填空:(精通细节 )是理解更深和更基本概念的先决条件。
CH03 判断:X86-64首先由Intel开发出来的。(X)
CH03 填空:(程序计数器或%eip) 指示将要执行的下一条指令在内存中的地址。
CH03 填空:Linux中,对目标代码test.o进行反汇编的命令是(objdump -d test.o)
CH03 填空:两个寄存器(%ebp和%esp)保存着指向程序栈中重要位置的指针。
3.1 填空: 针对练习3.1中的图,操作数 2(%eax,%edx,2)的值是(0x13)
CH03 填空: 把立即数0x4050复制到%eax的指令是( movl $0x4050 ,%eax )
CH03 判断: %ebp的值为0x10c, pushl %eax后,%ebp的值为0x108. (x)
3.2 填空: 用mov指令填空,(movl) %eax, (%ecx).
3.3 判断: movw $0xFF, (%ax) 是一条错误的汇编语句。(ok)
3.5 填空:从汇编代码看出,decode1的参数先入栈的是(zp)
3.6 填空: 指令leal 8(%ecx,%eax,2), %edx 存储在%edx中的值为( 8+2x+y )
3.9 填空: arith(1,2,3)的值是( -4 )
CH03 判断: SET指令对有符号数和无符号数有不同的处理方式。(X)
CH03 填空: jz/jnz指令中跳转条件是由(ZF)决定的。
CH03 填空:C语言中的循环结构汇编中可以用(条件测试和跳转)组合起来实现。
CH03 选择:为单个过程(函数)分配的那部分栈叫(栈帧)
CH03 填空:Linux汇编中,销毁栈帧的语句是(movl %ebp,%esp popl %ebp 或leave)
CH03 填空:Linux汇编中,需要调用者保存的寄存器有(%eax,%edx,%ecx )。
CH03 填空:GDB中以16进制形式打印%eax中内容的命令是(print /x $eax)
第六周考试知识汇总
填空:Y86模拟器的地址是wget http://labfile.oss.aliyuncs.com/courses/413/sim.tar,下运载这个文件的Linux命令是:(
wget http://labfile.oss.aliyuncs.com/courses/413/sim.tar )
填空:解开sim.tar的Linux命令是(tar -xvf sim.tar)
填空:Ubuntu中安装flex的命令是(sudo apt-get install flex)
填空:Linux中建立符号链接(快捷方式)使用的命令是( ln 或者 ln -s)
CH04填空:Y86中,有(8)个程序寄存器。
CH04 判断:Y86中,movl rA, rB 实现寄存器间的数据传送。(x )
4.1 Y86中 rrmovl %eax, %ecx 对应的机器码是( 2001 )
4.2 Y86中 5054fdffffff 对应的汇编语句是( mrmovl –3(%esp), %ebp )
CH04 判断:Y86中,状态码INS表示遇到非法地址。( X )
CH04 填空:(YIS或指令集模拟器 )可是模拟Y86机器代码的执行。
4.6 判断:Y86中,执行pushl %esp时,处理器的状态是不确定的。( √)
CH04 填空:与、或、非三种逻辑门可以用一种门(与非门, 或者 或非门)实现。
4.8 填空:位级与非门的HCL表达式是( bool Y = !(A&&B) )
CH04 填空:HCL表达式a||!a的值是( 1 )
CH04 填空:下图对应的HCL描述是( bool eq=(a&&b)||(!a&&!b) )
CH04 填空:HCL中,多路复用函数使用(情况表达式)来描述。
CH04 判断:ALU是一种时序电路。(X)
CH04 填空:bool s= r1 || r2 || r=5 等价于(bool s = r in {1,2,5} )
CH04判断:寄存器是一种时序电路。(X)
CH04 判断:Y86中rrmovl指令没有访存操作。(OK)
《信息安全系统设计基础》第七周知识总结
CH06 判断:程序具有良好的局部性表现在倾向于从存储器层次结构中的较低层次处访问数据,这样节省时间。 (x )
CH06 判断:SRAM和DRAM掉电后均无法保存里面的内容。( ok )
CH06 填空:(存储器)总线连接I/O桥和主存。
6.2 填空:计算磁盘容量( 81.92GB 或8192000000字节 ):2个盘片,100000个柱面,每条磁道400个扇区,每个扇区512个字节。
CH06 填空:对磁盘扇区的访问时间包括三个部分中,(传送时间)最小。
6.3 填空:题目的最大旋转时间是( 4ms )。
CH06 判断:逻辑磁盘块就是一个块数组。( ok )
CH06 判断:DMA传送不需要CPU的干涉。(OK)
CH06 填空:SSD是一种基于(闪存或Flash)的存储技术。
CH06 填空:程序访问一个向量,步长越(小或短)空间局部性越好。
CH06 判断:P403两个程序功能等价,性能上不同。( ok )
6.8 填空:代码的步长为:( N*N )
CH06 填空:存储层次结构中最小的缓存是(寄存器 )。
CH06 填空:LRU策略指的是替换策略的缓存会选择(最后被访问时间距现在最远的块)。
CH06 判断:发生不命中要执行(放置)策略。
CH06 填空:存储层次结构的本质是每一层存储设备都是较低一层的(缓存)。
CH06 填空:高速缓存的容量可以用(C=SEB )来计算。
6.10 填空:高速缓存容量为2048,高速缓存结构为(( 32 ),8,8,32)
CH06 填空:程序员可以编写(有良好空间和时间局部性)的程序来显著改进程序的运行时间。
CH06 填空:存储器给出的读访问时间是(局部性)的一个函数。
《信息安全系统设计基础》第八周测试
-
填空:在当前工作目录下新建test文件夹的Linux命令是(mkdir test)
-
填空:查看和配置网卡IP的Linux命令是(ifconfig)
-
填空:查看Linux命令使用实例的Linux命令是(cheat)
-
判断:man –k 功能上等价于apropos命令。(OK)
-
填空:(git init )命令可在在工作目录中创建新的 Git 仓库。
-
判断: 在每次提交进都要执行git init命令。(X)
-
填空:(git push)将本地分支的更新,推送到远程主机。
-
判断:执行 git clone 命令可以拷贝一个远程 Git 仓库到本地,让自己能够查看该项目,或者进行修改。(ok)
-
填空:git add . 命令来添加(当前项目的所有文件)
-
填空:git log 命令来查看(提交历史)
-
填空:(信息)= 位+上下文。
-
填空:把hello.c编译成hello.s的gcc命令是(gcc –S hello.c –o hello.s )
-
填空:教材第二章研究了三种重要的数:无符号整数,有符号整数和(浮点数)
-
判断:高对高,低对低是大端机器。(X)
-
判断:文件数据比二进制数据有更好的平台独立性。(X)
-
填空:0x69&&0x41 值为(1或真)
-
判断:C语言中的强制类型转换要改变位串的值。(X)
-
填空:64位机上编译出IA32的汇编,gcc要用的参数是(-m 32)
-
判断:movl %esp, %ebp是一条正确的汇编语句。(ok)
-
填空:IA32中,(jmp)指令是无条件跳转。
-
填空:Y86指令执行包括(取指)、译码、执行、访存、写回和更新PC。
-
填空:(ISA)表示指令集体系结构在处理器行为和如何实现处理器之间提供了一层抽象。
-
判断:逻辑上看,主存可看作字节数组,磁盘可以看作磁盘块数组。(OK)
-
填空:存储器层次结构的中心思想是,每一层都是下一层的(缓存)
-
填空:使用libhello.a 和main.c生成可执行程序main的gcc命令是(gcc main.c –L. –lhello –o main). 假定libhello.a 和main.c均在当前工作目录。
《信息安全系统设计基础》第九周测试
附录A 判断:程序员应该总是检查系统调用返回的错误码。(OK)
附录A 填空: 使用包装函数是,出现如下错误,原因是没有包含(csappp.h )头文件。
附录A 填空:调用read(2) 应该使用(Unix风格 )的错误处理。
附录A 填空:void dns_error(char * msg )相关的全局变量是(h_errno)
CH10 判断:Unix/Linux中,键盘是被当做文件来读和写的。(X)
CH10 填空:STDOUT_FILENO的值是( 1 )
CH10 判断:open(2)打开一个文件,返回的文件描述符是随机的 ( X )
CH10判断:read(fd, buf, 30)执行成功,返回总是30. (X).
CH10 填空:write(2)的第一个参数fd一般来自(open或open(2))的返回值。
CH10判断:rio_readn后的n代表有n个字节的缓冲. (X)
CH10 填空:struct stat的(st_mode)与chmod相关。
CH10判断:Linux内核使用的file table 所有的进程共享的。(ok)
CH10 判断:不同进程打开同一个文件的文件描述符必须一样。(X)
10.4 填空:使用dup2 把标准输入重定向到描述符7( dup2(7,0),dup2(7,STDIN_FILENO )
《密码系统设计基础》第十一周测试
CH08 判断:异常控制流可以发生在硬件层,操作系统层,应用层。( ok )
CH08 填空:故障指令包括( 陷阱 故障 终止)
CH08 填空:mmap的系统调用号是( 90 )。
CH08 填空:P486汇编中,第(9 )行指出write(2)的系统调用号。
CH08 填空:P486汇编中,第(12 )行传递参数13。
CH08 填空:P486汇编中,第(13 )行引发系统调用。
CH08判断:进程和线程都是逻辑流和并行流。(X)。
CH08 填空:上下文切换的三个动作(保存当前进程的上正文,恢复某个先前被抢占的进程被保存的上下文,将控制传递给这个新恢复的进程 )
CH08 填空:strerror(errno)的功能是(返回一个描述与errno值相关联的错误的字符串).
CH08 填空:Unix/Linux中通过调用( getppid() )获取父进程ID。
CH08 判断:int main(){} 会调用exit(0). ( ok )
CH08 填空:int main(){} 运行完,在命令行中运行echo $? 的值是(0 )
CH08 填空:父进程没用回收其僵死子进程就终止了,Linux内核让(init)进程来回收它们。
CH08 填空:SIGINT在终端中用快捷键(CTRL + C)产生。
CH08 填空: 信号处理函数有signal 和 ( sigaction )。
反思
我的成绩不是很好,我觉得把每次的题目总结下来,每次有时间就看看,将自己之前出的错误多做做,这样可以强化自己的记忆,慢慢地提升自己。