Операционные системы 09.02.03 2 курс. Автономной некоммерческой образовательной организации профессионального образования
![]()
|
Лекция №94 класса прерываний: Биты, содержащиеся в регистре (адрес 3F2) 1, 2 содержат коды. 0 – изменения в регистре статуса модема 1 – регистр хранения прерывания датчика получен 1 0 – данные получены 0 1 – ошибка приема Бит 0 установлен в 1, когда происходит событие. Чтобы выбрать одно или несколько прерываний, нужно запрограммировать регистр прерывания (адрес 3F9). Установка бита 0 в 1 говорит о том, что необходимое прерывание сгенерировано: 1 – ………. 2 – прерывание по ошибке 3 – прерывание при изменении регистра статуса модема При чтении 3FA обнуляются. Приоритеты: ошибка получение данных пустой буфер передатчика регистр изменения статуса модема Устанавливаем вектор: push ds ; помещение в стек mov dx, offset IO_INT ; смещение mov dx, seg IO_INT ; вектор mov 01s, ax mov al, 0b mov ah, 25 ; 25 функция int 21h mov dx, 3F8h ; базовый адрес в dx inc dx mov ah, ….. out dx, al pop ds Затем обработка: ID_INT proc far NEXT_INT: mov dx, 2F8h ;установили по приему add dx, 2 ;и передаче in al, dx test al, 1Øb inz TRANSMIT RECEIVE: ПРИЕМ jmp another TRANSMIT ………….. ANOTHER: mov dx, 3F8h add dx, 2 in al, dx test al, 1 jmp NEXT_INT mov al, 20h IRET: Out 20h, al Планирование процессаКритерий: Для каждого планирования алгоритмы для смены процесса. …………. – гарантирует определенную часть процессорного времени, чтобы один процесс не занимал все время. эффективность – занимать все 100% времени. сокращение полного времени выполнения – ……………………………………….. Сокращение времени ожидания – минимизация времени, которое процесс проводит в ожидании сокращение времени отклика – минимизация времени, требующаяся процессу…………………………. Алгоритмы должны быть предсказуемы. Должны иметь минимальные накладнее расходы. Желательно обеспечить равномерное распределение ресурсов. Система должна иметь хорошую масштабированность. Параметры планирования: статистические (предельные значения ресурса – объем памяти, быстродействие процессов; для процессов – каким пользователем запущен процесс, приоритет задачи, какие ресурсы необходимы, сколько уже было предоставлено процессорного времени, сколько запрошено) динамические …………….. …………………….: Когда процесс переходит в завершение Когда процесс переходит в ожидание Когда процесс из состояния выполнения переходит в состояние готовности Когда процесс переходит из состояния ожидания в состояние готовности Алгоритм планирования по принципу FIFO: Преимущества: легкость реализации. Недостатки: Пример: Есть 3 процесса P0, P1, P2. Требуемое время для Р1 – 14 единиц для Р2 – 4 единицы для Р3 – 1 единица Если постоянно в таком порядке, то Время ожидания Р0 – 0 Р1 – 13 Р2 – 17 (0+ 13+ 17)/3 = 10 единиц Полное время для Р0 – 13 для Р1 – 17 для Р2 – 18 Среднее время 16 единиц. Если порядок Р2, Р1, Р0, то среднее время 2 единицы, среднее время выполнения 6 единиц. Алгоритм RR: Множество готовых процессов образуются циклически, т.е. процессор некоторое время руководит ……….. Ситуация: Время непрерывного использования процессора, необходимое процессу, меньшее кванту времени. Тогда процесс сам освободит процессор. Продолжительность больше кванта времени. Процесс прервется.
где и – использование, г – готовность Время ожидания Р0 – 5 единиц Р1 – 4 единицы Р2 – 8 единиц Среднее время ожидания – 5,6 единиц Полное время выполнения для Р0 – 18 единиц Р1 – 8 единиц Р2 – 9 единиц Среднее время выполнения 11, 6 единиц Если величина кванта времени взять в 1, то Р0 – 5 Р1 – 5 Р2 –2 Среднее время – 4 единицы, среднее время исполнения – 10 единиц. Если большой квант времени, процессы выполняются полностью. Алгоритм SGF (кратная работа первого) Пример невытесняющего алгоритма Р0 Р1 Р2 Р3 5 3 7 1 Порядок: Р3, Р1, Р0, Р2. Среднее время ожидания 3, 5 единиц. Если Р0, Р1, Р2, Р3 FIFO – 7 единиц. Выигрыш в два раза. Низкоприоритетные процессы могут в очереди проводить большое количество времени в ожидании. Многоуровневые очередиМожно процессы разделить на группы по своим приоритетам. Механизм с обратной связью: 0 – высокоприоритетный, 1 – низкоприоритетный. Всего 4 группы: Сначала новый процесс идет в 0, получает квант времени. Если квант меньше отведенного, то завершается. Если нет, то поступает в первую очередь, где время в два раза больше. Если времени хватает, благополучно завершается. Нет – поступает во вторую группу. Данные для реализации: количество очередей алгоритм планирования, действующий между очередями алгоритм планирования, действующий внутри очереди правила появления нового процесса в очередь правила перевода процесса из одной очереди в другую |