闭卷重建地址空间与重定位的对象、状态、事件、不变量与一个失败反例。
操作系统与系统实验 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建连续分配、碎片与伙伴系统的对象、状态、事件、不变量与一个失败反例。
闭卷重建分页、页表与TLB的对象、状态、事件、不变量与一个失败反例。
闭卷重建多级页表与反向页表的对象、状态、事件、不变量与一个失败反例。
闭卷重建请求分页、工作集与抖动的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:FIFO与Belady异常的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:LRU与CLOCK替换的对象、状态、事件、不变量与一个失败反例。
核心机制:首次/最佳/最坏适配影响外部碎片,伙伴系统用二次幂块换取快速合并;实验入口:按请求序列在128KiB区域执行分配释放,画空闲链并计算内部与外部碎片;边界:空闲总量足够不代表存在足够大的连续块;碎片率必须说明定义。
核心机制:链接地址、逻辑地址和物理地址由装载与MMU映射连接,保护检查必须先于物理访问;实验入口:给基址、界限和逻辑地址计算物理地址,对越界地址返回保护异常;边界:地址位数只说明表示范围,不说明所有地址都已映射或可访问。
核心机制:多级页表只为用到的地址范围分配下级表,反向页表按物理页框记录拥有者;实验入口:给48位虚拟地址与四级索引位数计算最坏页表访问次数和覆盖范围;边界:巨大页减少TLB压力却增加内部碎片与迁移成本,不能全局默认开启。
核心机制:虚拟页号索引页表得到页框,页内偏移保持不变;TLB缓存近期翻译而非数据;实验入口:对32位地址、4KiB页拆VPN与offset,分别计算TLB命中、页表命中和缺页路径;边界:TLB未命中不等于缺页;页表项还含有效、权限、访问和修改等状态。
核心机制:页替换模拟器维护页框集合与进入顺序,缺页才替换最早进入页面;实验入口:输入引用串与页框数,输出FIFO缺页次数,并比较3框与4框是否出现Belady异常;边界:首次装入也计缺页;增加页框对FIFO不保证单调,但栈算法LRU具有包含性质。
核心机制:缺页处理要定位页、选择页框、必要时写回、读入并重启指令;工作集近似近期活跃页面;实验入口:逐页追踪两个进程的驻留集和缺页率,识别总工作集超过物理页框后的抖动;边界:高CPU利用率不是加进程的充分理由;抖动时增加并发度会进一步恶化。
核心机制:LRU记录最近访问次序,CLOCK用访问位近似并循环寻找牺牲页;实验入口:同一引用串分别输出LRU与CLOCK缺页数,附至少四组边界测试;边界:CLOCK结果受指针初始位置和访问位置更新规则影响,题面必须明确定义。