Главная страница
Навигация по странице:

  • Алгоритм планирования по принципу

  • Алгоритм

  • Операционные системы 09.02.03 2 курс. Автономной некоммерческой образовательной организации профессионального образования


    Скачать 0.57 Mb.
    НазваниеАвтономной некоммерческой образовательной организации профессионального образования
    Дата17.02.2021
    Размер0.57 Mb.
    Формат файлаdoc
    Имя файлаОперационные системы 09.02.03 2 курс.doc
    ТипЛекция
    #177186
    страница10 из 20
    1   ...   6   7   8   9   10   11   12   13   ...   20

    Лекция №9


    4 класса прерываний:

    Биты, содержащиеся в регистре (адрес 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. Продолжительность больше кванта времени. Процесс прервется.



    Время

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    Р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 единиц. Выигрыш в два раза.

    Низкоприоритетные процессы могут в очереди проводить большое количество времени в ожидании.

    Многоуровневые очереди


    Можно процессы разделить на группы по своим приоритетам.

    Механизм с обратной связью:

    0 – высокоприоритетный, 1 – низкоприоритетный.

    Всего 4 группы:

    Сначала новый процесс идет в 0, получает квант времени. Если квант меньше отведенного, то завершается. Если нет, то поступает в первую очередь, где время в два раза больше. Если времени хватает, благополучно завершается. Нет – поступает во вторую группу.

    Данные для реализации:

    1. количество очередей

    2. алгоритм планирования, действующий между очередями

    3. алгоритм планирования, действующий внутри очереди

    4. правила появления нового процесса в очередь

    5. правила перевода процесса из одной очереди в другую



    1   ...   6   7   8   9   10   11   12   13   ...   20


    написать администратору сайта