
- •Лабораторна робота n7
- •Зміст роботи.
- •Довідкові дані.
- •Суть захищеного режиму
- •Захист від взаємного впливу програм.
- •Елементи організації захищеного режиму
- •Елементи системи привілеїв
- •Переривання в захищеному режимі.
- •Етап 1. Переключення в захищений режим та повернення в режим реальних адрес.
- •Перевірка поточного режиму процесора
- •Підготовка системних структур даних для роботи в захищеному режимі
- •Переключення процесора в захищений режим
- •Виведення повідомлення на екран
- •Послідовність дій для переводу процесора в режим реальних адрес.
- •Переформувати дескриптори сегментів даних і стека згідно вимог:
- •Завантажити селектори обновлених дескрипторів
- •Переключення в режим реальних адрес, вихід в dos, (припускаємо, що логічний сегмент нашої програми - code)
- •Int 21h ; чекать введення з клавіатури
- •Int 10h ; переключить відеоконтролер
- •Етап 2. Підготовка системних структур даних для забезпечення функціонування механізму переривань
- •Формування процедур обробки переривань
- •Розміщення та формування дескриптора сегмента Int_code в gdt.
- •Формування таблиці векторів переривань (idt)
- •Формування та запис вказівника таблиці векторів переривань.
- •Відновлення стандартної таблиці переривань при переключенні в реальний режим
- •Завдання на лабораторну роботу
- •Ускладнені завдання.
- •Питання для перевірки.
Лабораторна робота n7
Мета роботи
Вивчення основ програмування в захищеному режимі, дослідження механізмів захисту програмних об'єктів.
Необхідні апаратні та програмні засоби:
ПЕОМ на мiкропроцесорi 80х86 (Pentium);
операційна система MS-DOS;
макроассемблер МАSM (файл masm. exe), або TASM (файл tasm. exe)
редактор зв'язків (компоновщик) LINK (файл link. exe), або TLINK (файл tlink.exe)
Інформаційні матеріали:
лекції з курсу “Системне програмування”;
опис захищеного режиму, (наприклад в кн. “Микропроцессор i486. Архитектура и программирование”, В.Григорьев)
опис програмування захищеного режиму (наприклад в кн. ASSEMBLER Учебный курс. В.Юров, С.Хорошенко. Урок 16. Защищенный режим работы микропроцессора. Урок 17. Обработка прерываний в защищенном режиме);
Зміст роботи.
Робота виконується за два етапи. На першому етапі студентами розробляється та налагоджується програма, яка:
Перевіряє поточний режим процесора та підготовлює системні структури, необхідні для роботи в захищеному режимі.
Виконує переключення процесора в захищений режим.
Виводить діагностичне повідомлення на екран.
Забезпечує повернення в режим реальних адрес
Другий етап виконується шляхом доповнення програми, розробленої на першому етапі, системними даними та процедурами для обслуговування переривань (виключень), які виникають в результаті виявлення апаратурою процесора порушень правил захисту програмних об'єктів. За допомогою модифікованої програми проводяться експерименти по активізації захисту згідно завдання.
Довідкові дані.
Суть захищеного режиму
Захищений режим в процесорах ф.Intel вперше був реалізований ще в процесорі 80286, подальшого розвитку набув в процесорі 80386 і підтримується із незначними доповненнями у всіх наступних процесорах лінії 80х86 та Pentium.
В загальному випадку суть захищеного режиму полягає в обмеженні можливостей виконання окремих груп команд в залежності від стану комп'ютерної системи, який програмним шляхом може динамічно змінюватись.
Із наведеного визначення випливає необхідність існування спеціальної групи команд, яка призначена для зміни стану комп'ютерної системи і відповідно накладати ті чи інші обмеження на виконання команд із других груп. Команди із такої спеціальної групи називають системними або привілейованими.
Для контролю за виконанням накладених обмежень використовується механізм внутрішніх апаратних переривань, які мають назву виключення. На відміну від переривань від зовнішніх пристроїв, де механізм переривання спрацьовує лише після повного виконання чергової команди (тобто переривається програма, а не команда), в випадку виключень переривається виконання команди, якщо апаратурою процесора виявлено порушення командою встановлених обмежень (правил захисту). При цьому в стек записується адреса команди-порушниці. Процедура обробки виключення має по цій адресі доступ до команди-порушниці, може виконати необхідні зміни чи стану системи чи самої команди і продовжить виконання програми з перерваної команди, або вивести відповідне повідомлення і знять програму з виконання.