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

Может ли кто-нибудь сказать мне разницу между внутренней и внешней фрагментацией при выделении дискового пространства для файлов?


person wantobegeek    schedule 29.07.2009    source источник
comment
@binary worrier: извините... я новичок в stackoveerflow... но я получаю ответы на свои вопросы, независимо от того, связаны они с программированием или нет.   -  person wantobegeek    schedule 30.07.2009
comment
Полностью связан с программированием - любой курс по операционным системам будет охватывать это в файловых системах.   -  person Matt Mitchell    schedule 14.09.2010


Ответы (4)


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

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

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

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

person Ankit Bhatia    schedule 27.07.2014

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

  • Внутренняя фрагментация. Типичная бумажная книга представляет собой набор страниц (текст разделен на страницы). Когда конец главы находится не в конце страницы, а новая глава начинается с новой страницы, между этими главами есть пробел, и это пустая трата места — чанк (страница для книги) имеет неиспользуемое пространство внутри< /em> (внутри) — "пробел"

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

person poige    schedule 09.05.2017
comment
это удивительная аналогия. - person Sana Jahan; 25.10.2019
comment
Невероятная аналогия! Наверное, никогда не забуду эту концепцию, благодаря этому. - person Burak.; 13.05.2020
comment
Лучший пример когда-либо - person Abhay Patil; 16.12.2020

Я операционная система, которая выделяет вам память только в 10-мегабайтных разделах.

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

  • Вы просите 17мб памяти
  • Я даю вам 20мб памяти

Выполнение этого запроса только что привело к 3 Мб внутренней фрагментации.

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

  • Вы просите 20мб памяти
  • Я даю вам 20мб памяти
  • 20 МБ памяти, которые я вам даю, не непосредственно примыкают к другому существующему фрагменту выделенной памяти. Вручая вам это воспоминание, я разделил одно нераспределенное пространство на два пространства.

Выполнение этого запроса только что привело к внешней фрагментации

person Dean P    schedule 24.09.2020

Предположительно с этого сайта:

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

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

person Maddy    schedule 05.04.2014