Пейджинг в Operating System (OS): что такое, преимущества, пример

Что такое пейджинг в ОС?

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

Пример пейджинга в ОС

Например, если размер основной памяти составляет 16 КБ, а размер кадра — 1 КБ. Здесь основная память будет разделена на коллекцию из 16 кадров по 1 КБ каждый.

В системе есть 4 отдельных процесса: A1, A2, A3 и A4 по 4 КБ каждый. Здесь все процессы разделены на страницы по 1 КБ каждая, чтобы операционная система могла хранить одну страницу в одном кадре.

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

Пример пейджинга в ОС

В этом примере вы можете видеть, что A2 и A4 через некоторое время переходят в состояние ожидания. Таким образом, восемь кадров становятся пустыми, и в эти пустые блоки можно загружать другие страницы. Процесс A5 размером 8 страниц (8 КБ) ожидает в очереди готовности.

Пример пейджинга в ОС

В этом примере вы можете видеть, что в памяти доступно восемь несмежных кадров, а подкачка обеспечивает гибкость хранения процесса в разных местах. Это позволяет нам загружать страницы процесса A5 вместо A2 и A4.

Что такое защита пейджинга?

Процесс пейджинга должен быть защищен с помощью концепции вставки дополнительного бита, называемого битом «Действительный/Недействительный». Пейджинг Защита памяти при пейджинге достигается путем связывания битов защиты с каждой страницей. Эти биты связаны с каждой записью таблицы страниц и определяют защиту на соответствующей странице.

Преимущества пейджинга

Вот преимущества использования метода пейджинга:

  • Простота управление памятью алгоритм
  • Нет необходимости во внешней фрагментации
  • Легко переключаться между страницами одинакового размера и рамками страниц.

Недостатки пейджинга

Вот недостатки/минусы пейджинга:

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

Что такое сегментация?

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

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

Преимущества сегментации

Вот плюсы/преимущества сегментации.

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

Недостатки сегментации

Вот минусы/недостатки сегментации

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

Итого

  • Пейджинг — это механизм хранения, который позволяет OS для извлечения процессов из вторичного хранилища в основную память в виде страниц.
  • Процесс пейджинга должен быть защищен с помощью концепции вставки дополнительного бита, называемого битом «Действительный/Недействительный».
  • Самым большим преимуществом подкачки является простота использования алгоритма управления памятью.
  • Пейджинг может вызвать внутреннюю фрагментацию
  • Метод сегментации работает почти аналогично пейджингу, единственное различие между ними состоит в том, что сегменты имеют переменную длину, тогда как в методе пейджинга страницы всегда имеют фиксированный размер.
  • Вы можете обеспечить совместное использование сегментов, ссылающихся на несколько процессов.
  • Сегментация — дорогостоящий алгоритм управления памятью.