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

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

  • 3лекция. 3 лекция. Многозадачность


    Скачать 15.63 Kb.
    НазваниеМногозадачность
    Анкор3лекция
    Дата24.02.2022
    Размер15.63 Kb.
    Формат файлаdocx
    Имя файла3 лекция.docx
    ТипДокументы
    #372075

    Многозадачность

    Многозадачность – это свойство операционной системы обеспечивать параллельное (или псевдопараллельное) выполнение нескольких задач. Параллельное отличается от псевдопараллельного тем, что количество задач не превосходит количество процессоров(ядер). Многозадачность позволяет более эффективно использовать ресурсы. Мерой эффективности является пропускная способность.

    Многозадачность реализуется в 2-х вариантах:

    1. Многопроцессность

    2. Многопоточность

    Процесс – это программа, которая находится в режиме выполнения. Программа – это скомпилированный алгоритм. Программа состоит из:

    1. Исполняемый код

    2. Данные, с которыми работает код

    Так же к ним добавляются ресурсы ОС и виртуальное адресное пространство (в физической памяти выделяется область для виртуального адресного пространства. Таких областей может быть множество. ОС, совместно с процессором, преобразуют виртуальные адреса в физические). Виртуальное адресное пространство выполняет:

    1. Изоляцию процессов друг от друга

    2. Подкачка страниц памяти

    3. Унификация обращений к адресам внутри программы (это приводит к гораздо более компактному и удобному написанию программы)

    Многопоточность реализуется при помощи потоков (thread).

    Поток – это часть программы, которая выполняется последовательно. В любом процессе есть как минимум один поток. Потоки являются объектами ОС, но отличаются тем, что они разделяют одно адресное пространство. Они могут передавать данные друг другу, но существует вероятность того, что один поток повредит данные другого потока, чем повредит работу всей программы.

    Управление задачами в информационной системе включает в себя 2 процедуры:

    1. Планирование – это работа ОС по определению того, какая задача должна стать текущей и в какой момент времени

    2. Диспетчеризация – это работа по реализации решения, найденного алгоритмом планирования, то есть непосредственного переключения с текущей задачи на следующую

    Свойства задач:

    1. Приоритет задач

    2. Дескриптор задач – это структура ОС, которая содержит данные о задаче, необходимые в процессе всего её жизненного цикла (текущее состояние задачи, информация о выделенных для задачи ресурсов, информация о виртуальном адресном пространстве)

    3. Контекст задачи – структура ОС, которая содержит информацию для временного прерывания её работы и дальнейшего возобновления (состояние регистров процесса)

    4. Состояние задачи – это текущий этап её жизненного цикла (активность, готовность, ожидание)

    Алгоритмы планирования

    1. Статические – отличаются высокой надёжностью, носят специальный харрактер

    2. Динамические

    Вытесняющие алгоритмы более сложные. Их преимущество в быстродействии, надёжности работы системы и в отсутствии проблем с синхронизацией.

    Для не вытесняющих алгоритмов потенциально более эффективные алгоритмы задач.

    2) На основе приоритетов и основе квантования

    3) Смешанный алгоритм планирования

    1. С относительными приоритетами

    2. С абсолютными приоритетами

    С фиксированными, либо динамическими квантами времени

    Алгоритм квантования с компенсацией или без компенсации неиспользованных квантов времени


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