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. Python 入门之 内置模块 -- datetime模块

    Python 入门之 内置模块 -- datetime模块 1.datetime模块 from datetime import datetime (1)datetime.now() 获取当前时间和日期 ...

  2. js汉字转换为拼音

    片段 1 片段 2 gistfile1.txt /* --- description: Pinyin, to get chinese pinyin from chinese. license: MIT ...

  3. Dynamic Compilation and Loading of .NET Objects

      This is another approach to dynamic compilation of objects and their usage via Interfaces. Introdu ...

  4. php小程序生成二维码

    <?php getwxacode(); //生成二维码 function getwxacode(){ $url = "https://api.weixin.qq.com/wxa/get ...

  5. ELK-全文检索技术-lucene

    ELK   :  ELK是ElasticSearch,LogStash以及Kibana三个产品的首字母缩写 一.倒排索引 学习elk,必须先掌握倒排索引思想, 参考文档: https://www.cn ...

  6. 修改jar包package目录结构操作方法

    开发中会遇到用第三方的jar包,有时候会出现不同的jar包,包名一致的情况,这就会引发运行时异常,找不到相应的jar包. 这种问题时常困扰我们很长时间.下面提出一种解决办法,例如gson.jar. 1 ...

  7. Spring Boot自动配置总结

    Spring Boot项目启动的时候加载主配置类,并开启了自动配置功能.(Spring Boot的自动配置功能是Spring Boot的一大重要且突出的特性) 那么我们需要了解下它: 如何加载主配置类 ...

  8. 001-SaltStack入门篇(一)之SaltStack部署

    早期运维工作中用过稍微复杂的Puppet,下面介绍下更为简单实用的Saltstack自动化运维的使用. Saltstack知多少Saltstack是一种全新的基础设施管理方式,是一个服务器基础架构集中 ...

  9. PAT Basic 1033 旧键盘打字 (20 分)

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入 ...

  10. Hive的安装搭建(三)

    03 Hive的安装搭建 Hive可以从源码中编译安装,也可以直接使用官网下载的安装包,在此处我们选择安装包解压安装的方式. Hive中最最重要的角色就是metastore 因此按照metastore ...