您的位置:首页 > 其它

2017-2018-1 20155321 《信息安全系统设计基础》第八周学习总结

2017-11-11 17:05 423 查看

2017-2018-1 20155321 《信息安全系统设计基础》第八周学习总结

教材学习内容总结

本周主要学习网络编程、多进程和多线程编程

网络编程

学习打印了自己虚拟机的DNS



知识点:gethostbyaddr()返回对应于给定地址的包含主机名字和地址信息的hostent结构指针

服务器-客户端模型编程(参考资料)



多进程编程

函数fork()用来创建一个新的进程,这个新的进程几乎完全是当前进程的一个复制版本;而在代码执行的过程中,父进程和子进程都要调用函数fork()函数下面的代码,而恰恰可以利用fork()函数对父子进程的不同返回值然后用if...else...语句来实现让父子进程完成不同的功能

函数族exec()是用来启动另外的进程以取代当前运行的进程。

多线程编程

之所以要用到多线程,主要是因为创建一个进程相比,创建一个线程是一种非常"节俭"的多任务操作方式。在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。但是运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,不仅如此,线程间彼此切换所需的时间也远远小于进程间切换所需要的时间

教材学习中的问题和解决过程



代码托管





上周考试错题总结

(多选题)假设用ADD指令完成C表达式t=a+b的功能,有关条件码寄存器的说法正确的是()

A.若t==0 ,则ZF=1

B.若t<0, 则CF=1

C.若t<0, 则SF=1

D.若(a<0==b<0)&&(t<0!=a<0),则OF=1

E.若(a<0==b<0)&&(t<0 != a<0), 则CF=1

F.leaq指令不影响条件码寄存器

G.cmp指令不影响条件码寄存器

正确答案:ADF

(多选题)假设%rax中的值为x,%rcx中的值为y,关于leaq指令,下面正确的()

A.leaq 6(%rax), %rdx; %rdx中值为6+x

B.leaq 6(%rax), %rdx; %rdx中值为6x

C.leaq 7(%rax,%rax,8),%rdx;%rdx中值为9x

D.leaq 7(%rax,%rax,8),%rdx;%rdx中值为63x

E.leaq 7(%rax,%rax,8),%rdx;%rdx中值为15x

正确答案:AC

(多选题)以下代码是将void decode1(long xp, long yp,long*zp)反汇编的结果,下面说法正确的是()



A.从汇编代码看出,decode1的参数先入栈的是zp

B.从汇编代码看出,decode1的参数先入栈的是xp

C.函数功能等价于 t=x; x=y; y=z; z=t;

D.函数功能等价于 x=y; y=z; z=x;

正确答案: C

(多选题)有关exec系列函数,下面说法正确的是()

A.可以用char[][] 来传递argv

B.进程调用了exec系列函数后,pid会变

C.进程调用了exec系列函数后,代码会改变

D.system()和exec系列等价

E.exec系列函数中带e的要传入环境变量参数

F.exec系列函数中带v的要传入环境变量参数

正确答案: C E

(多选题)从程序员角度看进程状态有( )

A.运行

B.就绪

C.停止

D.终止

正确答案:ACD

(单选题)Unix/Linux中通过调用()可以获取子进程PID

A.getpid()

B.getppid()

C.getcpid()

D.fork()

正确答案: D

(单选题)进程提供给应用程序的关键抽象让我们的程序感觉独占了处理器和内存。()提供了独占处理器的假象

A.地址空间

B.虚拟内存

C.逻辑控制流

D.指令控制流

正确答案:C

(多选题)有关异常,下面说法正确的是()

A.系统中的异常由异常名唯一确定

B.异常表中存放的是异常处理程序

C.异常表的起始地址存放在异常表基址寄存器中

D.异常处理程序运行在内核模式下

正确答案: CD

本周结对学习情况

20155330

结对学习内容

- 书本第十二章的内容

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行20篇400小时
第八周44/5721/1015/105
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

计划学习时间:12小时

实际学习时间:15小时

改进情况:改善自学看书的方法,提高看书学习效率

(有空多看看现代软件工程 课件 软件工程师能力自我评价表)

参考资料

《深入理解计算机系统V3》学习指导
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐