Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory management 内部碎片化基本概念_Memory Management_Operating System_Fragmentation_Memory Fragmentation - Fatal编程技术网

Memory management 内部碎片化基本概念

Memory management 内部碎片化基本概念,memory-management,operating-system,fragmentation,memory-fragmentation,Memory Management,Operating System,Fragmentation,Memory Fragmentation,假设我有两个50字节的进程,只有一个100字节的分区。 假设第一个进程占用了分区,剩下50个字节。 即使可用空间可用,第二个进程是否可以驻留在同一分区中,或者是否会发生内部碎片 另外,如果存在内部碎片,那么也存在外部碎片吗?因为只有一个分区,所以会发生内部碎片,因为内部碎片是分区内的剩余空间,在本例中,分区内将保留50个字节的空闲空间 如果存在内部碎片,那么 外部碎片是否也存在 不,这不是真的。外部碎片是指当您没有较大的块,并且有可用的可用块(或分区),但没有一个单独的块(或分区)可以满足要求时

假设我有两个50字节的进程,只有一个100字节的分区。 假设第一个进程占用了分区,剩下50个字节。 即使可用空间可用,第二个进程是否可以驻留在同一分区中,或者是否会发生内部碎片


另外,如果存在内部碎片,那么也存在外部碎片吗?

因为只有一个分区,所以会发生内部碎片,因为内部碎片是分区内的剩余空间,在本例中,分区内将保留50个字节的空闲空间

如果存在内部碎片,那么 外部碎片是否也存在

不,这不是真的。外部碎片是指当您没有较大的块,并且有可用的可用块(或分区),但没有一个单独的块(或分区)可以满足要求时,剩余的可用空间


因此,基本上,总的可用空间将大于或等于所需的空间,但它将不连续,这称为外部碎片。

那么第二个进程不能占用这50个字节吗?@Zephyr如果它的固定分区方案,那么它可以。我认为即使在固定分区中,我们也不能有两个进程。我在某个地方读到,在第一次拟合算法的情况下,即使空间可用,两个进程也不能占据同一个洞。这是真的吗?@Zephyr在固定分区方案中,如果一个100字节的洞被50字节的进程占用,那么剩余的50字节将成为另一个洞。