Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Документ Microsoft Office Word.docx
Скачиваний:
2
Добавлен:
11.09.2019
Размер:
37.85 Кб
Скачать
  1. Дайте характеристику виртуальной памяти со страничной организацией.

Страничная память — способ организации виртуальной памяти, при котором единицей отображения виртуальных адресов на физические является регион постоянного размера (т. н. страница). Типичный размер 4096 байт, для некоторых архитектур до 128 КБ.

Поддержка такого режима присутствует в большинстве 32битных и 64битных процессорах. Такой режим является классическим для почти всех современных ОС, в том числе Windows и семейства UNIX. Широкое использование такого режима началось с процессора VAX и ОС VMS с конца 70х годов (по некоторым сведениям, первая реализация). В семействе x86 поддержка появилась с поколения 386, оно же первое 32битное поколение.

  1. Опишите структуру виртуальной памяти при сегментном распределении

При сегментной организации виртуальный адрес по прежнему является двумерным и состоит из двух полей: номера сегмента и смещение внутри сегмента. Однако, в отличии от страничной организации, где линейный адрес преобразуется в двумерной ОС для удобства отображения здесь двухмерность адреса является следствием представления программиста о процессе не в виде линейного массива байт, а как набор сегментов переменного размера (данные о стеке). Программисты пишущие на языках низкого уровня должны явным образом менять значения сегментных регистров. Логическое адресное пространство это набор сегментов, каждый сегмент имеет имя, размер и другие параметры (уровень привилегий, разрешенные виды обращений, флаги присутствия). В отличии от страничной схемы, где пользователь задаёт только один адрес, который разбит на номер страницы и смещение в сегментной схеме, пользователь определяет каждый адрес двумя величинами: именем сегмента и смещение. Каждый сегмент это линейная последовательность адресов начиная с нуля. Максимальный размер сегмента определяется разрядностью процессоров. Размер сегмента может изменяться динамически. В элементе таблицы сегментов помимо физического адреса начала сегмента содержится и его длина, если размер смещения виртуального адреса выходит за пределы размера сегмента, возникает прерывание. Логический адрес это упорядоченная пара, номер сегмента и смещение внутри него. Система где сегмент поддерживаются аппаратно эти параметры хранятся в таблице дескриптора сегмента и программа обращается к этим дескрипторам по номерам, эти номера называются селектора. При этом контекст каждого процесса входит набор сегментных регистров, содержащие селекторы текущих сегментов кода, стека и данных. И определено какие сегменты будут использоваться при разных видах обращения к памяти. Это позволяет процессу уже на аппаратном уровне определять допустимость обращений к памяти упрощая реализацию защиты информации от несанкционированного доступа. Аппратная поддержка сегментов используется в основном на процессорах Intel. В большинстве ОС сегментация реализована на программном уровне, т. К. хранить сегменты большого размера целиком неудобно, то они разбиваются на страницы. 2) сегментно-страничная: при сегментно-страничной организации памяти происходит двухуровневая трансляция виртуального адреса в физический, в этом случае логический адрес состоит из 3 полей: номер сегмента, номер страницы внутри сегмента и смещение внутри страницы. Используются 2 таблицы отображения: 1) таблица сегмента связывает номер сегмента с таблицей страниц. 2) отдельная таблица страниц для каждого сегмента. При сегментно-страничной и страничной организации памяти позволяет осуществить совместное использование одних и тех же данных и программ кода разными задачами. Для этого различные логические блоки памяти разных процессов отображается в один и тот же блок физической памяти, где размещаются разделяемые фрагменты кода и данных.