Q: 哪些内存分配方式会产生内部碎片?
A: - 固定分区分配 (等长或不等长)
- 分页存储管理
Q: 为什么固定分区分配和分页存储管理会产生内部碎片?
A: 因为分配给作业的存储空间是预先固定的 (分区大小或页面大小), 如果作业实际需要的空间小于分配的空间, 剩余的部分就无法被其他作业利用, 从而成为内部碎片.
Q: 哪些内存分配方式会产生外部碎片?
A: - 可变分区分配
- 分段存储管理
Q: 为什么可变分区分配和分段存储管理会产生外部碎片?
A: 因为在频繁的分配和回收后, 内存中会散布着许多不连续的小的空闲区域, 这些区域太小而无法满足新的分配请求, 从而成为外部碎片.
Q: 在文件管理中, 为什么链接分配不会产生外部碎片?
A: 因为链接分配允许文件离散地存储在不同的物理块中, 块与块之间通过指针连接. 这种方式可以充分利用磁盘中所有未被占用的块, 即使它们不连续, 因此不会产生外部碎片.
Q: 什么是命令解释程序 (Command Interpreter)?
A: 命令解释程序是负责接收和解释用户输入的命令, 并调用相应的系统服务来执行这些命令的程序模块. 它在用户和操作系统内核之间提供了一个接口, 通常也被称为 Shell (外壳).
Q: 为什么硬件实现的同步机制不能实现让权等待?
A: 硬件会一直查看是否可以使用临界资源
例如自旋锁: 获取锁失败时,线程在循环中持续测试,占用 CPU。
硬件原子指令: 在循环中反复执行原子指令,占用 CPU。
Q: 为什么跳转指令与压栈指令都可以在用户态执行?
A: 跳转指令与压栈指令都仅仅改变了该进程内部的执行流和数据
不会影响其他进程, 也不会影响 OS
Q: 
工作集窗口大小为 5, 则在 t 时刻工作集为
A: 0,2,3
Q: 工作集中的元素有前后关系吗?
A: 没有, 工作集的本质是一个集合
元素之间不存在次序关系
只是每一个元素有一个最后访问时间, 方便工作集内容的更新
驻留集 < 工作集: {抖动}
驻留集 ≈ 工作集: 完美
驻留集 > 工作集: {资源浪费}
工作集与驻留集的区别
工作集: 进程实际{需要}的内存
驻留集: 进程实际{拥有}的内存
Q: 以键盘为例, 说明键盘中断服务过程中, 数据传输的情况
A: 