русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Уровень привилегированности ввода/вывода


Дата добавления: 2015-06-12; просмотров: 615; Нарушение авторских прав


В системах, использующих защиту ввода/вывода, доступ к командам ввода/вывода управляется полем IOPL регистра EFLAGS. Это позволяет операционной системе регулировать уровень привилегированности, необходимый для выполнения ввода/вывода. В случае типичной модели колец защиты доступ к командам ввода/вывода обеспечивается уровнями привилегированности 0 и 1. Это позводяет операционной системе и драйверам устройств выполнять ввод/вывод, но не дает прикладным программам и менее привилегированным драйверам устройств возможности доступа к адресному пространству ввода/вывода. Прикладные программы могут обращаться к вводу/выводу только через операционную систему.

Следующие команды могут выполняться только при условии CPL <= IOPL:

IN - Ввод INS - Ввод строки OUT - Вывод OUTS - Вывод строки CLI - Очистить флаг разрешения прерываний STI - Установить флаг разрешения прерываний

Эти команды называются "чувствительными" командами, поскольку они чувствительны к состоянию поля IOPL. В виртуальном режиме 8086 IOPL не используется; доступ к портам ввода/вывода ограничивается только битовым массивом разрешения ввода/вывода (см. Главу 23).

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

Задача может изменить IOPL только при помощи команды POPF; однако, такие изменения являются привилегированными. Никакая процедура не может изменить своего IOPL, если она не работает на уровне привилегированности 0. Попытка изменения IOPL менее привилегированной процедурой не приводит к генерации ислючения; IOPL просто остается без изменений.



Команда POPF может также использоваться для изменения состояния флага IF (также как и команды CLI и STI); однако, изменение флага IF командой POPF также чувствительно к IOPL. Процедура может изменить установку флага IF при помощи команды POPF только если она сама выполняется с CPL, как минимум равным уровню привилегированности IOPL. Попытка менее привилегированной процедуры изменить флаг IF не приводит к исключению; флаг IF просто остается без изменений.



<== предыдущая лекция | следующая лекция ==>
Блочные команды ввода/вывода | Битовый массив разрешения ввода/вывода


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.134 сек.