交互演示(操作系统)

本页承载内存管理、文件管理与输入输出管理章的配套交互动画。章节正文的推导过程可先手推,再回到本页逐步对照验证。

页面置换算法四算法对照

引用串 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1,页框数 3——与章节正文的统一引用串完全一致。切换 OPT / FIFO / LRU / Clock 四种算法,逐步观察帧表演变:绿色 = 命中,红色 = 缺页,每步说明淘汰决策的依据。

引用串 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 · 3 帧 · 当前缺页 1 次
访问7
帧 07
帧 1·
帧 2·
中断✕
缺页:页面 7 装入空帧 0
第 1 / 20 步(绿=命中行,红=缺页)

中断处理流程

对应输入输出管理章「设备驱动与中断处理」一节。流程节点:中断请求 → 响应/断点保护 → 中断服务程序(保存现场 → 设备处理 → 恢复现场)→ 中断返回。切换「单重中断 / 多重中断(中断嵌套)」两种模式:单重全程关中断一次处理到底;多重在保存现场之后开中断,单步观察更高优先级的设备 B 打断设备 A 服务程序、再逐层中断返回的完整嵌套过程——重点盯住中断允许位 IF 的每次翻转时机。

服务程序内不开中断,一次处理到底
中断请求
→
响应/断点保护
→
中断服务程序
保存现场
→
设备处理
→
恢复现场
→
中断返回
当前执行流(内层在上)
主程序
中断允许位 IF:开中断
外设(如磁盘控制器)完成 I/O,向 CPU 发出中断请求信号 INTR——流程起点
第 1 / 6 步 · 蓝=流程位置 绿=模式 红=有新中断请求 白框=正在执行

磁盘调度

请求序列 98, 183, 37, 122, 14, 124, 65, 67,磁头起始 53、磁道 0–199、方向增大——与文件管理章 6.3 节的统一算例完全一致。切换 FCFS / SSTF / SCAN / C-SCAN 四算法,单步观察磁头在磁道数轴上的移动与寻道轨迹,累计寻道长度与平均寻道长度实时统计(C-SCAN 的 199→0 跳转按教材口径不计入)。

请求序列 98, 183, 37, 122, 14, 124, 65, 67 · 磁头起始 53 · 磁道 0–199 · 方向增大
0
50
100
150
199
磁头 98
磁头移动轨迹(纵轴 = 磁道号,横轴 = 步序;蓝 = 当前位置,实心绿 = 已服务,灰 = 等待请求,橙圈 = C-SCAN 跳转)
FCFS:严格按到达顺序,服务第 1 个请求 98(53 → 98,移动 45 道)
已服务 1 / 8 · 累计寻道长度 45 道 · 平均寻道长度 45.00 道
第 1 / 8 步 · 终点累计:FCFS 640 · SSTF 236 · SCAN 331 · C-SCAN 183(不计跳转)

使用建议

  1. 先在内存管理章按某一种算法手推完整帧表,再用本页同算法核对每一格
  2. 对比 FIFO 与 LRU 在本引用串下的缺页数差异,理解"最近最久未用"与"最先进入"淘汰依据的区别
  3. Clock 算法注意观察指针的扫描轨迹:访问位为 1 的页被跳过时其访问位被清零——这正是二次机会的代价
  4. 中断处理流程先跑「单重」再切「多重」:两者唯一差异是服务程序内是否开中断——多重中断在保存现场之后、恢复现场之前开中断,这正是嵌套能发生又不出错的窗口;注意嵌套层各自的现场分属不同栈帧
  5. 磁盘调度逐算法单步到终点,核对累计寻道长度:FCFS = 640、SSTF = 236、SCAN = 331、C-SCAN = 183(不计跳转),与文件管理章汇总表一致;重点观察 SSTF 中 183 直到最后才被服务的饥饿现象,以及 SCAN 必须到达边缘 199 才折返

更多交互动画(地址翻译 TLB 路径、动态分区分配回收、进程切换)将陆续加入本页。