Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OS.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
355.33 Кб
Скачать

Логические адреса.

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

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

Вычисление физического адреса.

• В сегментный регистр загружается сектор. Поле защиты селектора сравнивается с полем защиты процесса, которое хранится в PSW. При несовпадении возникает прерывание.

• ДЕскриптор, соответствующий селектору, извлекается из таблицы и записывается во внутренние регистры процессора.

• ЕСли сегмент не существует или в данный момент выгружен, а также если смещение выходит за пределы сегмента, то возникает прерывание.

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

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

Методы реализации сегментной организации памяти.

Сегментно-страничная организация памяти.

Хранение в памяти сегментов большого размера может оказаться неудобным по причине копирования на диск больших объемов данных. Поэтому часто сегментация и страничная организация комбинируются.

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

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

Подкачка страниц.

Страничные прерывания и их обработка, стратегии выборки и замещения.

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

Стратегия выборки определяет когда сделует переписать страницу из внешней памяти в основную:

• По запросу- алгоритм копирования запускается в момент когда процесс обращается к отсутствующей памяти.

• С упреждением – опережающее чтение, кроме страницы вызвавшей прерывание, загружаются страницы окружающие ее (кластер страниц)

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

Алгоритмы замещения страниц.

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

Аппаратные средства поддержки работы алгоритмов.

Большинство процессоров имеют простейшие апп ср-ва поддержка, позволяющие собирать статистику об обращении к памяти.

• Ф обращения – устанавливается когда происходит обращение к странице.Периодически сбрасывается у всех страниц процессором или ОС.

• Ф изменения – устанавливается если происходит запись в страницу.Позволяет избежать двойной передачи страницы из памяти на диск(старую из памяти на диск и новую с диска на память), тк не копирует на диск неизменную страницу.

Локальные и глобальные алгоритмы.

• Локальные – распределяют фиксированное или динамически настраиваемое число кадров для каждого процесса.Те работает внутри адр пространства выделенного процессу.Освобождает любой кадр конкретного процесса.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]