介绍,那么这个游戏是怎么玩的呢?为了解决这个问题,需要本文介绍的虚拟内存知识。虚拟内存概述有些进程实际上需要大量内存,超出了物理内存的容量。多道程序设计使得每个进程可用的物理内存变得更加稀缺和不可能。无限增加物理内存,当物理内存总是不足时,这些原因导致了虚拟内存技术的产生虚拟内存是操作系统内存管理的关键技术,使多通道程序运行和大规模程序运行成为现实.暂时不用的内存放在辅助存储中例子:左边是进程的逻辑空间,红色部分是一个程序需要使用的内存,操作系统会把内存加载到物理内存中,灰色部分是暂时不用的内存,这部分会先放在磁盘上,这样可以节省物理内存,把更多的物理内存给其他进程,而且,在这种情况下,如果这个进程的逻辑空间很大,这些都是很大的,暂时不需要的空间可以放在磁盘中。程序暂存的局部性原则。局部性原理是指CPU在访问内存时,无论是访问指令还是访问数据,访问的存储单元都倾向于集中在一个较小的连续区域中。这个原理也是虚拟内存技术能够实现的原因之一。由于局部性原理,计算机加载程序时,不需要将所有的逻辑空间都加载到内存中,只加载部分(需要用到的部分)即可。如果发现使用的内存不在物理内存中,则发出缺页中断,并发起页面替换,将存放在辅助内存中的页面替换到物理内存中,这样程序可以继续运行。从用户层面来说,程序空间大,既是虚拟内存。虚拟内存实际上是物理内存的扩展。速度接近内存,成本接近辅助存储。虚拟内存的替换算法有先进先出算法(FIFO)最不频繁使用算法(LFU)最近最少使用算法(LRU)缓存缓存替换主要发生在CPU需要获取缓存的时候发现缓存中没有对应的数据。这时候缓存就会被替换,也就是从主存中加载需要的数据。存储页的替换时机当主存缺页时,会去辅存加载相关数据。这时候,主内存页就会被替换掉。相比之下,替换策略发生在:cache-主存层次,主存-辅存层次cache-主存层次的替换策略主要是为了解决速度问题。主存-副存层次主要是为了解决容量的问题(这也是存储存储分层的原因)。在瞬息万变的技术中寻找相同点,是一个技术人的核心竞争力。知行合一,理论与实践相结合
