【问题标题】:How to solve this virtual memory question using C program?如何使用 C 程序解决这个虚拟内存问题?
【发布时间】:2021-08-23 03:40:24
【问题描述】:

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

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

【问题讨论】:

  • 到目前为止你有什么尝试?
  • 我还没有编码,但我的想法是使用需求分页来解决。
  • 尝试一下,如果您遇到特定问题或障碍,您可以询问相关问题。请参阅有关提出家庭作业问题的元常见问题解答:meta.stackoverflow.com/questions/334822/…
  • @ChandlerBing,尝试编写你的想法,如果你被困在某个地方,你可以在这里提及,人们会帮助你。祝你好运:-)

标签: c memory-management operating-system virtual-memory


【解决方案1】:

模拟一种虚拟内存技术...

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

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

【讨论】:

    猜你喜欢
    • 2021-10-19
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多