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小时

  • 改进情况:在学习十一、十二章上花费的时间较少,在课上作业补充和课下作业上花的较多。

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

参考资料

原文地址:https://www.cnblogs.com/fyhtvxq/p/7823433.html