Пейджинг в Operating System (OS): что такое, преимущества, пример
Что такое пейджинг в ОС?
Пейджинг — это механизм хранения, который позволяет ОС извлекать процессы из вторичного хранилища в основную память в виде страниц. В методе пейджинга основная память делится на небольшие блоки физической памяти фиксированного размера, которые называются кадрами. Размер фрейма должен оставаться таким же, как размер страницы, чтобы максимально использовать основную память и избежать внешней фрагментации. Пейджинг используется для более быстрого доступа к данным, и это логичная концепция.
Пример пейджинга в ОС
Например, если размер основной памяти составляет 16 КБ, а размер кадра — 1 КБ. Здесь основная память будет разделена на коллекцию из 16 кадров по 1 КБ каждый.
В системе есть 4 отдельных процесса: A1, A2, A3 и A4 по 4 КБ каждый. Здесь все процессы разделены на страницы по 1 КБ каждая, чтобы операционная система могла хранить одну страницу в одном кадре.
В начале процесса все кадры остаются пустыми, поэтому все страницы процессов будут храниться последовательно.
В этом примере вы можете видеть, что A2 и A4 через некоторое время переходят в состояние ожидания. Таким образом, восемь кадров становятся пустыми, и в эти пустые блоки можно загружать другие страницы. Процесс A5 размером 8 страниц (8 КБ) ожидает в очереди готовности.
В этом примере вы можете видеть, что в памяти доступно восемь несмежных кадров, а подкачка обеспечивает гибкость хранения процесса в разных местах. Это позволяет нам загружать страницы процесса A5 вместо A2 и A4.
Что такое защита пейджинга?
Процесс пейджинга должен быть защищен с помощью концепции вставки дополнительного бита, называемого битом «Действительный/Недействительный». Пейджинг Защита памяти при пейджинге достигается путем связывания битов защиты с каждой страницей. Эти биты связаны с каждой записью таблицы страниц и определяют защиту на соответствующей странице.
Преимущества пейджинга
Вот преимущества использования метода пейджинга:
- Простота управление памятью алгоритм
- Нет необходимости во внешней фрагментации
- Легко переключаться между страницами одинакового размера и рамками страниц.
Недостатки пейджинга
Вот недостатки/минусы пейджинга:
- Может вызвать внутреннюю фрагментацию
- Таблицы страниц потребляют дополнительную память.
- Многоуровневая подкачка может привести к накладным расходам на обращение к памяти.
Что такое сегментация?
Метод сегментации работает почти аналогично пейджингу, единственное различие между ними состоит в том, что сегменты имеют переменную длину, тогда как в методе пейджинга страницы всегда имеют фиксированный размер.
Сегмент программы включает в себя основную функцию программы, структуры данных, служебные функции и т. д. ОС поддерживает таблицу карты сегментов для всех процессов. Он также включает список свободных блоков памяти с указанием их размера, номеров сегментов и ячеек памяти в основной памяти или виртуальная память.
Преимущества сегментации
Вот плюсы/преимущества сегментации.
- Предложите защиту внутри сегментов
- Вы можете обеспечить совместное использование сегментов, ссылающихся на несколько процессов.
- Не предлагает внутреннюю фрагментацию
- Таблицы сегментов используют меньше памяти, чем подкачка.
Недостатки сегментации
Вот минусы/недостатки сегментации
- В методе сегментации процессы загружаются/удаляются из основной памяти. Таким образом, свободное пространство памяти разделяется на небольшие части, что может создать проблему внешней фрагментации.
- Дорогостоящий алгоритм управления памятью
Итого
- Пейджинг — это механизм хранения, который позволяет OS для извлечения процессов из вторичного хранилища в основную память в виде страниц.
- Процесс пейджинга должен быть защищен с помощью концепции вставки дополнительного бита, называемого битом «Действительный/Недействительный».
- Самым большим преимуществом подкачки является простота использования алгоритма управления памятью.
- Пейджинг может вызвать внутреннюю фрагментацию
- Метод сегментации работает почти аналогично пейджингу, единственное различие между ними состоит в том, что сегменты имеют переменную длину, тогда как в методе пейджинга страницы всегда имеют фиксированный размер.
- Вы можете обеспечить совместное использование сегментов, ссылающихся на несколько процессов.
- Сегментация — дорогостоящий алгоритм управления памятью.