单选题 在运行过程中,许多系统允许程序分配更多的内存给它的地址空间。在程序堆中的数据分配是这种分配方式的一个实例。下列关于不同内存分配方式的说法中,错误的是______。
  • A.连续内存分配方式下,当没有足够的空间给程序去扩大它已分配的内存空间时,将要求重新分配整个程序
  • B.纯段式分配方式下,当没有足够的空间给段去扩大它的已分配内存空间时,将要求重新分配整个段
  • C.纯页式分配方式下,当需要扩大它的已分配内存空间时,将要求重新分配全部页
  • D.在段页式分配方式下,当需要扩大它的已分配内存空间时,系统不需要重新分配全部页
【正确答案】 C
【答案解析】其实只要知道每种分配方式最小的内存单位(需要连续地址空间的最小块)是什么,答案就容易得出来了。连续内存分配方式下,最小的内存单位就是整个程序。当没有足够的空间去扩大已分配内存时,就需要重新分配整个程序。纯段式分配方式下,最小的内存单位就是段,当没有足够的空间去扩大已分配给段的内存时,就需要重新分配整个段。故A选项和B选项都是正确的。 纯页式分配方式下,它的内存单位(页)大小是不可变的,故不可能会有重新分配全部页的情况。C选项中提到的情况,只需要添加页表项即可,即增加新分配的页给程序的地址空间,故C选项错误。 段页式管理方式对于内存空间的分配也都是以页为单位的,所以不需要重新分配全部页,只要对每个段对应的页表添加页表项即可,故D选项正确。