gpt4 book ai didi

c - 如何理解虚拟内存?

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:55 25 4
gpt4 key购买 nike

如何理解句子

we can generalize and allow each data object to have multiple independent addresses, each chosen from a different address sapce. This is the basic idea of virtual memory (《CSAPP》)

为什么数据对象没有唯一地址?

最佳答案

虚拟内存通常用于在运行多个程序的计算机上简化编程。

如果您的计算机上运行着多个程序,它们每个都会看到适合它们需要的内存虚拟地址空间。就该程序而言,生活很简单。他们可以在任何特定地址使用他们想要的任何内存,并且他们不必做出任何努力来避免内存被其他程序使用。

此外,为了安全起见,他们不能看到其他程序使用的内存,即使他们愿意。他们的内存地址空间完全是他们自己的,可以随心所欲地使用。

因此,在简单的情况下,每个数据对象都属于一个程序,那么每个数据对象确实只有一个地址。

但是,程序可以引用公共(public)资源。例如,两个拼写检查器可能需要使用磁盘上一个充满拼写的大文件。操作系统通常不会将其加载到内存中两次,而是加载一次 - 但使用它的两个程序可能会在不同的虚拟地址看到它。因此,在这种情况下,一个数据对象可能确实有多个虚拟地址。

关于c - 如何理解虚拟内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16220206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com