Разница между внутренней фрагментацией и внешней фрагментацией

В контексте файловой системы фрагментация - это неэффективное использование дискового пространства для хранения содержимого одного файла в разных местах на диске, а не в одной непрерывной последовательности битов в одном месте. Фрагментация - это естественное явление, которое происходит физически на жестком диске или иногда на модуле памяти, когда данные недостаточно записаны на диске.

Данные иногда записываются не по порядку, то есть фрагменты данных не помещаются рядом друг с другом на диске из-за частого использования файлов. Эти фрагменты данных называются фрагментами. В какой-то момент операционная система должна получить доступ к файловой системе, чтобы найти, где различные фрагменты расположены на диске.

Например, когда вы создаете новый документ, скажем, файл слова; файл, кажется, в одном месте. Вы можете открыть файл, отредактировать или удалить его - все, что вы хотите. Кажется, что все действия происходят на дороге, по крайней мере, вы так думаете.

Жесткий диск может сохранять фрагменты файлов в одной области устройства, но остальная его часть существует буквально в другом месте на устройстве хранения. Говоря простым языком, фрагментация относится к потерянному пространству хранения в файловой системе, позволяя создать разрыв между различными частями файла..

Фрагментация в основном происходит в системе динамического выделения памяти, поскольку она зарезервировала слишком много места для файла, в результате чего вокруг него открылись области.

Что такое внутренняя фрагментация?

Это как-то связано с фиксированным размером разделов. Система выделяет память различным программам и процессам, разделяя их на небольшие блоки, как того требует программа. Однако иногда выделяется больше памяти, чем необходимо для процесса, что в конечном итоге приводит к тому, что избыточная память теряется или остается неиспользованной.

Например, память может быть выделена программам только в блоках, кратных 4, 8 или 16. Когда процесс запрашивает 24 байта, он обычно получает блок из 32 байтов, лишние 8 байтов остаются неиспользованными. Таким образом, неиспользуемая память находится в определенном выделенном месте, и она настолько мала, что новый процесс не может быть выделен для нее, что приводит к трате. Эти отходы называются внутренней фрагментацией. Вероятно, единственный способ удалить этот тип фрагментации - это динамическое выделение памяти..

Что такое внешняя фрагментация?

Основная память образует дыры между частями выделенной памяти, которые слишком малы, чтобы удерживать какой-либо процесс. Это обратная сторона алгоритмов выделения хранилища, когда смежные блоки неиспользуемых пространств не могут обслуживать новый запрос, потому что эти пространства слишком малы для больших приложений памяти. Проще говоря, несмежные блоки создают дыры в памяти, что приводит к неиспользуемому хранилищу за пределами выделенных областей, что означает, что его нельзя использовать вместе с основной памятью для больших задач памяти. Они оказываются изолированными и не могут быть полностью удалены из пространства памяти. Это называется внешней фрагментацией. Это может быть удалено сжатием, которое перемешивает содержимое памяти, чтобы поместить всю свободную память вместе.

Разница между внутренней и внешней фрагментацией

  1. основы

Внутренняя фрагментация:

Внутренняя фрагментация относится к дополнительным пробелам, которые теряются, когда процессу выделяется больше памяти, чем необходимо. Обычно это происходит, когда блоки памяти фиксированного размера выделяются программам или процессам..

Внешняя фрагментация:

Внешняя фрагментация, напротив, относится к неиспользуемым пространствам, которые образуются между смежными блоками памяти, которые не соседствуют друг с другом..

  1. Вхождение

Внутренняя фрагментация:

Свободное пространство, которое образуется в выделенном блоке памяти, когда память, выделенная для процесса, больше, чем память, запрошенная процессом, называется внутренней фрагментацией. «Внутренний» относится к неиспользуемым байтам, которые находятся в больших блоках памяти..

Внешняя фрагментация:

Когда основная память образует отверстия, которые слишком малы, чтобы удовлетворить любой запрос, это называется внешней фрагментацией.

  1. причина

Внутренняя фрагментация:

Основная причина, по которой происходит внутренняя фрагментация, заключается в том, что память разбивается на блоки фиксированного размера. .

Внешняя фрагментация:

Внешняя фрагментация - это явление, которое возникает, когда память делится на блоки переменного размера в зависимости от размера различных процессов..

  1. Решение

Внутренняя фрагментация:

Внутренняя фрагментация - это естественное явление, которое можно устранить динамическим выделением памяти, которое заключается в динамическом выделении частей блоков памяти процессам по их запросу и освобождении их, когда они больше не нужны во время выполнения программы..

Внешняя фрагментация:

Внешняя фрагментация, с другой стороны, может быть устранена путем сжатия, разбиения на страницы и сегментации, так что память может быть выделена для процесса несмежным образом.

Внутренняя и внешняя фрагментация: сравнительная таблица

Краткое изложение внутренней и внешней фрагментации

Как внутренняя, так и внешняя фрагментация являются природными явлениями, связанными с неиспользованным пространством памяти или потерей памяти. Внутренняя фрагментация страдает от неэффективного выделения памяти, которое происходит, когда объем памяти, выделенной для процесса, превышает объем, запрошенный, оставляя неиспользуемое пространство в блоке памяти, что в конечном итоге приводит к внутренней фрагментации. После удаления процесса из физической памяти тут и там распределяется свободное пространство, и соседние блоки памяти не могут быть найдены, что вызывает внешнюю фрагментацию. Однако обоих явлений можно избежать. Внутреннюю фрагментацию можно уменьшить, динамически выделяя память для процессов, тогда как внешней фрагментации лучше всего избежать путем сжатия, разбиения на страницы и сегментации..