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

Оглавление:

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

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

Видео: Разница между внутренней и внешней фрагментацией
Видео: Операционные системы, урок 7: Организация памяти. Виртуальная память. 2024, Апрель
Anonim

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

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

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

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

Рассмотрим рисунок выше, где используется механизм распределения памяти фиксированного размера. Первоначально память пуста, и распределитель разделил память на разделы фиксированного размера. Затем три программы с именами A, B, C были загружены в первые три раздела, в то время как 4-й раздел все еще был свободен. Программа A соответствует размеру раздела, поэтому в этом разделе нет потерь, но программа B и программа C меньше, чем размер раздела. Итак, в части 2 и разделе 3 остается свободное место. Однако это свободное пространство невозможно использовать, поскольку распределитель памяти назначает программам только полные разделы, но не t их части. Эта потеря свободного пространства называется внутренней фрагментацией.

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

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

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

Рассмотрим приведенный выше рисунок, на котором распределение памяти выполняется динамически. При динамическом распределении памяти распределитель выделяет только точный необходимый размер для этой программы. Первая память полностью свободна. Затем программы A, B, C, D и E разных размеров загружаются одна за другой и помещаются в память в этом порядке. Позже, программа A и программа C закрываются, и они выгружаются из памяти. Теперь в памяти есть три области свободного места, но они не смежные. Теперь будет загружена большая программа под названием Программа F, но ни одного блока свободного пространства недостаточно для Программы F. Добавление всех свободных пространств определенно достаточно для Программы F, но из-за отсутствия смежности это пространство непригоден для использования в программе F. Это называется внешней фрагментацией.

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

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

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

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

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

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

Резюме:

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

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

Рекомендуем: