zoukankan      html  css  js  c++  java
  • 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小时

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

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

    参考资料

  • 相关阅读:
    selenium执行js代码的两个方法
    PostgresSQL数据库安装及操作
    [Python]requests使用代理
    linux下postgreSQL初始化设置方法
    如何用Jenkins自动化部署项目(教程,从零到搭建完成)
    Python笔记:Geopython GIS相关库
    Postman接口&压力测试
    python+django+vue实现前后端分离项目和部署的操作
    python-Django-1.8.2中文文档
    CSS详细解读定位
  • 原文地址:https://www.cnblogs.com/fyhtvxq/p/7823433.html
Copyright © 2011-2022 走看看