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