3.2 虚拟存储器
虚拟存储器又称虚拟存储系统,或虚拟存储体系等,其概念是1961年英国曼彻斯特大学的Kilbrn等人提出的。到了70年代被广泛地应用于大中型计算机系统中。目前,许多微型机也采用虚拟存储器。
虚拟存储器由主存储器和联机工作的外部存储器共同组成。在目前的计算机系统中,主存储器通常用动态随机存储器(SRAM)实现,它的存储容量相对比较小,速度比较快,单位容量的价格比较贵。联机工作的外部存储器通常为磁盘存储器,它的存储容量很大,与主存储器相比,速度很低,单位容量的价格很便宜。这两个存储器在硬件和系统软件的共同管理下,对于应用程序员,可以把它们看来是一个单一的存储器,是一个存储容量非常大的主存储器。
3.2.1 虚拟存储器工作原理
页式虚拟存储器是虚拟存储器中用得比较广泛的一种,另外的段式虚拟存储器和段页式虚拟存储器主要是因为地址变换方法不同产生的。本节首先以页式虚拟存储器为例介绍虚拟存储器的工作原理。然后再具体介绍页式、段式和段页式三种虚拟存储器的地址变换方式及外部地址变换方式。
在页式虚拟存储器中,把主存储器、磁盘存储器和虚拟存储器都划分成固定大小的页(Page),就象一本书由很多页组成,每一页中容纳的字数是相同的。主存储器的页称为实页,虚拟存储器中的页称为虚页。一个主存地址A由两部分组成,包括实页号p和页内偏移d,如图3.11(a)所示。一个虚地址Av由三部分组成,包括用户号U、虚页号P和页内偏移D,如图3.11(b)所示。