虚拟地址 Space 和分页
Virtual Address Space and Paging
在线阅读 'Virtual Memory' 一词似乎有些混淆。它似乎描述了两个概念,一个是每个进程都有自己的虚拟地址space,另一个是能够分页到辅助驱动器的想法。我假设他们在几乎所有新操作系统中都实现了 'both'.
我的问题是,这两个概念必须一起实现吗?网上查资料的时候好像总是一起提到,但是有没有可能一个一个没有一个?
例如,我知道我可以禁用我的系统上的交换文件,因此每个进程仍然有自己的虚拟地址 space 并且仍在实现虚拟内存,但不会分页到辅助开车。
理论上,不会发生这种情况,但您能否实现一个使用分页而不是每个进程的虚拟地址 spaces 的系统,从技术上讲,这仍然会使用虚拟内存吗?
当我们谈论'virtual memory'时,我们具体在谈论哪个概念,或者两者都是?
如果能帮我解决困惑,我将不胜感激,谢谢。
术语逻辑内存和虚拟内存通常是conflated.In以前的日子,这不是什么大问题因为两者是相辅相成的。现在,有了大内存系统,我们很可能会看到逻辑内存保留而虚拟内存消失。
逻辑内存是将物理内存重新映射到线性地址space。
虚拟内存是利用磁盘存储模拟物理内存。
完全有可能让系统在没有虚拟内存的情况下实现逻辑内存。然而,几乎每个主要操作系统(包括 Linux 和 Windoze)都是基于磁盘的虚拟内存系统。仅仅通过关闭页面错误处理并删除页面文件是不可能将它们转换为非虚拟内存的。
如果我是 运行 M$,我会开发一个 Windoze 替代品,专为没有磁盘支持的大内存而设计。
在线阅读 'Virtual Memory' 一词似乎有些混淆。它似乎描述了两个概念,一个是每个进程都有自己的虚拟地址space,另一个是能够分页到辅助驱动器的想法。我假设他们在几乎所有新操作系统中都实现了 'both'.
我的问题是,这两个概念必须一起实现吗?网上查资料的时候好像总是一起提到,但是有没有可能一个一个没有一个?
例如,我知道我可以禁用我的系统上的交换文件,因此每个进程仍然有自己的虚拟地址 space 并且仍在实现虚拟内存,但不会分页到辅助开车。
理论上,不会发生这种情况,但您能否实现一个使用分页而不是每个进程的虚拟地址 spaces 的系统,从技术上讲,这仍然会使用虚拟内存吗?
当我们谈论'virtual memory'时,我们具体在谈论哪个概念,或者两者都是?
如果能帮我解决困惑,我将不胜感激,谢谢。
术语逻辑内存和虚拟内存通常是conflated.In以前的日子,这不是什么大问题因为两者是相辅相成的。现在,有了大内存系统,我们很可能会看到逻辑内存保留而虚拟内存消失。
逻辑内存是将物理内存重新映射到线性地址space。 虚拟内存是利用磁盘存储模拟物理内存。
完全有可能让系统在没有虚拟内存的情况下实现逻辑内存。然而,几乎每个主要操作系统(包括 Linux 和 Windoze)都是基于磁盘的虚拟内存系统。仅仅通过关闭页面错误处理并删除页面文件是不可能将它们转换为非虚拟内存的。
如果我是 运行 M$,我会开发一个 Windoze 替代品,专为没有磁盘支持的大内存而设计。