2017-2018-1 20155229 《信息安全系统设计基础》第八周学习总结
2017-2018-1 20155229 《信息安全系统设计基础》第八周学习总结
课上测试补充及课下作业
http://www.cnblogs.com/fyhtvxq/p/7823545.html
教材学习内容总结
第十一章
- 套接字接口是一组函数,用以创建网络应用。
- 套接字位于网络中的层次,位于传输层以上,应用层以下。套接字是对网络中应用层进程之间的通信进行了抽象,提供了应用层进程利用网络协议栈交换数据的机制。
第十二章
- 多线程的优缺点
- 优点:(1)程序可以并发执行;
(2)线程共享相同的内存地址空间(这就意味着它们可以访问相同的变量和对象,而且它们从同一堆中分配对象),故它们之间的通信是方便的。
-
缺点:也是由于线程共享进程的地址空间,因此可能会导致竞争,因此对多个线程共同访问的数据需要一些同步和互斥技术。
-
多线程服务模式:
IO的多路复用,即多用户高并发访问服务端时的分发模式,当客户端的请求分发到后端服务线程对其处理时,多线程的服务模式主要有:半同步半异步模式、领导者/跟随者模式。这两种模式主要解决的是多线程各自运行的机制。
教材学习中的问题和解决过程
- 问题一:进程死锁的危害?
- 解决:
参考进程死锁的危害、导致原因、解决方案
①使用协议以预防或避免死锁,确保系统不会进入死锁状态;
② 系统可进入死锁状态,但可检测死锁状态,然后进行恢复;
③ 忽视该问题,而认为死锁不可能在系统内发生。
代码调试中的问题和解决过程
- 问题一:在编译p663的客户端代码时,出现以下问题
- 我排查了代码的问题,认为是csapp的问题,但是两个文件都放在了/usr/include文件下,最后发现在csapp.h里面最后一行#end if之前添加:
#include <csapp.c>时,将.c写成了.h,修改了后,运行成功
代码托管
上周考试错题总结
第三章
- 14.86-64 Linux中,%rbp的值为0x108, pushq %eax后,%rbp的值为()
A . 0x100
B . 0x108
C . 0x110
D . 0x118
正确答案: B
-
解析:push不影响%rbp的值
-
21.x86-64中指令长度是()字节
A . 1
B . 2
C . 4
D . 1-4
E . 1-8
F . 1-15
G . 1-16
H . 以上都不对
正确答案: F
- 解析:x86-64中指令的长度是1-15个字节不等
第八章
- 3.有关exec系列函数,下面说法正确的是()
A . 可以用char[][] 来传递argv
B . 进程调用了exec系列函数后,pid会变
C . 进程调用了exec系列函数后,代码会改变。
D . system()和exec系列等价。
E . exec系列函数中带e的要传入环境变量参数
F . exec系列函数中带v的要传入环境变量参数
正确答案: C E
-
解析:不能用char[][] 来传递argv,结尾的0(null)无法处理;system=fork+exec+wait;
-
exec函数族的函数执行成功后不会返回
-
9.Unix/Linux中通过调用( )可以获取子进程PID。
A . getpid()
B . getppid()
C . getcpid()
D . fork()
正确答案: D
-
解析:fork函数只能被调用一次,却会返回两次,一次在调用父进程中,一次是在新创建的子进程中。在父进程中,fork返回子进程的PID。
-
11.进程调度由内核中的( )处理完成
A . 上下文切换
B . 中断服务程序
C . 调度器
D . 异常处理程序
正确答案: C
- 解析:在进程执行的某些时刻,内核可以决定抢占当前进程,并重新开始一个先前被抢占了的进程。这种决策叫做调度,是由内核调度了这个进程。
结对及互评
点评模板:
-
博客中值得学习的或问题:
-
代码中值得学习的或问题:
本周结对学习情况
- [20155225](博客链接)
- 结对照片
- 结对学习内容
- 学习书本十一章、十二章内容
- 学习课上测试及课下补做习题
其他(感悟、思考等,可选)
- 本周主要学习的是网络编程、并发编程两章,这两章在分别在刘念老师和谢婷婷老师的课上学习了大部分内容,所以在学习时大多数知识都比较好理解,学习的时间也就比较少
- 本周课上的测试只做出一道题,并且课下作业不是很简单,在接下来还需要对第三、四章的内容进行学习
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 15篇 | 400小时 | |
第一周 | 20/20 | 1/ | 12/12 | |
第二周 | 42/62 | 1/2 | 8/20 | |
第三周 | 62/124 | 1/3 | 14/34 | |
第四周 | 61/185 | 1/4 | 10/44 | |
第五周 | / | 2/6 | 13/57 | |
第六周 | / | 2/8 | 17/74 | |
第七周 | / | 2/10 | 15/89 | |
第八周 | / | 2/12 | 12/101 | |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 | ||||
耗时估计的公式 | ||||
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。 |
-
计划学习时间:13小时
-
实际学习时间:12小时
-
改进情况:在学习十一、十二章上花费的时间较少,在课上作业补充和课下作业上花的较多。
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)