仿真操作系统实现LRU虚拟内存替换算法,已通过测试。
为了熟悉作业管理和虚页内存管理,了解作业及进程并发操作和虚页调度算法,并能够通过完成硬件结构的设计来实现进程并发、虚页调度、死锁检测等几大基本功能,我们选择了可视化仿真实现作业管理与虚页内存管理这一课题。在学习相关知识之后,我们实现了裸机硬件的仿真、作业及进程调度的仿真、内存管理的仿真等功能,并通过可视化方式呈现。
裸机硬件的仿真包括CPU、内存Memory、硬盘Disk、时钟、中断和MMU地址变换部件等设计与实现。其中CPU包含PC寄存器、PSW 寄存器、IR 寄存器等。内存Memory大小为32KB,每个物理块大小512B,共64个物理块。硬盘Disk大小为1MB,1 个柱面中有32个磁道,1个磁道中有64个扇区,1个扇区为1个物理块,每个物理块的大小为512B。MMU 地址变换部件负责将逻辑地址转换为物理地址。
内存管理包括虚页内存的设计与实现、页表与快表的设计、内存替换算法等。快表和页表的表项Page类,包含了页号、对应的块号和访问次数等信息。快表FastTable和页表PageTable,实现了插入表项、判断是否命中、返回物理块号等功能。LRU页面替换算法是在MMU 地址变换部件中实现的,淘汰最近最长时间没有访问到的页面。
1