(CSAPP第三版系列)导航篇传送门

8.12 这个程序会输出多少个“hello”输出行?

分析该程序doit()函数的行为,4个进程都会再返回到主程序,所以程序会输出8个“hello”输出行。

8.16 下面这个程序的输出是什么?

分析该程序,子进程将count减一,父进程将其加一后输出,所以输出是: counter = 1。

 

8.20使用execve编写一个叫做myls的程序,该程序的行为和/bin/ls程序的一样。

程序如下:

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>int main(int argc,char *argv[],char *envp[])
{if(execve("/bin/ls",argv,envp) == -1)printf("execve error!\n");return 0;
}

测试结果如下:

8.24 修改图8-18中的程序。

程序如下:

#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <signal.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#define N 2int main()
{int status,i;pid_t pid;for(i = 0;i < N;i++)if((pid = fork()) == 0){int *pt = 0x0;*pt = 15213;exit(100+i);}     while((pid = waitpid(-1,&status,0)) > 0){if(WIFEXITED(status))printf("child %d terminated normally with exit status = %d\n",pid,WEXITSTATUS(status));else if(WIFSIGNALED(status)){fprintf(stderr,"child %d terminated by signal %d",pid,WTERMSIG(status));psignal(WTERMSIG(status)," ");}elseprintf("child %d terminated abnormally\n",pid);}if(errno != ECHILD)printf("waitpid error\n");exit(0);
}

测试结果如下:

CSAPP第八章家庭作业参考答案相关推荐

  1. CSAPP第二章家庭作业参考答案

    (CSAPP第三版系列)导航篇传送门 2.56 用不同的示例值运行show_bytes的代码. #include <stdio.h>typedef unsigned char *byte_ ...

  2. CSAPP第7章家庭作业参考答案

    7.6 buf 有 m.o 外部 .data bufp0 有 swap.o 全局 .data bufp1 有 swap.o 局部 .bss incr 有 swap.o 局部 .text count 有 ...

  3. CSAPP第五章家庭作业参考答案

    (CSAPP第三版系列)导航篇传送门 5.14编写5.13的6*1循环展开版本 代码如下: /* Inner product. Accumulate in temporary */ void inne ...

  4. CSAPP第4章家庭作业参考答案

    4.45 不正确 push %rsp的指令会将rsp减8之前的old value压栈 应该是如下代码: movq REG, -8(%rsp) sub $8, %rsp 4.46 不正确 应该改为 ad ...

  5. [第三章] 深入理解计算机系统第三版 家庭作业参考答案

    人非圣贤孰能无过,欢迎大家提问与纠错 3.58 long decode2(long x, long y, long z) {y -= z;x *= y;return ((y << 63) ...

  6. [第五章] 深入理解计算机系统第三版 家庭作业参考答案

    5.13 A. 画图: 关键路径为第三幅图加粗部分 B. 下界为浮点加法的延迟界限,CPE 为 3.00 C. 整数加法的延迟界限,CPE 为 1.00 D. 关键路径上只有浮点加法 5.14 voi ...

  7. [第六章] 深入理解计算机系统第三版 家庭作业参考答案

    6.22 磁道数 d 与 r - x * r 成正比 设 d = k(r - x * r) = kr(1 - x) 总容量 c = 2πxk(r^2)(1 - x) = 2πk(r^2)(x - x^ ...

  8. 搜索c语言作业答案的软件,吉林大学软件学院C语言作业参考答案.doc

    吉林大学软件学院C语言作业参考答案 软件学院 高级语言程序设计作业参考答案 2010年12月 目录 第二章 简单程序1 第三章 分支程序设计3 第四章 循环程序设计9 第五章 模块化程序设计――函数1 ...

  9. 2021年春季学期-信号与系统-第十四次作业参考答案-第九小题参考答案

    本文是 2021年春季学期-信号与系统-第十四次作业参考答案 中各小题的参考答案. §09 第九小题 9.证明DFT的对称性质: 若:DFT{x[n]}=X[k]DFT\left\{ {x\left[ ...

  10. 2021年春季学期-信号与系统-第十四次作业参考答案-第八小题参考答案

    本文是 2021年春季学期-信号与系统-第十四次作业参考答案 中各小题的参考答案. §08 第八小题 8. 以下序列的长度为\nN.,求其离散傅里叶变换的闭合表达式. (1) x[n]=sin⁡(ω0 ...

最新文章

  1. linux shell 数组添加元素
  2. 省带宽、耗电小,腾讯游戏学院专家解析手游渲染架构
  3. Hive 03_DML、SerDe、Beeline、JDBC
  4. 有趣的php实例,8个必备的PHP功能实例代码
  5. android 广告弹出层,安卓广告活动弹窗控件 android-adDialog
  6. Python爬虫之:下载软件包
  7. Coinbase在2020年下半年共收到执法机构2313次信息申请
  8. yii2-更改默认显示的通用主页
  9. mysql print r_PHP 中 PDO 打印出错信息,和 print_r 的位置提前的奇怪表现问题
  10. 451.根据字符出现频率排序(力扣leetcode) 博主可答疑该问题
  11. .NET回归 HTML----表单元素(1)和一些常用的标记
  12. excel表格中忘了撤销工作表保护密码怎么办
  13. 统计学中的三大相关系数
  14. matlab 添加断点,matlab设置断点
  15. 未转变者服务器载具名称,交通工具 - 未转变者中文维基 | Unturned资料站 - 灰机wiki...
  16. java写宽带连接.adsl拨号,并且检测断线自动重新连接,更换ip
  17. sys.path用法介绍
  18. 构建Raspberry Pi,脉冲传感器和LCD的心跳计数器
  19. 拓嘉辰丰:影响拼多多直通车推广效果的因素有哪些?
  20. AD打印,只打印自己想要的层怎么设置

热门文章

  1. 台式计算机不用鼠标怎么关机,没有鼠标怎么关机
  2. 【知识图谱】08KBQA问答系统(python+fuseki+jena)
  3. 计算机基础一体化教程(习题)
  4. SmartPhone和PPC手机的区别
  5. 2005年linux手机系统,2005年智能手机点评之其他操作系统篇
  6. Cisco Packet Tracer思科模拟器中路由器PPP封装与验证
  7. 如何从 Hibernate官网下载 hibernate原码 和hibernatetools
  8. Flex builder3相关
  9. 黑客高手是这样上网的!Vimium、Vimperator 浏览器插件让你全程用键盘快捷高效浏览网页
  10. VB编程的RS485通讯操作界面源码 本程序适应各类带RS485通讯的设备,参数可以自由修改,主要是针对各类变频器RS485通讯(RTU)格式!