您的位置:首页 > 其它

20155328 《信息安全系统设计基础》 第八周学习内容总结

2017-11-12 23:31 337 查看

20155328 《信息安全系统设计基础》 第八周学习内容总结

教材学习内容总结

每个网络应用都是基于客户端-服务器模型的。在该模型中,一个应用是由一个服务器进程和一个或多个客户端进程组成的。客户端-服务器模型中的基本操作是事务,它由四步组成:1.客户端向服务器发送一个请求,发起一个事务;2.服务器收到请求后,解释之,并操作它的资源;3.服务器给客户端发送一个响应,例如将请求的文件发送回客户端;4客户端收到响应并处理它,例如Web浏览器在屏幕上显示网页。

一个IP地址就是一个32位无符号整数,它存放在一个IP地址结构中。

客户端和服务器通信时使用的是IP地址,然而对于人们而言大整数是很难记住的,因此因特网也定义了一组更加人性化的域名,以及一种将域名映射到IP地址的机制。域名是一串用点分隔的单词(字母、数字和破折号),它有自己的层级结构。



Web内容是与MIME(多用途网际邮件扩充协议)类型相关的字节序列,包括:HTML页面、无格式文本、Postscript文档、GIF图像、JPEG图像等。

HTTP响应和请求是类似的,它包括:一个响应行,后面跟随0个或多个响应报头,然后是终止报头的空行,再跟随一个响应主体。 一个响应行的格式为:
<version> <status code> <status message>


有以下四种方式终止线程:当顶层的线程例程返回时,线程会隐式终止;线程调用pthread_exit函数,线程会显示终止;如果主线程调用pthread_exit,它会等到所有其他对等线程终止,然后再终止主线程和整个线程,返回值为thread_return;某个对等线程调用exut函数,则函数终止进程和所有与该进程相关的线程;另一个对等线程调用以当前ID为参数的函数ptherad_cancel来终止当前线程。

一个可结合的线程能够被其他线程回收其资源和杀死,在被其他线程回收之前,它的存储其资源是没有被释放的;相反,一个分离的线程是不能被其他线程回收或杀死的。

修改对象的线程叫做写者;只读对象的线程叫做读者。写着必须拥有对对象的独占访问,而读者可以和无限多个其他读者共享对象。读者——写者问题基本分为两类:第一类,读者优先,要求不要让读者等待,除非已经把使用对象的权限赋予了一个写者。换句话说,读者不会因为有一个写者等待而等待;第二类,写者优先,要求一定能写者准备好可以写,它就会尽可能地完成它的写操作。同第一类问题不同,在一个写者后到达的读者必须等待,即使这个写者也是在等待。

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

暂无

代码托管



上周考试错题总结

Linux信号处理说法正确的是(ABDEF)

A .

可以用signal()处理信号

B .

一个信号最多只能被接收一次

C .

kill(1)用来杀死进程

D .

kill(1)用来发送信号

E .

可以通过键盘发送信号

F .

可以用sigaction()处理信号

有关exec系列函数,下面说法正确的是(CE)

A .

可以用char[][] 来传递argv

B .

进程调用了exec系列函数后,pid会变

C .

进程调用了exec系列函数后,代码会改变。

D .

system()和exec系列等价。

E .

exec系列函数中带e的要传入环境变量参数

F .

exec系列函数中带v的要传入环境变量参数

不能用char[][] 来传递argv,结尾的0(null)无法处理;system=fork+exec+wait;

关于代码 int main(){} 说法正确的是()

A .

返回值是0

B .

返回值不确定

C .

会调用exit(0)

D .

返回值大于0

E .

上面代码运行完,在命令行中运行echo $? 的值是0

main中不调用exit,会补上exit(0)。

结对及互评

点评模板:

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

xxx

xxx

...

代码中值得学习的或问题:

xxx

xxx

...

其他

本周结对学习情况

结对对象:20155325

学习内容:第十一章

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周40/401/120/20
第二周40/401/218/38
第四周154/1942/420/58
第五周48/2422/620/78
第六周59/3012/819/97
第七周354/6552/918/115       |
第八周455/11001/1015/130
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

计划学习时间:18小时

实际学习时间:15小时

改进情况:

(有空多看看现代软件工程 课件

软件工程师能力自我评价表)

参考资料

《深入理解计算机系统V3》学习指导

...

课堂提交补充

提交点2

把第一个练习中的代码(sum)在X86-64(Ubuntu)中反汇编,给出汇编代码和机器码的截图。把X86-64汇编翻译成Y86-64汇编,并给出相应机器码的截图。

#include<stdio.h>
void main(int arggc,char *argv[])
{
int sum=0;
int i;
for(i=0;i<argc;i++)
sum+=atoi(argv[i]);
printf("sum=%d\n",sum);
}

汇编代码截图如下:



机器代码截图如下:



提交点3

基于socket 使用教材的csapp.h csapp.c,实现daytime(13)服务器(端口我们使用13+后三位学号)和客户端

服务器响应消息格式是



客户端IP:XXXX

服务器实现者学号:XXXXXXXX

当前时间: XX:XX:XX



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: