Пейджинг против сегментации
Пейджинг - это метод управления памятью, используемый операционными системами. Пейджинг позволяет основной памяти использовать данные, которые находятся на дополнительном запоминающем устройстве. Эти данные хранятся на вторичном запоминающем устройстве в виде блоков одинакового размера, называемых страницами. Пейджинг позволяет операционной системе использовать данные, которые не помещаются в основную память. Сегментация памяти - это метод, обеспечивающий защиту памяти. Каждый сегмент памяти связан с определенной длиной и набором разрешений. Когда процесс пытается получить доступ к памяти, он сначала проверяется, имеет ли он необходимое разрешение для доступа к определенному сегменту памяти.
Что такое пейджинг?
Пейджинг - это метод управления памятью, используемый операционными системами. Пейджинг позволяет основной памяти использовать данные, которые находятся на дополнительном запоминающем устройстве. Эти данные хранятся на вторичном запоминающем устройстве в виде блоков одинакового размера, называемых страницами. Пейджинг позволяет операционной системе использовать данные, которые не умещаются в основной памяти. Когда программа пытается получить доступ к странице, сначала проверяется таблица страниц, чтобы узнать, находится ли эта страница в основной памяти. Таблица страниц содержит подробную информацию о том, где хранятся страницы. Если его нет в основной памяти, это называется ошибкой страницы. Операционная система отвечает за обработку ошибок страниц, не показывая их программе. Операционная система сначала находит, где эта конкретная страница хранится во вторичном хранилище, а затем помещает ее в пустой страничный фрейм в основной памяти. Затем он обновляет таблицу страниц, чтобы указать, что новые данные находятся в основной памяти, и возвращает управление обратно программе, которая изначально запросила страницу.
Что такое сегментация?
Сегментация памяти - это метод, обеспечивающий защиту памяти. Каждый сегмент памяти связан с определенной длиной и набором разрешений. Когда процесс пытается получить доступ к памяти, он сначала проверяется, имеет ли он необходимое разрешение для доступа к определенному сегменту памяти и находится ли он в пределах длины, указанной этим конкретным сегментом памяти. Если какое-либо из этих условий не выполняется, возникает аппаратное исключение. Кроме того, у сегмента также может быть флаг, указывающий, находится ли сегмент в основной памяти или нет. Если сегмент не находится в основной памяти, возникнет исключение, и операционная система перенесет сегмент из дополнительной памяти в основную память.
В чем разница между разбиением на страницы и сегментацией?
При подкачке память делится на сегменты равного размера, называемые страницами, тогда как сегменты памяти могут различаться по размеру (вот почему каждый сегмент связан с атрибутом длины). Размеры сегментов определяются в соответствии с адресным пространством, необходимым для процесса, в то время как адресное пространство процесса делится на страницы равного размера при подкачке страниц. Сегментация обеспечивает безопасность, связанную с сегментами, тогда как пейджинг не предоставляет такого механизма.