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小时
 - 
改进情况:
 
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
                    
                


                
            
        
浙公网安备 33010602011771号