Внутренняя фрагментация Внутренняя фрагментация происходит, когда память
Распределитель оставляет дополнительное пространство пустым внутри блока памяти, который
был выделен для клиента. Обычно это происходит потому, что
Конструкция процессора предусматривает, что память должна быть разрезана на блоки
определенные размеры - например, блоки могут потребоваться равномерно
делится на четыре, восемь или 16 байтов. Когда это происходит, клиент, который
необходимо 57 байтов памяти, например, может быть выделен блок, который
содержит 60 байтов или даже 64. Дополнительные байты, которые клиент не делает
нужно тратить, и со временем эти крошечные кусочки неиспользованной памяти могут
создать и создать большое количество памяти, которая не может быть помещена в
использовать распределитель. Потому что все эти бесполезные байты находятся внутри
при больших блоках памяти фрагментация считается внутренней.
Внешняя фрагментация Внешняя фрагментация происходит, когда
Распределитель памяти оставляет секции неиспользуемых блоков памяти между
части выделенной памяти. Например, если несколько блоков памяти
расположены непрерывной линией, но один из средних блоков в
линия освобождается (возможно, потому что процесс, который использовал этот блок
памяти перестала работать), свободный блок фрагментирован. Блок есть
все еще доступны для использования распределителем позже, если есть необходимость
память, которая помещается в этот блок, но блок теперь непригоден для
больший объем памяти Он не может быть объединен с общим свободным
доступная для системы память, так как общая память должна быть непрерывной для
это будет полезно для больших задач. Таким образом, целые разделы
свободная память может оказаться изолированной от целого, что часто слишком
маленький для значительного использования, что создает общее сокращение свободного
память, которая со временем может привести к нехватке доступной памяти для ключа
задачи.