一.简介
存储器是计算机系统中最重要的资源之一。因为任何程序和数据以及各种控制用的数据结构都必须占有一定的存储空间,因此,存储管理直接影响系统性能。
存储器由内存和外存组成。内存是由系统实际提供的存储单元组成的一个连续地址空间,处理器可直接存取。外存是指软盘、硬盘、光盘或磁带等一些外部存储部件,常用来存放暂时不执行的程序和数据。处理器不能直接访问外存,需通过启动I/O设备才能进行内存、外存交换,其访问速度慢,但价格便宜。常用作内存的后援设备。
内存大小由系统硬件决定,存储容量受到实际存储单元的限制。虚拟存储器不考虑实际内存的大小和数据存取的实际地址,只考虑相互有关的数据之间的相对位置,其容量由计算机地址的位数决定。
系统中内存的使用一般分为两部分,一部分为系统空间,存放操作系统本身及相关的系统程序;另一部分为用户空间,存放用户的程序和数据。
存储管理主要是指对内存储器的管理,负责对内存的分配和回收、内存的保护和内存的扩充。存储管理的目的是尽量提高内存的使用效率。存储管理的机制经历了多次变迁,由以前的单一连续区管理到分区存储管理再发展为段页式管理。目前前两种技术已逐步被淘汰。
二.页式存储管理
分页的基本思想是把程序的逻辑空间和内存的物理空间按照同样的大小划分成若干页面,并以页面为单位进行分配。在页式存储管理中,系统中虚地址是一个有序对。系统为每一个进程建立一个页表,其内容包括进程的逻辑页号与物理页号的对应关系、状态等。
页式系统的动态地址转换如下:当进程运行时,其页表的首地址已在系统的动态地址转换机构转换的基本地址寄存器中。执行的指令访问虚存地址(p, q)时,首先根据页号p查页表,由状态可知,这个页是否已经调入内存。若一调入内存,则得到该页的