【发布时间】:2017-02-20 15:58:44
【问题描述】:
据我了解,当进程从主内存换出然后再换入时,它们可以占用物理内存的不同区域。这种能力是否由所有三个分段、分页和分区内存管理系统共享?如果不是,有什么区别,为什么?
谢谢。
【问题讨论】:
标签: linux macos unix memory-management operating-system
据我了解,当进程从主内存换出然后再换入时,它们可以占用物理内存的不同区域。这种能力是否由所有三个分段、分页和分区内存管理系统共享?如果不是,有什么区别,为什么?
谢谢。
【问题讨论】:
标签: linux macos unix memory-management operating-system
你混合了很多不同的概念。分段是管理内存的过时系统。在过去,当大型系统有 1-2 MB 内存和 16 位寻址时,进程只能访问系统内存的一小部分(64Kb)。段寄存器用于访问更大的地址范围(在不同的时间)。分段可用于支持多个进程,也可用于增加单个进程中的可用内存。虽然进程在任何时候都被限制为 64KB,但使用段寄存器将允许进程拥有超过 64KB 的可用内存(总)。这是 PDP-11 上的常见做法。
分区和分段在本质上是相同的,并且同样过时。我将 PDP 描述为使用段。其他人将其描述为使用分区。有多个版本的分区。
英特尔在其处理器中本应消亡很久之后,仍然保持(并保持在 32 位模式)分段。
交换是实现多处理的过时系统。整个过程被移动到磁盘。在 64KB 进程的时代,这没有将 32 位地址空间移动到磁盘所产生的开销。
现代系统使用分页来管理内存。在虚拟内存系统中,单个页面被移动到辅助存储;不是整个进程(尽管整个进程可能会被调出内存)。
【讨论】: