4.3. Защита программ.4.3.1. Стратегия защиты программ при межсегментных переходах.Программы в мультипрограммной среде наряду с данными могут разделять и процедуры, например, библиотеки подпрограмм. С другой стороны, для локализации программных ошибок в пределах программы необходима и защита. Стратегии защиты программ и защиты данных имеют много общего, но имеются и существенные различия. Защита как программ, так и данных на одном уровне привилегий производится на основе разделения адресных пространств механизмом виртуальной памяти при помощи локальных таблиц дескрипторов, каталогов и страниц. При обращении к программам также производятся проверки на выход за пределы сегмента и таблиц, проверки соответствия типа сегмента и проверки прав использования содержимого сегмента или страницы. Для совместного использования программных кодов применяются или общие страницы, или общие сегменты. Различия в защите программ и данных проявляются при межсегментных передачах управления с изменением уровней привилегий. Эти различия определяются особенностями механизма смены кодовых сегментов в МП Intel и моделями взаимодействия программ с разными уровнями привилегий. Для упорядоченного рассмотрения алгоритмов работы механизма защиты все возможные способы организации переходов условно представим в следующей структуре:
|