转载

【读厚 CSAPP】知识点复习

考试的目的在于明晰知识点,复习的目的在于温故知新,理解最重要。和实验中考察的不同,这一讲我们结合往年的测试题,来回顾下重点的理论知识点。

易错

  • 只有已退出(Exited)的进程才能被回收
  • 带合并的 malloc 的空间利用率可能更高、可能一样、可能更低(相对于不带合并的 malloc
  • 执行 exec 之后被阻塞的信号会保留
  • 已初始化的变量保存在 ELF 二进制文件中的 .data 部分
  • fork 之后父进程和子进程会立即共享 open file struct
  • 进程没有办法处理 SIGKILL 信号

概念

  • next fit 与 first fit 的区别

例题

进程控制

假设下面代码中 fork , exec , waitprintf 都不会失败,每次调用 printf 之后 stdout 都会被清空(flushed)

int global_x = 0;

int main(int argc, char *argv[])
{

global_x = 17;

// 这里 fork 永远不会失败
if (!fork()) {
global_x++;
printf("Child: %d/n", global_x);
}
else
{
wait(NULL);
global_x--;
printf("Parent: %d/n", global_x);
}

return 0;
}

前面代码的输出是什么?

原文  http://wdxtub.com/2016/05/01/csapp-review/
正文到此结束
Loading...