Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы / Lektsii_OS_new_new.doc
Скачиваний:
71
Добавлен:
10.04.2015
Размер:
3.62 Mб
Скачать
    1. Структура страничной таблицы

Т

R

M

Р

№ страницы

Запись 0

Запись 1

Находится в памяти может занимать десятки Мбайт.

    1. Методы уменьшения времени доступа к памяти

    1. Обеспечение быстрого доступа к данным кэш-память

Бит Т – позволяет запретить кэширование страницы, необходимо для в/в, буферные регистры портов которых отображаются на память, то есть не имеют собственного адресного пространства

Т – бит блокирования КЭШ.

В КЭШ хранится адреса тех страниц к которым чаще обращаются.

В 1 варианте для обращения устройства ввода/вывода используются обычные команды ввода/вывода

MOVA/ номер ячейки, где находится буфер.

Когда идёт обращение к странице, то КЭШ-откл

У всех портов вв/выв имеется своё адресное пространство.

IN port –ввод

Out port – вывод

Когда адресное пространство указывается на основную память. Упрощение организации процесса, однако часть адресного пространства исключается.

Во 2 варианте основная память имеет своё адресное пространство, а устройства вв/выв своё. Когда выделяется самостоятельное адресное пространство для устройств вв/выв, для обращения к порту используются команды

INport

Outport

1 Устройство вв/выв постоянно обновляет значение своего порта, в КЭШ изменения происходить не будут. Это связано с тем, что отсутствует алгоритм обновления КЭШ при обновлении страниц памяти ПУ КЭШ отключают, и процессор будет обращаться всегда к памяти.

    1. Ускорение формирования адреса. Буферы быстрого преобразования адреса

Одним из недостатков:

Большое время преобразования виртуального абреса в физический. Это связано с тем, что страничные таблицы размещаются в основной памяти, поэтому каждая ссылка памяти требует как минимум 2 цикла:

  1. Выборка физического адреса из страничной таблицы

  2. Выборка слова из страницы

Теряем 50% производительности, т.к. 2 цикла обращения к памяти. Для ускорения применяют специальную быстродействующую ассоциативную память, в которой хранятся физические адреса часто используемых в последнее время страниц. Эта память небольшого объёма на несколько десятков строк, чаще всего 64 стр. 64 адреса, к которым производилось обращение. Это часто называют адресным КЭШ.

Каждый адрес Кэш состоит из нескольких полей

Номер виртуальной страницы

Пам управления

Номер формируемой страницы

Т

R

N

защита

Поля в таблице полностью соответствуют полям табличной страницы, только добавляется поле «номер виртуальной страницы»

Процессор формирующий адрес ячейки памяти вначале ищет номер физической страницы в TLB, если он там присутствует, то адрес берётся из TLB, если отсутствует, то фиксируется промах и после адрес отыскивается в страничной таблице этот адрес помещается в КЭШ и одновременно используется процессором. Предварительно происходит замещение записей, менее посещаемые удаляются. Замещение происходит по некоторому алгоритму.

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

    1. Алгоритмы замещения страниц в виртуальной памяти

  1. FIFO(первый зашёл, первый вышел) ОС поддерживает список всех страниц, которые находятся в памяти. Самая старая страница находится в голове списка, новая – в хвосте.

Когда происходит страничное прерывание, то удаляется страница, находящаяся в голове списка.

Недостаток: не оценивается, как используется страницы процессором. Если страница которая находится в голове списка происходит частое обращение, то её удаление приведет к значительным потерям.

Алгоритм прост, но возможны потери времени

Модифицированный алгоритм FIFOчасто называют «вторая попытка». В записи страницы имеется бит обращенияR.

Если R=0, т.е. к странице давно не было обращения, и она не используется, то удаляется из списка.

Если R=1, т.е. обращение было, то страница помещается в хвост списка, после чего битRобнуляется

Считается, что более оптимальным алгоритмом считается «карабкающаяся страница».

Если произошло обращение к странице, то она меняется местами с i+1 страницей. Таким образом страница, к которой обращаются перемещается ближе к «хвосту» к которым обращения не было – к голове.

  1. NRU(NotRecentlyUsed) используется бит обращенияR, бит модификации М.

Оценка производится в течение некоторого интервала времени. При страничном прерывании ОС проверяет содержимое бита управления всех страниц и делит их на четыре класса:

Класс 0: не было обращения R=0, не было измененийM=0

Класс 1: не было обращений R=0, страница измененаM=1

Класс 2: было обращение R=1, станица не изменяласьM=0

Класс 3: было обращение R=1, страница изменяласьM=1

После окончания анализа бит R=0

Класс 1, имеет противоречие, но имеет место быть, т.к. к странице было обращение за пределами миллисекундного интервала, произошло изменение страницы, после чего бит Rбыл сброшен.

Наиболее вероятно удаление страницы класса 1, к которому не было дано обращение, но страница изменялась

  1. Алгоритм LRH– страница не используется дольше сего.

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

Когда возникает страничное прерывание, ОС проверяет все значения счётчиков и ищет наименьшее значение, эта страница не использовалась дольше всего. Алгоритм оптимальный, но требует больших аппаратных затрат, чтобы минимизировать и быстро определить страницу.

Соседние файлы в папке госы