Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Защита памяти

Взаимное исключение процессов | Критические интервалы | Синхронизация процессов | Синхронизация на основе P и V операций | Монитор Хоара | Почтовые ящики | Очереди | Очереди и почтовые ящики в WINDOWS | Тупиковые ситуации | Предотвращение тупиков |


Читайте также:
  1. StarGale Техника тренировки проспективной памяти
  2. XXVII. Болезни памяти и философское изобретение
  3. Абсолютная защита для тех, кто верит в Бога
  4. Архитектурные средства поддержки виртуальной памяти
  5. Билет № 6, вопрос № 4.Виды травматизма. Электробезопасность. Виды электротравматизма. Защита от механического травматизма.
  6. Блокировка доступа к памяти
  7. Все дело в объеме рабочей памяти?

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

Разделы ОП, отданные для программы, подпадают под защиту памяти, чтобы другие программы не могли записывать или передавать управление не в свои разделы. Защита реализуется аппаратно, но настройка разделов для защиты осуществляется ОС при выделении памяти.

Чтобы нельзя было умышленно или случайно изменить настройку памяти, она осуществляется привилегированными командами. Это команды, которые супервизор, ОС и т.д. могут выполнять только в состоянии аппаратуры "система". Пользовательские программы выполняются в состоянии "задача". Состояние отображается в слове состояния программы (ССП) или его аналоге. После загрузки ОС ЦП находится в состоянии "система". Как только загрузчик выделит память программе, то перед передачей ей управления в ССП записывается режим "задача". Любая попытка выполнить привилегированную команду вызовет прекращение выполнения программы и передачу управления на специальную программу ОС.

Способы защиты памяти зависят от типа ЭВМ, имеющий тот или иной аппаратный способ защиты памяти. В любом случае, если программа в состоянии "задача" попытается записать что-либо в область другой программы, то она завершится аварийно с передачей управления специальной программе ОС. Основные методы защиты:

- граничные регистры, приписываемые задаче, с минимальным и максимальным значением адресного пространства. Каждая машинная команда аппаратно контролирует границы адресов операндов;

- ключи защиты, программно устанавливаемые ОС, для выделенных блоков памяти и в слове состояния программы. Если при выполнении команды ключи в ССП и блоке памяти совпадают, то доступ к блоку памяти разрешен. Задача с ключом 0 в режиме "система" может обращаться к любым блокам памяти;

- метод сегментов, когда ОС каждой задаче выделяет отдельные сегменты, а информацию о них может изменять только ОС (в ПЭВМ AT286 и выше в защищенном режиме назначенные сегменты указываются в дескрипторах LDT и GDT).

ЭВМ, имеющие только граничные регистры, допускают распределение памяти под программу непрерывными разделами. Метод ключей допускает как распределение непрерывным разделом, так и разрывное распределение. Метод сегментов реализует разрывное распределение - CS, DS, ES, SS могут указывать на несмежные участки памяти.

В ПЭВМ в защищенном режиме реализована более надежная защита памяти. Вместо двухуровневой системы: "задача" - "система", используется четырехуровневая система привилегий от 0 для ОС до 3 для пользовательских программ. Представить эту систему можно "кольцами защиты".

Кольцо 0 защищает ядро ОС, системные драйверы. Кольцо 1 используется для программ обслуживания внешней аппаратуры (драйверов, программ, работающих с портами ввода /вывода); кольцо 2 - для СУДБ и расширения ОС; кольцо 3 - для прикладных программ.

В дескрипторах GDT и LTD имеется поле DPL с кодом кольца защиты. Этот код назначает ОС при запусках программ. Текущий уровень привилегий (или состояние системы) находится в поле RPL (Requested Privilege Level) в сегменте (селекторе) CS. При выполнении доступа к памяти аппаратно сравниваются DPL и RPL. Доступ не разрешен, если DPL>RPL. (не путать с CPL - текущим уровнем привилегий, взятым из DPL).

Пользовательская программа не может изменить DPL и RPL. Кроме того, в этом режиме нельзя программно изменить дескрипторы LDT и GDT из программ с ненулевой привилегией.


Дата добавления: 2015-10-02; просмотров: 72 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Простое непрерывное распределение ОП| Методы управления свободной памятью

mybiblioteka.su - 2015-2024 год. (0.006 сек.)