谁能告诉我在为文件分配磁盘空间时内部碎片和外部碎片之间的区别?
Answers:
外部碎片
总内存空间足以满足请求或在其中驻留进程,但是它不是连续的,因此无法使用。
内部碎片
分配给进程的内存块更大。内存的某些部分未使用,因为它不能被其他进程使用。
大概是从这个站点:
内部碎片内部碎片是在内存分配器在为客户端分配的内存块内保留多余空间时发生的。通常会发生这种情况,因为处理器的设计规定必须将内存切成某些大小的块-例如,可能需要将块平均划分为四个,八个或16个字节。发生这种情况时,例如,可能需要给需要57个字节内存的客户端分配一个包含60个字节甚至64个字节的块。客户端不需要的多余字节会浪费掉,并且随着时间的推移这些小块未使用的内存可以建立并创建大量的内存,分配器无法使用这些内存。由于所有这些无用的字节都在较大的内存块中,因此将碎片视为内部碎片。
外部碎片当内存分配器在分配的内存部分之间留下未使用的内存块部分时,就会发生外部碎片。例如,如果在一条连续的行中分配了几个内存块,但是该行中的中间块之一被释放了(也许是因为使用该内存块的进程停止运行了),那么空闲块将被碎片化。如果需要适合该块的内存,则该块稍后仍可供分配器使用,但是该块现在无法用于较大的内存需求。不能将其与系统可用的总可用内存混在一起,因为总内存必须是连续的,才能用于较大的任务。通过这种方式,