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

Защита адресного пространства задач



Для возможности создания надежных мультипрограммных ОС в процессорах се­мейства i80x86 имеется несколько механизмов защиты. Это и разделение адрес­ных пространств задач, и введение уровней привилегий для сегментов кода и сегментов данных. Все это позволяет обеспечить как защиту задач друг от друга, так и защиту самой операционной системы от прикладных задач, защиту одной части ОС от других ее компонентов, защиту самих задач от некоторых своих собственных ошибок.

Защита адресного пространства задач осуществляется относительно легко за счет того, что каждая задача может иметь свое собственное локальное адресное про­странство. Операционная система должна корректно манипулировать табли­цами трансляции сегментов (дескрипторными таблицами) и таблицами транс-Речь идет о памяти, портах ввода/вывода, системе обработки прерываний и других архи­тектурных особенностях.


ляции страничных кадров. Сами таблицы дескрипторов как сегменты данных (а соответственно, в свою очередь, и как страничные кадры) относятся к адрес­ному пространству операционной системы и имеют соответствующие привилегии доступа; исправлять их задачи не могут. Этими информационными структурами процессор пользуется сам, на аппаратном уровне, без возможности их читать и редактировать из пользовательских приложений. Если используется модель плоской памяти, то возможность микропроцессора контролировать обращения к памяти только внутри текущего сегмента фактически не используется, и оста­ется в основном только механизм отображения страничных кадров. Выход за пределы страничного кадра невозможен, поэтому фиксируется только выход за пределы своего сегмента. В этом случае приходится полагаться только на сис­тему программирования, которая должна корректно распределять программные модули в пределах единого неструктурированного адресного пространства зада­чи. Поэтому при создании многопоточных приложений, когда каждая задача (в данном случае — поток) может испортить адресное пространство другой зада­чи, эта проблема становится очень сложной, особенно если не использовать сис­темы программирования на языках высокого уровня.

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





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



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