# IPC 复习题

> 原文：<https://github.com/angrave/SystemProgramming/wiki/IPC-Review-Questions>

## 话题

虚拟内存页表 MMU / TLB 地址转换页面错误帧/页单级与多级页表计算多级页表的偏移量管道读取写入结束写入零读取器管道从零写入器管道读取命名管道和未命名管道缓冲区大小/原子性调度算法效率测量

## 问题

*   什么是虚拟内存？
*   以下是什么，他们的目的是什么？
    *   翻译旁视缓冲区
    *   实际地址
    *   内存管理单元。多级页表。帧号。页码和页面偏移量。
    *   肮脏的一点
    *   NX 位
*   什么是页面表？物理框架怎么样？页面是否总是需要指向物理框架？
*   什么是页面错误？有哪些类型？什么时候导致段错误？
*   单级页表有哪些优点？缺点是什么？多层平台怎么样？
*   多层平台在内存中看起来像什么？
*   如何确定页面偏移中使用了多少位？
*   给定 64 位地址空间，4kb 页面和帧以及 3 级页表，虚拟页号 1，VPN2，VPN3 和偏移量的位数是多少？
*   什么是管道？如何创建管道？
*   SIGPIPE 何时交付给进程？
*   在什么条件下会在管道块上调用 read（）？在什么条件下 read（）会立即返回 0
*   命名管道和未命名管道有什么区别？
*   管道螺纹安全吗？
*   编写一个使用 fseek 和 ftell 的函数，用'X'替换文件的中间字符
*   编写一个创建管道的函数，并使用 write 向管道发送 5 个字节“HELLO”。返回管道的读取文件描述符。
*   mmap 文件会发生什么？
*   为什么不建议使用 ftell 获取文件大小？你应该怎么做呢？
*   什么是日程安排？
*   什么是周转时间？响应时间？等待时间？
*   护航效果是什么？
*   哪种算法平均具有最佳的周转/响应/等待时间