2018-2019-1 20165214 《信息安全系统设计基础》第八周学习总结

20165214 2018-2019-1 《信息安全系统设计基础》第八周学习总结

教材学习内容总结

1、 一个构造并发服务器的自然方法是,在父进程中接受客户端的连接请求,然后创建一个新的子进程来位每个新客户提供服务。
2、父进程在监听一个监听描述符的连接请求时,如果接受了某个客户端的请求,则派生一个子进程,这个子进程获得服务器描述符表的完整副本。子进程需要关闭它的副本中的监听描述符,父进程关闭它的已链接描述符的副本。
3、对于在父子进程间共享状态信息,进程有一个非常清晰的模型:共享文件表,但是不共享用户地址空间。一个进程不可能不小心覆盖另一个进程的虚拟内存。但是独立的地址空间使得共享状态信息变得困难:因为进程控制以及开销。
4、有时候服务器必须同时给响应两个相互独立的I/O时间,针对这个困境的一个解决方法就是I/O多路复用技术。
5、select函数处理类型为fd_set的集合,也叫做描述符集合。select有一个副作用:修改参数fd_set指向的fd_set,指明读集合的一个子集,称为准备好集合。这个集合是由读集合中准备好可以读了的描述符组成的。该函数返回的值指明了准备好集合的基数。因此,每次调用select时都更新读集合。
6、I/O多路复用可以用作并发事件驱动的 基础。
7、init_pool函数初始化客户端池。clientfd数组表示已链接描述符的集合,其中整数-1表示一个可用的槽位。初始时,已连接描述符集合是空的。
8、每个逻辑流都能访问该进程的全部地址空间,这使得在流之间共享数据变得很容易。
9、在一些重要的方面,线程执行是不同于进程的,因为一个线程的上下文要比一个进程的上下文小得多,线程的上下文切换要比进程的上下文切换要快得多。
10、主线程和其他线程的差别仅在它总是线程中第一个运行的线程。一个线程可以杀死它的任何对等线程,或者等待它的任意对等进程终止。
11、在任何一个时间点上,线程是可结合的或者是可分离的。

代码托管

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)
目标 5000行 30篇 400小时
第一周 63/63 1/1 7/7
第二周 100/163 1/2 15/22
第三周 2/4 16/38
第四周 2/6 15/53
第五周 1/7 17/70
第六周 2/9 18/88
第七周 1/10 15/103
第八周 2/12 14/117
  • 计划学习时间:16小时

  • 实际学习时间:14小时

posted @ 2018-11-25 23:45  刘璐瑾  阅读(103)  评论(0编辑  收藏  举报