课上作业补交 p526/syscalls1
P526代码检查:
1 编译运行p524代码,提交运行结果截图
2 MAXLINE的值是多少?提交Ubuntu中查找这个值的命令和结果截图
3 p525 eval 函数中调用的Fork()函数需要什么头文件?你是如何查找的?
4 Fork() 与fork()什么关系?
1.运行p524代码:
下载老师所提供的代码,里面包含书上代码和头文件,之后进行编译
有可能是因为系统和库的原因,gcc命令直接编译无法通过,所以按照老师说得步骤,使用make file进行编译得:

出现可执行文件shellex,运行得:

2.使用grep -nr进行查看头文件中MAXLINE的值
因为我们不知道MAXLINE在哪个头文件中,直接在系统找过于慢,所以要缩小范围
头文件目录在系统的 /usr/include 目录下,所以输入命令:grep -nr "MAXLINE" /usr/include
发现MAXLINE的值为8192

3.p525 eval 函数中调用的Fork()函数需要什么头文件?你是如何查找的?
使用man -k 进行寻找

4.Fork() 与fork()什么关系?
进入fork中查看详细内容

fork创建一个子进程

所以Fork()与fork()是父子进程调用的关系
syscalls1:
- 学习xxd的使用,提交至少3个应用截图
- xxd的主要功能是什么?需要使用什么系统调用来实现?写出你的推导过程,命令
- 写出实现xxd的伪代码
学习xxd的使用,提交至少3个应用截图

-v-i

-ps

经查询相关资料,xxd的功能如下:
-a 缺省忽略转换: 使用‘*’替换空行.
-b 二进数数据转储 (与 -ps,-i,-r不兼容). 默认为16进制.
-c cols 每行多少列octets(特制8比特的字节). 默认为16列(-i: 12, -ps: 30).
-E 使用EBCDIC字符集. 默认为ASCII字符集.
-e 小端模式转储 (与 -ps,-i,-r不兼容).
-g 在正常输出中,每组八位字节数. 默认为2个 (-e: 4).
-h 输出此帮助.
-i 使用C语言文件样式输出.
-l len 在len个八位字节后停止.
-o off 在off个偏移量后开始输出.
-ps 以在行后添加16进制转储内容的格式输出.
-r 逆向操作: 转换(或修补) 十六进制内容为二进制内容.
-r -s off 在off个偏移量后开始转换16进制内容为二进制内容
-s [+][-]seek start at <seek> bytes abs. (or +: rel.) infile offset.(没看懂)
-u 使用大写字母进行十六进制表示.
-v 显示版本: "xxd V1.10 27oct98 by Juergen Weigert".
写出实现xxd的伪代码
没有完全理解,在学习后再回答。
课上作业补交 p526/syscalls1的更多相关文章
- 2017-2018-1 20155326信息安全系统设计基础》嵌入式C语言课上考试补交
2017-2018-1 20155326信息安全系统设计基础>嵌入式C语言课上考试补交 PPT上的例子 已知位运算规则为: &0 --> 清零 &1 --> 不变 | ...
- 关于转入软件工程专业后第二次java课上作业的某些体会
今天是第二周的java课. 自从转入了软件工程专业后,在我没有学习c++的基础上,直接开始了学习java的过程.不得不说过程很艰辛.今天下午老师让编写一个随机产生作业的软件.而我的基础差到都不知道如何 ...
- # 2017-2018-1 20155302 课下实践IPC及课上补充
课上实践补交 题目二要求: 学习使用stat(1),并用C语言实现 提交学习stat(1)的截图 man -k ,grep -r的使用 伪代码 产品代码 mystate.c,提交码云链接 测试代码,m ...
- 20155332 补交ch12课下作业
20155332 补交ch12课下作业 课下测试提交晚了,我课后补做了一遍,答对13题,答错3题. 试题内容如下所示: 课本内容 1.并发(Concurrency) 访问慢I/O设备:就像当应用程序等 ...
- 第六周课上测试-3-ch02补充作业
实验要求: 编写一个程序 "week0603学号.c",运行下面代码: short int v = -学号后四位 unsigned short uv = (unsigned sho ...
- 2018-2019-1 20165330 《信息安全系统设计基础》第六周课上测试ch02&课下作业
课上测试 测试-3-ch02 任务详情 编写一个程序 "week0203学号.c",运行下面代码: 1 short int v = -学号后四位 2 unsigned short ...
- 20155325 2017-2018 1 课上测试、课下作业、实验——码云&博客链接汇总 《信息安全系统设计基础》
第二周-课上 码云 https://gitee.com/bestiisjava2017/XinXiAnQuanXiTongSheJiJiChu20155325thl/tree/master/0927 ...
- 2017-2018-1 20155307 《信息安全系统设计基础》第十周课上未完成补充以及课下IPC作业
课上内容2:stat命令的实现-mysate 学习使用stat(1),并用C语言实现 提交学习stat(1)的截图 man -k ,grep -r的使用 伪代码 产品代码 mystate.c,提交码云 ...
- 20165302 ch02 课下作业
20165302 ch02 课下作业 作业内容 补充完成课上测试(不能只有截图,要有分析,问题解决过程,新学到的知识点) 完成教材 p97 2.96 2.97,要有完备的测试 发一篇相关内容的博客, ...
随机推荐
- MySQL的日志系统
一.日志类型 逻辑日志:存储了逻辑SQL修改语句 物理日志:存储了数据被修改的值 二.binlog 1.定义 binlog 是 MySQL 的逻辑日志,也叫二进制日志.归档日志,由 MySQL Ser ...
- Python 入门之 内置模块 -- 序列化模块(json模块、pickle模块)
Python 入门之 内置模块 -- 序列化模块(json模块.pickle模块) 1.序列化 Python中这种序列化模块有三种: json模块 : 不同语言都遵循的一种数据转化格式,即不同 ...
- JAVA并发编程实战笔记 第二章
2.1 线程安全性 当多个线程访问某个类时,不论这些线程如何交替执行,这个类始终都能表现出正确的行为,且主调代码中不需要任何额外的同步或协同,则称这个类是线程安全的. 类不变性条件(Invariant ...
- 在线JSON转Go 结构体,在线JSON转Go Struct
在线转换https://oktools.net/json2go
- Redis【4】Java Jedis 操作 Redis~
package redis.redis; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; /** * 描 ...
- python语音提示
#coding:utf8 import win32com.client speaker = win32com.client.Dispatch("SAPI.SpVoice") whi ...
- 学习-Pytest(五)yield操作
1.fixture的teardown操作并不是独立的函数,用yield关键字呼唤teardown操作 2.scope="module" 1.fixture参数scope=”modu ...
- fork树
i son/pa ppid pid fpid parent parent parent child child parent child parent parent child child child ...
- apache 修改文件上传大小限制
Windows 环境下的修改方法 ================================================================ 第一步:修改在php5下POST文件 ...
- Centos7下常用配置命令
1.禁用ipv6 Step 1: add this rule in /etc/sysctl.conf : net.ipv6.conf.all.disable_ipv6=1 Step 2: add th ...