标签:
虚拟存储器(VM)是对主存的一种抽象概念。是硬件一场,硬件地址翻译,贮存,磁盘文件和内核软件的完美交互。他为每个进程提供了一个大的,一致的和私有的地址空间。
计算机系统的主存由若干字节组成,每个字节有唯一的物理地址。在数字信号处理器,嵌入式微控制器以及Cray超级计算机仍使用这种物理存执。现代处理器使用虚拟寻址的寻址方式。
虚拟存储器被组织为一个存储在磁盘上的N个连续的字节大小的单元数组,每个数组都有唯一的虚拟地址,磁盘上数组的内容被缓存在贮存中。VM系统将虚拟存储器分割为虚拟页,物理存储器分割为物理页。
虚拟页面的三个不相交子集:
用来判断一个虚拟页是否放在DRAM中的某个地方。利用页表的数据结构,将虚拟页映射到物理页,每次地址翻译硬件将一个虚拟地址转换为物理地址时都会读取页表,操作系统负责维护页表的内容。(PTE表示虚拟地址空间中每个页在页表的固定偏移量)
表示但CPU读取VPn中的一个字时,VPn被缓存在DRAM中,地址翻译应将将虚拟地址作为一个索引来来定位到PTEn,并读取。
缓存不命中。调用t缺页异常处理程序,选择一个牺牲页PPt,如果VPt已经修改则拷贝回磁盘,然后将VPn调入到PPt,并修改页表条目。
操作系统分配一个新的虚拟存储器页,在磁盘上创建空间并更新PTEn,使他指向磁盘上这个新创建的页面。从而分配VPn。
在任意时刻,程序往往在一个较小的活动页面集合上工作(工作集),在初始开销是,将工作集页面调度到存储器中,接下来对工作集的引用将导致命中,而不会产生额外的磁盘流量。
标签:
原文地址:http://www.cnblogs.com/a1225234/p/5748566.html