您的位置:首页 > 其它

2017-2018-1 20155226 《信息安全系统设计基础》第八周课下总结

2017-11-12 16:43 281 查看

题目一:

参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA 在Linux下完成“求命令行传入整数参数的和”

测试代码传入自己的8位学号

答题过程:

参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA ,得知应该在代码中调用命令行参数。



参考C语言命令行参数的使用知道了其基本格式为main(int argc,char * argv[]) ,第一个int型变量argc表示的是命令行参数的个数,第二个*char型变量argv的作用是存储用户从命令行传递进来的参数。于是编写代码:

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




题目二:

把第一个练习中的代码在X86-64(Ubuntu)中反汇编,给出汇编代码和机器码的截图

把X86-64汇编翻译成Y86-64汇编,并给出相应机器码的截图(使用附件中的Y86-64模拟器)

解答过程:

将第一题中的.c文件变成.o文件,然后输入objdunp -d 8-1.o 查看X86-64中的反汇编代码。

由于之前在实验楼中安装的Y86汇编器,为了方便起见在我的电脑里面重新进行了安装。安装步骤如下:

首先安装词法分析工具和Tcl/Tk 支持图形界面,这个之前已经在电脑里安装过了,就没有再输命令了。

下载并解压sim.tar压缩包,下载地址参考实验楼网址( http://labfile.oss.aliyuncs.com/courses/413/sim.tar)。

输入命令wget http://labfile.oss.aliyuncs.com/courses/413/sim.tar下载,接着输入命令tar -xvf sim.tar解压sim压缩包。



打开sim中的Makefile,修改mkaefile文件,如下:



进入sim目录,终端输入make clean和make。

进入pipe目录以pism为例运行图形界面:./psim -t -g ../y86-code/asum.yo



题目三:

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

服务器响应消息格式是



客户端IP:XXXX

服务器实现者学号:XXXXXXXX

当前时间: XX:XX:XX



解答过程:



课下作业:

4.47



4.48



把课上练习3的daytime服务器分别用多进程和多线程实现成并发服务器并测试

多进程:



多线程:

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