Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Методы защиты оперативной памяти



Защита памяти (англ. Memory protection) — это способ управления правами доступа к отдельным регионам памяти. Используется большинством многозадачных операционных систем. Основной целью защиты памяти является запрет доступа процессу к той памяти, которая не выделена для этого процесса. Такие запреты повышают надежность работы как программ так и операционных систем, так как ошибка в одной программе не может повлиять непосредственно на память других приложений.

+ Страничное распределение

При страничном распределении виртуальная память делится на части одинакового и фиксированного для данной системы размера, называемыми виртуальными страницами. Вся оперативная память также делится на части такого же размера, называемые физическими страницами. Размер страницы выбирается равным степени двойки: 512, 1024, 4096 и т.д.

Адрес страницы входит в контекст процесса. Таблица страниц состоит из дескрипторов. Каждый дескриптор включает:

Номер физической таблицы

Признак присутствия в ОЗУ (формируется аппаратно)

Признак модификации (формируется аппаратно)

Признак обращения (формируется аппаратно)

Виртуальный адрес, который представлен парой (p, sv) преобразуется в (n, sf).
Объем страницы равен степени 2k, тогда смещение (s) можно получить отделением к разрядов
Например. Если размер страницы = 1кб (2^10), то 50718= 101 000 111 0012, 108=28 – номер страницы

Аппаратно, из регистра извлекается адрес таблицы страниц. На основании номера страницы Р и длины записи L, определяется адрес дескриптора (A=AT+P*L).
Из таблицы извлекается номер физической страницы N. К номеру N присоединяется смещение S.

Размер страниц, (часто 4096) влияет на размер таблиц, а это в свою очередь отражается на производительности. для устранения этого недостатка ВАП может делится на разделы, а в каждом разделе формируется своя таблица страниц. Этот вариант ускоряет поиск.

+ Сегментное распределение

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

Разбиение адресного пространства на "осмысленные" части устраняет эти недостатки и называется сегментным распределением. Примеры сегментов: код программы, массив исходных данных и пр.

На этапе создания процесса, ОС создает таблицу сегментов процесса, аналогичную таблице страниц.К недостаткам сегментного распределения можно отнести следующие:

Использование операции сложения при формировании физического адреса приводит к понижению производительности

Избыточность. Т.к. сегмент в общем случае может быть больше страницы, то следовательно единица обмена между ОЗУ и диском более крупная, что приводит к замедлению работы.

+ Сегментное - страничное распределение

+ Механизм ключей защиты

+ Симуляция сегментации

+ Адресация основанная на Capability





Дата публикования: 2015-02-03; Прочитано: 1678 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...