将流程划分为具体意义上的页面是什么意思?

时间:2013-02-17 07:21:30

标签: process operating-system virtual paging

我理解'进程'概念的方式是它是可执行程序的运行实例.exe在辅助存储器中,并且它的运行实例在RAM中。如果这种理解是正确的,我想知道这个抽象描述的真正含义:'将一个进程划分为'页面'并在RAM中运行一些页面并将其余部分保留在二级存储器中以便在需要时进行交换“?这里的问题是虚拟内存的背景。

根据版主的建议,在问题中添加“编程”上下文:

假设我写了一个小程序来列出1到100(或)之间的数字来打印'Hello world'(或)一些桌面实用程序来扫描文本文件并在桌面中逐个打印文件中的单词窗口。考虑到我的最终可执行文件,一旦这些程序被编译和链接,当我运行可执行文件时,可执行文件如何被“划分”并在RAM中运行?我如何掌握和想象在某个时间点RAM中应该是什么以及什么“不应该”的想法?

1 个答案:

答案 0 :(得分:0)

在虚拟到物理地址转换中,您拥有它(分部)。虚拟地址空间被分成一个或几个千字节(通常,所有相同大小)的块,每个块可以与相同大小的物理内存块(页面)相关联。

最近尚未使用或尚未使用的可执行文件(或进程)的那些部分不需要从磁盘复制到物理内存中,因此虚拟地址空间的相应部分可能不会与物理记忆相关联。当系统在可用物理内存上变低时,它可能会重新调整某些页面的用途,并在必要时将其内容保存到磁盘中(如果它们包含只读数据/代码,则不保存)。