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:

  1. 学习xxd的使用,提交至少3个应用截图
  2. xxd的主要功能是什么?需要使用什么系统调用来实现?写出你的推导过程,命令
  3. 写出实现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的更多相关文章

  1. 2017-2018-1 20155326信息安全系统设计基础》嵌入式C语言课上考试补交

    2017-2018-1 20155326信息安全系统设计基础>嵌入式C语言课上考试补交 PPT上的例子 已知位运算规则为: &0 --> 清零 &1 --> 不变 | ...

  2. 关于转入软件工程专业后第二次java课上作业的某些体会

    今天是第二周的java课. 自从转入了软件工程专业后,在我没有学习c++的基础上,直接开始了学习java的过程.不得不说过程很艰辛.今天下午老师让编写一个随机产生作业的软件.而我的基础差到都不知道如何 ...

  3. # 2017-2018-1 20155302 课下实践IPC及课上补充

    课上实践补交 题目二要求: 学习使用stat(1),并用C语言实现 提交学习stat(1)的截图 man -k ,grep -r的使用 伪代码 产品代码 mystate.c,提交码云链接 测试代码,m ...

  4. 20155332 补交ch12课下作业

    20155332 补交ch12课下作业 课下测试提交晚了,我课后补做了一遍,答对13题,答错3题. 试题内容如下所示: 课本内容 1.并发(Concurrency) 访问慢I/O设备:就像当应用程序等 ...

  5. 第六周课上测试-3-ch02补充作业

    实验要求: 编写一个程序 "week0603学号.c",运行下面代码: short int v = -学号后四位 unsigned short uv = (unsigned sho ...

  6. 2018-2019-1 20165330 《信息安全系统设计基础》第六周课上测试ch02&课下作业

    课上测试 测试-3-ch02 任务详情 编写一个程序 "week0203学号.c",运行下面代码: 1 short int v = -学号后四位 2 unsigned short ...

  7. 20155325 2017-2018 1 课上测试、课下作业、实验——码云&博客链接汇总 《信息安全系统设计基础》

    第二周-课上 码云 https://gitee.com/bestiisjava2017/XinXiAnQuanXiTongSheJiJiChu20155325thl/tree/master/0927 ...

  8. 2017-2018-1 20155307 《信息安全系统设计基础》第十周课上未完成补充以及课下IPC作业

    课上内容2:stat命令的实现-mysate 学习使用stat(1),并用C语言实现 提交学习stat(1)的截图 man -k ,grep -r的使用 伪代码 产品代码 mystate.c,提交码云 ...

  9. 20165302 ch02 课下作业

    20165302 ch02 课下作业 作业内容 补充完成课上测试(不能只有截图,要有分析,问题解决过程,新学到的知识点) 完成教材 p97 2.96 2.97,要有完备的测试 发一篇相关内容的博客, ...

随机推荐

  1. MySQL的日志系统

    一.日志类型 逻辑日志:存储了逻辑SQL修改语句 物理日志:存储了数据被修改的值 二.binlog 1.定义 binlog 是 MySQL 的逻辑日志,也叫二进制日志.归档日志,由 MySQL Ser ...

  2. Python 入门之 内置模块 -- 序列化模块(json模块、pickle模块)

    Python 入门之 内置模块 -- 序列化模块(json模块.pickle模块) 1.序列化 Python中这种序列化模块有三种: ​ json模块 : ​ 不同语言都遵循的一种数据转化格式,即不同 ...

  3. JAVA并发编程实战笔记 第二章

    2.1 线程安全性 当多个线程访问某个类时,不论这些线程如何交替执行,这个类始终都能表现出正确的行为,且主调代码中不需要任何额外的同步或协同,则称这个类是线程安全的. 类不变性条件(Invariant ...

  4. 在线JSON转Go 结构体,在线JSON转Go Struct

    在线转换https://oktools.net/json2go

  5. Redis【4】Java Jedis 操作 Redis~

    package redis.redis; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; /** * 描 ...

  6. python语音提示

    #coding:utf8 import win32com.client speaker = win32com.client.Dispatch("SAPI.SpVoice") whi ...

  7. 学习-Pytest(五)yield操作

    1.fixture的teardown操作并不是独立的函数,用yield关键字呼唤teardown操作 2.scope="module" 1.fixture参数scope=”modu ...

  8. fork树

    i son/pa ppid pid fpid parent parent parent child child parent child parent parent child child child ...

  9. apache 修改文件上传大小限制

    Windows 环境下的修改方法 ================================================================ 第一步:修改在php5下POST文件 ...

  10. Centos7下常用配置命令

    1.禁用ipv6 Step 1: add this rule in /etc/sysctl.conf : net.ipv6.conf.all.disable_ipv6=1 Step 2: add th ...