首页 > 解决方案 > 如何使用 C 程序解决这个虚拟内存问题?

问题描述

模拟操作系统中使用的虚拟内存技术。声明一个代表主存的巨大数组,每个数组元素代表一个帧。数组元素要么是零(如果帧是空闲的),要么是 Pr-Pg,如果帧正被具有 id 的进程使用。给定进程大小,您的程序应确定页数并将 30% 的帧分配给进程,并且假定剩余页位于虚拟内存中。从进程中随机选择页面并随机分配一个框架,如果框架是空闲的。此页框组合保存在页表中。给定一个进程 ID,生成一个长度为 10 的页面引用字符串,通过检查物理内存中的页面可用性并在必要时替换页面(通过采用您选择的页面替换算法)来模拟进程的执行。

编写一个菜单驱动程序,(i) 接受新进程的详细信息并显示该进程的页表 (ii) 删除已完成的进程,并在完成后显示更新的空闲帧列表,(iii) 打印已使用 /主存储器中未使用的帧和 (iv) 给定进程执行的模拟结果。

标签: cmemory-managementoperating-systemvirtual-memory

解决方案


模拟虚拟内存技术...

以下是对复杂模拟而不是概念的半生不熟的描述。

我不认为这可以“解决”,无论它来自哪里。


推荐阅读