Содержание
- 2. Первый способ состоит в непосредственном указании в поле команды JMP или CALL селектора сегмента, содержащего код
- 3. Разрешение вызова происходит в зависимости от значения поля C в дескрипторе сегмента вызываемого кода. При C=0
- 4. Вызов подпрограммы через шлюз вызова
- 5. Если вызывается подпрограмма, имеющая другой уровень привилегий, то из текущего стека в стек уровня доступа вызываемого
- 6. Как и в случае вызова подпрограмм, имеется две возможности вызова задачи - непосредственный вызов через указание
- 8. Скачать презентацию
Слайд 2Первый способ состоит в непосредственном указании в поле команды JMP или CALL
Первый способ состоит в непосредственном указании в поле команды JMP или CALL

селектора сегмента, содержащего код вызываемой подпрограммы, а также смещение в этом сегменте адреса начала подпрограммы
Непосредственный вызов подпрограммы
Слайд 3Разрешение вызова происходит в зависимости от значения поля C в дескрипторе сегмента
Разрешение вызова происходит в зависимости от значения поля C в дескрипторе сегмента

вызываемого кода. При C=0 вызываемый сегмент не считается подчиненным, и вызов разрешается, только если уровень прав вызывающего кода не меньше уровня прав вызываемого сегмента. При C=1 вызываемый сегмент считается подчиненным и допускает вызов из кода с любым уровнем прав доступа, но при выполнении подпрограмма наделяется уровнем прав вызвавшего кода.
Формат дескриптора шлюза вызова подпрограммы
Слайд 4Вызов подпрограммы через шлюз вызова
Вызов подпрограммы через шлюз вызова

Слайд 5Если вызывается подпрограмма, имеющая другой уровень привилегий, то из текущего стека в
Если вызывается подпрограмма, имеющая другой уровень привилегий, то из текущего стека в

стек уровня доступа вызываемого сегмента копируется столько 32-разрядных слов, сколько указано в поле счетчика слов дескриптора шлюза.
Очевидно, что первый способ непригоден для вызова функций операционной системы, имеющей обычно нулевой уровень прав, из пользовательской программы, работающей, как правило, на третьем уровне. Поэтому процессор i386 предоставляет способ вызова подпрограмм, основанный на том, что заранее определяется набор точек входа в привилегированные кодовые сегменты, и эти точки входа описываются с помощью специальных дескрипторов - дескрипторов шлюзов вызова подпрограмм. Этот дескриптор принадлежит к системным дескрипторам, и его структура отличается от структуры дескрипторов сегментов кода и данных . При вызове кодов, обладающих различны-ми уровнями привилегий, возникает проблема передачи параметров между различными стеками, так как для надежной защиты задачи различного уровня привилегий имеют различные сегменты стеков. Селекторы этих сегментов хранятся в контексте задачи - сегменте TSS (Task State Segment).
Очевидно, что первый способ непригоден для вызова функций операционной системы, имеющей обычно нулевой уровень прав, из пользовательской программы, работающей, как правило, на третьем уровне. Поэтому процессор i386 предоставляет способ вызова подпрограмм, основанный на том, что заранее определяется набор точек входа в привилегированные кодовые сегменты, и эти точки входа описываются с помощью специальных дескрипторов - дескрипторов шлюзов вызова подпрограмм. Этот дескриптор принадлежит к системным дескрипторам, и его структура отличается от структуры дескрипторов сегментов кода и данных . При вызове кодов, обладающих различны-ми уровнями привилегий, возникает проблема передачи параметров между различными стеками, так как для надежной защиты задачи различного уровня привилегий имеют различные сегменты стеков. Селекторы этих сегментов хранятся в контексте задачи - сегменте TSS (Task State Segment).
Слайд 6Как и в случае вызова подпрограмм, имеется две возможности вызова задачи -
Как и в случае вызова подпрограмм, имеется две возможности вызова задачи -

непосредственный вызов через указание селектора сегмента TSS нужной задачи в поле команды CALL и косвенный вызов через шлюз вызова задачи. Как и при вызове подпрограмм, непосредственный вызов возможен только в случае, если вызывающий код обладает уровнем привилегий, не меньшим, чем вызываемая задача. При вызове через шлюз (который может располагаться и в таблице LDT) достаточно иметь права доступа к шлюзу.
- Предыдущая
Двигатели постоянного тока Следующая -
Оптические спектры твердых тел
Здоровье дошкольников – забота общая
Международный форум «Одаренные дети – будущее России – 2011»
Презентация на тему Математический язык. Математическая модель
Тридцатилетняя война
2021 AMV6 Multi VRF Unit
«Открытые платформы в сети Интернет»
Выделите причины победы и значение Куликовской битвы :
Изучаем Паскаль
«Войны священные страницы навеки в памяти людской»
Гражданское право по судебникам 1497 и 1550 гг. Выполнила студентка 1 курса юридического факультета Бакаева галина
Если бы в моей жизни не было бы журналистики
Внешний образ современного учителя
Договор доверительного управления имуществом
Подходы к созданию автоматического группового регулятора напряжений для энергорайона с функцией координации локальной ПА
КОМПЬЮТЕРНАЯ БЕЗОПАСНОСТЬ
Государство на берегах Нила (5 класс)
Презентация на тему Вредные привычки. Их влияние на организм человека
Детям о правах детей
Урок 2. Православие и культура Вы узнаете Что человек вкладывает в культуру - Какие мысли несет религия
Тема: Повесть А.С.Пушкина «Метель». Метель - – главный момент в жизни героев произведения.
Республика Карелия
Изготовление аксессуаров из текстильных материалов
Вопросы семинара по теме: Производство вискозных нитей
Н. А. Некрасов Есть женщины в русских селеньях…
Радиокомпания Триал, город Нефтекамск, республика Башкортостан
Аттестационная работа. Программа работы школы в области исследовательской и проектной деятельности
Координация и регуляция
О 8 урок 6 Сфера духовной жизни