Биты, содержащиеся в регистре (адрес 3F2) 1, 2 содержат коды.
0 – изменения в регистре статуса модема
1 – регистр хранения прерывания датчика получен
1 0 – данные получены
0 1 – ошибка приема
Бит 0 установлен в 1, когда происходит событие.
Чтобы выбрать одно или несколько прерываний, нужно запрограммировать регистр прерывания (адрес 3F9).
Установка бита 0 в 1 говорит о том, что необходимое прерывание сгенерировано:
1 – ……….
2 – прерывание по ошибке
3 – прерывание при изменении регистра статуса модема
При чтении 3FA обнуляются.
Приоритеты:
1. ошибка
2. получение данных
3. пустой буфер передатчика
4. регистр изменения статуса модема
Устанавливаем вектор:
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
Критерий:
Для каждого планирования алгоритмы для смены процесса.
1. …………. – гарантирует определенную часть процессорного времени, чтобы один процесс не занимал все время.
2. эффективность – занимать все 100% времени.
3. сокращение полного времени выполнения – ………………………………………..
4. Сокращение времени ожидания – минимизация времени, которое процесс проводит в ожидании
5. сокращение времени отклика – минимизация времени, требующаяся процессу………………………….
Алгоритмы должны быть предсказуемы. Должны иметь минимальные накладнее расходы. Желательно обеспечить равномерное распределение ресурсов. Система должна иметь хорошую масштабированность.
Параметры планирования:
статистические (предельные значения ресурса – объем памяти, быстродействие процессов; для процессов – каким пользователем запущен процесс, приоритет задачи, какие ресурсы необходимы, сколько уже было предоставлено процессорного времени, сколько запрошено)
динамические ……………..
…………………….:
1) Когда процесс переходит в завершение
2) Когда процесс переходит в ожидание
3) Когда процесс из состояния выполнения переходит в состояние готовности
4) Когда процесс переходит из состояния ожидания в состояние готовности
Алгоритм планирования по принципу 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:
Множество готовых процессов образуются циклически, т.е. процессор некоторое время руководит ………..
Ситуация:
1) Время непрерывного использования процессора, необходимое процессу, меньшее кванту времени. Тогда процесс сам освободит процессор.
2) Продолжительность больше кванта времени. Процесс прервется.
Время
Р0
и
и
и
и
г
г
г
г
г
и
и
и
и
и
и
и
и
и
Р1
г
г
г
г
и
и
и
и
Р2
г
г
г
г
г
г
г
г
и
где и – использование, г – готовность
Время ожидания Р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 единиц. Выигрыш в два раза.
Низкоприоритетные процессы могут в очереди проводить большое количество времени в ожидании.