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

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

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

参考资料

  • 《深入理解计算机系统V3》学习指导
  • 套接口、ip
  • 什么是套接字
  • I/O多路复用模式与线程并发模式

  • 进程死锁的危害、导致原因、解决方案

转载于:https://www.cnblogs.com/fyhtvxq/p/7823433.html

2017-2018-1 20155229 《信息安全系统设计基础》第八周学习总结相关推荐

  1. 信息安全系统设计基础第八周学习总结

    第十章 系统级I/O 学习目标: 1.掌握系统编程和系统调用的概念 2.掌握系统编程错误处理的方式 3.掌握Unix/Linux系统级I/O:open close read write seek st ...

  2. # 2017-2018-1 20155224 《信息安全系统设计基础》第九周学习总结

    2017-2018-1 20155224 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器 随机访问存储器(RAM): 静态RAM:用来作为高速缓存存储器,每个位存储在一个 ...

  3. 2018-2019-1 20165206 《信息安全系统设计基础》第九周学习总结

    - 2018-2019-1 20165206 <信息安全系统设计基础>第九周学习总结 - 教材学习内容总结 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组.每个字节都有一 ...

  4. 20135203齐岳 信息安全系统设计基础第十三周学习总结

    20135203齐岳 信息安全系统设计基础第十三周学习总结 学习计时:8/9共小时(计划/实际) 读书:4/5 代码:1/1 作业:1/1 博客:2/2 第十二章 并发编程 一.学习目标 掌握三种并发 ...

  5. # 20155337 2017-2018-1 《信息安全系统设计基础》第一周学习总结

    20155337 2017-2018-1 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 1.1信息就是位+上下文 hello.c程序是以字节序列的方式储存在文件中的.每个字节都 ...

  6. 20135219洪韶武——信息安全系统设计基础第五周学习总结

    信息安全系统设计基础第五周学习总结 学习任务:教材第四章[处理器体系结构] 学习时间:10小时  一.教材知识点梳理[4.1-4.3] 1.ISA[指令集体系结构] 一个处理器支持的指令和指令的字节级 ...

  7. 20145227《信息安全系统设计基础》第一周学习总结

    20145227<信息安全系统设计基础>第一周学习总结 学习内容总结 Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命 ...

  8. 2018-2019 20165203 《信息安全系统设计基础》第一周学习总结

    2018-2019-1 20165203 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 编译:gcc [选项] [文件名] 选项参数表 参数 对应功能 -E 仅执行编译预处理 ...

  9. 2018-2019-1 20165221 《信息安全系统设计基础》第一周学习总结

    2018-2019-1 20165221 <信息安全系统设计基础>第一周学习总结 教材学习总结 有关vim 打开方式:vim [文件名] 按i会进入insert模式,可以对代码进行编辑 按 ...

  10. 2017-2018-1 20155209 《信息安全系统设计基础》第一周学习总结

    2017-2018-1 20155209 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 计算机系统就是由可以看到的硬件和系统内的软件组成的,然后用来运行应用程序. 我们平时使用 ...

最新文章

  1. 太火!这本AI图书微软强推,程序员靠它拿下50K!
  2. python3官方说明文档_接下来? · Python3.7.3官方文档 简体中文 · 看云
  3. OpenGL中投影变换矩阵的反向推导
  4. 火狐自动换行 有空格
  5. CTF入门--http请求头
  6. 人脸检测解析json的工具类face_test
  7. 为什么二维码这么神奇,扫一下就能得到各种各样的信息?
  8. python教程我要自学网-我要自学网--json 数据解析-python。
  9. 思维导图很难做?MindManager教你一招致胜!
  10. 修改虚拟机设置过游戏检测
  11. PMP 考点 第六章 项目进度管理
  12. 游戏配置文件加密工具(附源码)
  13. ipone 固定底部兼容问题
  14. h2o java,h2o深度学习权重和规范化
  15. 扎克伯格----转自Jessica巨人
  16. Python暗通道图像去雾
  17. SQL之LEFT JOIN,EIGHT JOIN,INSERT JOIN的区别
  18. 2021计算机专业分数线,计算机专业好的大学排名及录取分数线(2021参考)
  19. 2022第十一届PMO大会日程已定,将于8月13-14日和20-21日线上召开
  20. 引用---单引号,双引号和反斜杠

热门文章

  1. BZOJ 3238 【AHOI2013】 差异
  2. c++builder Form重载WindowProc、WndProc 截获消息
  3. webservice4
  4. jquery实现百度类似搜索提示功能(AJAX应用)
  5. ubuntu+nginx+php-cgi 环境开启php的curl功能
  6. tp读取配置文件机制
  7. Java的表达式和运算符
  8. Django+xadmin的安装与配置
  9. 网络是怎样连接的-IP与以太网的包收发操作(三)
  10. 【nginx】nginx的工作模式和信号量控制