Механизм защиты позволяет ограничить влияние неправильно работающей программы на другие выполняемые программы и их данные. Защита представляет собой ценное свойство при разработке программных продуктов, поскольку она обеспечивает сохранность в памяти при любых ситуациях средств разработки программного обеспечения (операционной системы, отладчика). При сбое в прикладной программе в полной исправности сохраняется программное обеспечение, позволяющее выдать диагностические сообщения, а отладчик имеет возможность произвести "посмертный" анализ содержимого памяти и регистров сбойной программы. В системах, эксплуатирующих готовое программное обеспечение, защита позволяет повысить его надежность и дает возможность инициировать восстановительные процедуры в системе.
Каждая ссылка к памяти контролируется с точки зрения удовлетворения защитным проверкам. Все проверки выполняются до начала цикла обращения к памяти; любые нарушения защиты предотвращают начало цикла доступа к памяти и генерируют исключение. Поскольку проверки защиты выполняются параллельно с трансляцией адреса, они не влияют на характеристики быстродействия системы. Существует пять проверок:
- Проверка типа
- Проверка границы
- Ограничение адресуемого домена
- Ограничение точек входа в процедуру
- Ограничение набора команд
Нарушение защиты ведет к генерации исключения. Механизм исключений описан в Главе 9. В данной главе описаны нарушения защиты памяти, ведущие к генерации исключений.