Principle of locality,程序在执行过程中的一个较短使其内,指令地址和操作数地址,分别局限于一定区域。具体体现在:
一条跳转指令的两次执行,很可能跳到相同的内存位置。
假定我们的程序采取了虚拟存储,而不是将程序全部加载到内存中去。
页面大小为4K,分配给每个进程的物理页面数位1。在一个进程中,定义了如下的二维数组 int A[1024][1024],该数组按行存放在内存,每一行放在一个页面中。
二维数组在存储空间的存储情况,int型占4个字节,每一行4K,正好一页容纳下。
方法1访问页面的序列为:0,1,2,…. 1023,共发生了1024*1024次缺页。但是方法2只发生了1024次缺页。
将不常用的部分内存块暂存到外存。
物理内存分配非连续,虚拟地址空间使用非连续。
提供给用户的虚拟内存可大于实际的物理内存。
硬件和软件结合。
硬件需要做:页式或段式存储中的地址映射机制
管理内存和外存间页面或段的换入和换出。