1775S4B

更新时间: 2023-01-13

大容量测试系统的存储管理系统

  对于采用链式存储结构的大容量测试系统,链表中各结点的物理地址是不固定的。为避免在保存数据时可能出现的存储空间冲突问题,需要建立专门的存储管理系统来管理存储空间的开辟和释放。其中,数据引导表是存储管理系统的基础,负责记录存储空间中各个数据元素的存储信息。利用数据引导表,同时配合实现开辟空间、释放空间等操作的函数,测试系统能够实现对大量存储空间的有效管理。

  数据引导表

  建立数据引导表,就是建立一种链表中各结点与其相应物理地址之间的联系,规范每个结点对存储空间的使用。在测试系统中,引导表只是占用存储空间内划分的一段固定区域,其记录对象是一段已被分配占用的连续地址空间的首地址和末地址,标志着保存在存储空间上的某个结点所分配占用的空间大小,称为一个“记录”。各个记录在引导表中的物理地址是连续的,并且按照每个记录首地址的大小依次排列。数据引导表工作原理如图1所示。

 

图1 数据引导表工作原理示意图

  在初始状态时,内存引导表只有2个记录,表明整个存储空间的首地址和末地址,此时整个页面空间没有存储任何测试数据。一旦有新的结点需要在这一空间上保存,CPU将为该结点开辟一段连续的存储区间供其使用,并将该段空间的首地址和末地址作为一个记录写入内存引导表中。同样的当系统需要在某一页面上删除一个链表中的结点时,CPU将其对应的记录在内存引导表中删除,以此来释放此段地址空间。值得说明的是,对于在引导表中被释放的存储空间部分,其保存的内容并没有真正删除;在新的数据覆盖该地址之前,CPU还是可以通过直接访问该地址来读取其中的存储数据。

 


上一篇:1772L**

下一篇:1775**