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

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

教材学习内容总结

目标内容: 进程、线程、I/O多路复用

  • 第十一章:

  • 客户端-服务器模型:请求,事务,响应
  • 全球IP因特网
  • IP地址
  • IP地址结构:
struct in_addr {
     uint32_t s_addr;
/*Address in network byte order (big-endian)*/
};

  • 因特网域名

  • 套接字接口*

  • socket函数,bind函数,connect函数

  • web服务器

  • 第十二章:

  • 并发

  • 程序级并发—进程

  • 函数级并发—线程

  • 单线程

  • 多线程
    -

  • 逻辑流

  • 并发流

  • 错误处理包装函数

  • 进程状态

    • 运行
    • 停止
    • 终止

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

  • 问题1:I/O多路复用感觉自己还不够理解,就又找了一些资料
  • 问题1解决方案:
  • 函数select:
int select(int nfds,fd_set *readfds,fd_set *writefds, fd_set *except fds,struct timeval *timeout) 
void FD_SET(int fd,fd_set *fdset) 
void FD_CLR(int fd,fd_set *fdset) 
void FD_ZERO(fd_set *fdset) 
int FD_ISSET(int fd,fd_set *fdset)
  • 一般的来说当我们在向文件读写时,进程有可能在读写出阻塞,直到一定的条件满足. 比如我们从一个套接字读数据时,可能缓冲区里面没有数据可读 (通信的对方还没有 发送数据过来),这个时候我们的读调用就会等待(阻塞)直到有数据可读.如果我们不 希望阻塞,我们的一个选择是用select系统调用. 只要我们设置好select的各个参数,那么当文件可以读写的时候select回"通知"我们 说可以读写了.

  • readfds所有要读的文件文件描述符的集合

  • writefds所有要的写文件文件描述符的集合

代码调试中的问题和解决过程

  • 问题1:暂无

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • Linux信号处理说法正确的是()
    A .
    可以用signal()处理信号
    B .
    一个信号最多只能被接收一次
    C .
    kill(1)用来杀死进程
    D .
    kill(1)用来发送信号
    E .
    可以通过键盘发送信号
    F .
    可以用sigaction()处理信号
    正确答案: A B D E F 你的答案: B D E F

  • 有关exec系列函数,下面说法正确的是()
    A .
    可以用char[][] 来传递argv
    B .
    进程调用了exec系列函数后,pid会变
    C .
    进程调用了exec系列函数后,代码会改变。
    D .
    system()和exec系列等价。
    E .
    exec系列函数中带e的要传入环境变量参数
    F .
    exec系列函数中带v的要传入环境变量参数
    正确答案: C E 你的答案: A C E

  • 关于代码 int main(){} 说法正确的是()
    A .
    返回值是0
    B .
    返回值不确定
    C .
    会调用exit(0)
    D .
    返回值大于0
    E .
    上面代码运行完,在命令行中运行echo $? 的值是0
    正确答案: A C E 你的答案: A E

  • Unix/Linux中通过调用( )可以获取子进程PID。
    A .
    getpid()
    B .
    getppid()
    C .
    getcpid()
    D .
    fork()
    正确答案: D 你的答案: A

  • 有关异常,下面说法正确的是()
    A .
    系统中的异常由异常名唯一确定
    B .
    异常表中存放的是异常处理程序
    C .
    异常表的起始地址存放在异常表基址寄存器中
    D .
    异常处理程序运行在内核模式下
    正确答案: C D 你的答案: A C D

  • 进程上下文包括程序的( )
    A .
    代码和数据
    B .

    C .
    通用寄存器中的内容
    D .
    程序计数器
    E .
    环境变量
    F .
    打开的文件描述符的集合
    正确答案: A B C D E F 你的答案: B C D F

  • Linux中,信号(Signal)是一种()异常控制流。
    A .
    硬件层
    B .
    操作系统层
    C .
    用户层
    D .
    网络层
    正确答案: C 你的答案: B

结对及互评

点评模板:

  • 博客中值得学习的或问题:

本周结对学习情况

- [20155232](http://www.cnblogs.com/lsqsjsj/p/7820234.html)

其他(感悟、思考等,可选)

xxx
xxx

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/1 20/20
第三周 300/500 1/1 18/22
第五周 500/1000 1/1 19/20
第六周 300/1300 1/1 20/21
第七周 1/1 19/20 19/22
第八周 428/2965 1/1 18/22

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

  • 计划学习时间:22小时

  • 实际学习时间:18小时

  • 改进情况:

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

参考资料

posted @ 2017-11-12 15:36  xuanyan  阅读(197)  评论(0编辑  收藏  举报