什么是内碎片和外碎片?
碎片,
已帮助 人
-
正确正确答案:内碎片是指内存空间由于不断地被分配与释放中间会出现一些很难再分配给其他用户使用的空间这些空间就是内存碎片。相应的外存空间中也会出现一些无法利用的硬盘空间这些就是外碎片。为了更好地利用存储空间每隔一段时间要进行碎片整理使得这些未被利用的空间可以合并成一个较大的空间供用户使用。在内存管理中内部碎片就是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;外部碎片指的是还没有被分配出去(不属于任何进程)但由于大小太小了无法分配给申请内存空间的新进程的内存空闲区域。固定分区管理会存在内部碎片因为固定分区管理的每一个分区大小固定且分配给指定的进程所以整个分区都属于一个进程但如果进程比分区小的话就留下无法利用的空间。可变式分区分配会存在外部碎片因为每个分区大小不固定所以不可能分配给一个进程多余的空闲区域但是由于进程需要一段连续的空闲区域而内存中小的空闲区域可能满足不了进程的需求就成了无法分配出去的外部碎片。页式虚拟存储系统会存在内部碎片因为页的大小是固定的每个进程的大小不会都刚好是页大小的整数倍所以进程的最后一页往往都会存在一些已经分配给该进程但无法利用的空间。段式虚拟存储管理会存在外部碎片因为一个段的分配需要连续的区域而段长又不固定所以内存中会存在一些小的空闲区域不能分配给任何一段就成了无法分配出去的外部碎片。只要是固定分区就会有内部碎片不是固定分区就会有外部碎片。
对于这类题,可以在草稿纸上模拟下各种分配方式。简单地分配出去几块,再回收几块,看看是否会出现剩余的内存区域满足不了新的申请的情况,如果有那就说明有外部碎片,如果没有就说明有内部碎片,因为不是有外部碎片就是有内部碎片,不可能都没有,也不可能两者兼而有之。
