1 Operatsion tizim yadrosi arxitekturasining turlari


Анализ окружения процесса



Download 39,6 Kb.
bet5/5
Sana06.07.2022
Hajmi39,6 Kb.
#744156
1   2   3   4   5
Bog'liq
Kernel

Анализ окружения процесса. По имени задачи определить, загружена такая программа в памяти или нет. Недостаток: Если переименуем резидент, то можно загрузить его копию ещё раз.

Взаимодействие новых и старых обработчиков прерываний (ISR)[править | править код]
При установке резидентной программы в память осуществляется перехват векторов. При этом между старыми и новыми обработчиками пpерываний возможны следующие схемы взаимодействия:

  • Исключение старого обработчика (взаимодействия нет). Недостаток: Если старый обработчик реализует какие-то полезные функции, которые нужно оставить, то эти функции нужно будет продублировать в новом. Напримеp, если рассмотреть обработчик пpерывания клавиатуры INT 9, то его функции достаточно сложные:

    • принимает код с клавиатуры;

    • сообщает клавиатуре, что код принят;

    • обрабатывает код (то есть из SCAN кода, делает ASCII код);

    • помещает код в буфеp клавиатуры (очередь);

  • Вызов старого обработчика, посредством команды JMP.

Возврат осуществляется из старого обработчика. Возникает цепочка между обработчиками пpерываний. Недостаток: Часто бывает необходимо, чтобы новые функции выполнялись после старых. По этой схеме это невозможно.

  • Вызов старого обработчика командой CALL.

Уровни сложности TSR и взаимодействие новых ISR друг с другом[править | править код]
В зависимости от взаимодействия новых ISR выделяют различные уровни сложности.

  • Простейшие TSR, их характеристики.

    • ISR не взаимодействуют друг с другом (или всего один ISR).

    • Резидентная функция RF не использует в своей работе функции BIOS или DOS.

    • Время исполнения RF настолько мало, что нет необходимости защищаться от повторной активизации.

    • При работе RF используется стек текущего процесса (RF должна быть простая, чтобы стек часто не использовать; нужно иметь как минимум 3 свободных байта в стеке для того, чтобы реализовать RF). Примером такой TSR может являться щелкающая клавиатура.

  • TSR 2-го уровня сложности. Общая характеристика — использование функций BIOS (работа с дисками, клавиатурой, вывод на экран: INT 13, INT 10, INT 16).

    • Резидентная секция программы состоит из нескольких взаимодействующих ISR.

    • RF использует пpерывания BIOS.

    • Используется защита от повторной активизации RF.

    • Используется стек текущего процесса.

Если посмотреть на функции BIOS во время их работы, то можно заметить, что они нереентерабельны, это относиться к функциям работы с диском INT 13 и экраном INT 10. Реентерабельность — это свойство, которое позволяет программе или какому-то её фрагменту пpерываться и выполняться с начала (вновь). То есть программа может пpерывать сама себя. Т.о. функции BIOS нереентерабильны . Классически нужно будет написать новый обработчик INT 13. Пусть резидентная функция вызывается при нажатии какой-либо клавиши, то нужно использовать обработчик пpерываний клавиатуры INT 9, который должен проверить флаг: идет работа с диском или нет. Если флаг равен нулю, то можно вызывать нашу программу RF (которая работает с INT 13). Защита делается только от пpерывания INT 13, так как остальные пpерывания используют функции DOS.

  • TSR 3-го уровня сложности.

Это такие программы, в которых резидентная функция использует функции DOS(напримеp RF использует INT 21). INT 21 нереентерабильна . Можно бы было решить эту проблему так же, как и с INT 13. Но этот метод не работает, так как функции DOS не всегда имеют стандартное завершение (есть некоторые выходы, которые нельзя проконтролировать). К таким функциям относятся 4C и 4B. В OC есть специальный флаг — флаг активности DOS, которая называется INDOS. Этот флаг равен 0, если функция INT 21 не выполняется, и не равен 0, если она выполняется. Т.о. в программе необходимо анализировать INDOS. Есть стандартная функция для получения флага INDOS , это AH=34h пpерывания int 21. В результате этой функции ES:BX -> inDOS. Эту функцию 34h надо выполнить в секции инициализации . Должны зафиксировать адрес этого флага INDOS в статической ячейке памяти и затем использовать её в обработчиках пpерываний.

  • TSR 4-го уровня сложности. Некоторые функции пpерывания INT 21 выполняются очень долго (напримеp ввод с клавиатуры с ожиданием) . Если происходит запрос на вызов резидентной функции или RF в этот момент времени, то реально вызова RF не произойдет до тех поp, пока не завершится INT 21 (пока не нажмется какая-то клавиша + Enter). Все функции DOS разделены на 2 класса:

    • 00..0Ch — это клавиатура, экран;

    • 0Dh.. — это работа с файлами (выполняется достаточно быстро);

Когда выполняется 1-я группа, то можно выполнять функции другой группы, но не первой, и наоборот. Для решения проблемы запуска резидентной функции в момент выполнения функций 1-й группы используется специальное пpерывание INT 28. Пользователь может перехватить вектоp INT 28 и выполнить соответствующие действия (из 2-й группы). Напримеp, пусть наша резидентная функция использует только 2-ю группу функций. Если DOS активна, то TSR вызывает только INT 28, а если не активна, то вызывает пpерывания только от таймера. Вывод на экран можно осуществлять непосредственно в ОЗУ дисплея (минуя DOS и BIOS). Для работы с клавиатурой используют функции BIOS. Для работы с экраном и клавиатурой используются функции 2-й группы, но экран и клавиатура рассматриваются как устройство CON и работа с ним ведется как с файлом.
Download 39,6 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish