- •2.Многопользовательский режим работы операцинной системы
- •Состояние процессов
- •Контекст и дескриптор процесса
- •Вытесняющие и невытесняющие алгоритмы планирования
- •Планирование процессов в Windows
- •3. Классификация операционных систем.
- •Операционные системы семейства os/2
- •Операционные системы семейства unix
- •Операционные системы семейства Linux
- •Операционные системы семейства Windows
- •12.Определение арбитража. Виды централизованного и распределенного арбитража.
- •15.Стратегии планирования и дисциплины диспетчеризации. Граф состояния процессов и потоков.
- •16.Принципы планирования процессов и потоков. Классификация алгоритмов планирования.
- •17.Вытесняющие и невытесняющие алгоритмы планирования ос. Приоритетные и бесприоритетные алгоритмы планирования
- •18.Алгоритмы планирования основанные на квантовании. Обоснование выбора величины квантов времени. Задание квантов времени в мультипрограммных ос и управление их величиной.
- •19.Алгоритмы планирования основанные на приоритетах. Понятие приоритета и очереди процессов. Абсолютные и относительные приоритеты
- •20.Система приоритетов в ос класса Windows ( на примере Windows xp). Фиксированные приоритеты и приоритеты реального времени
- •21.Смешанные алгоритмы планирования. Алгоритмы планирования в ос реального времени. Планирование на основе предельных начальных или конечных сроков решения задач
- •22.Частотно-монотонное планирование в ос. Законы Лью – Лейланда.
- •23.Алгоритмы планирования в ос класса Windows (на примере Windows xp). Учет квантов и управление их величиной. Динамическое повышение приоритета.
20.Система приоритетов в ос класса Windows ( на примере Windows xp). Фиксированные приоритеты и приоритеты реального времени
В ОС Windows реализовано вытесняющее приоритетное планирование, когда каждому потоку присваивается определенное числовое значение – приоритет, в соответствии с которым ему выделяется процессор. Потоки с одинаковыми приоритетами планируются согласно алгоритму Round Robin (карусель). Важным достоинством системы является возможность вытеснения потоков, работающих в режиме ядра – код исполнительной системы полностью реентерабелен. Не вытесняются лишь потоки, удерживающие спин-блокировку Поэтому спин-блокировки используются с большой осторожностью и устанавливаются на минимальное время
В системе предусмотрено 32 уровня приоритетов. Шестнадцать значений приоритетов (16-31) соответствуют группе приоритетов реального времени, пятнадцать значений (1-15) предназначены для обычных потоков, и значение 0 зарезервировано для системного потока обнуления страниц
Чтобы избавить пользователя от необходимости запоминать числовые значения приоритетов и иметь возможность модифицировать планировщик, разработчики ввели в систему слой абстрагирования приоритетов. Например, класс приоритета для всех потоков конкретного процесса можно задать с помощью набора констант-параметров функции SetPriorityClass, которые могут иметь следующие значения:
• реального времени (REALTIME_PRIORITY_CLASS),
• высокий (HIGH_PRIORITY_CLASS),
• выше нормы (ABOVE_NORMAL_PRIORITY_CLASS),
• нормальный (NORMAL_PRIORITY_CLASS),
• ниже нормы (BELOW_NORMAL_PRIORITY_CLASS)
• и неработающий (IDLE_PRIORITY_CLASS).
Приоритет реального времени (real time) - программа выполняется так, как будто она одна и есть цель жизни Windows. Все ресурсы отдаются ей.
21.Смешанные алгоритмы планирования. Алгоритмы планирования в ос реального времени. Планирование на основе предельных начальных или конечных сроков решения задач
Смешанные алгоритмы планирования
Во многих операционных системах алгоритмы планирования построены с использованием как концепции квантования, так и приоритетов Например в основе планирования лежит квантование, но величина кванта и/или порядок выбора потока из очереди готовых определяется приоритетами потоков. Именно так реализовано планирование в системе Windows NT, в которой квантование сочетается с динамическими абсолютными приоритетами. На выполнение выбирается готовый поток с наивысшим приоритетом. Ему выделяется квант времени. Если во время выполнения в очереди готовых появляется поток с более высоким приоритетом, то он вытесняет выполняемый поток. Вытесненный поток возвращается в очередь готовых, причем он становится впереди всех остальных потоков имеющих такой же приоритет.
Планирование в системах реального времени
В системах реального времени, в которых главным критерием эффективности является обеспечение временных характеристик вычислительного процесса, планирование имеет особое значение. Любая система реального времени должна реагировать на сигналы управляемого объекта в течение заданных временных ограничений. Необходимость тщательного планирования работ облегчается тем, что в системах реального времени весь набор выполняемых задач известен заранее. Кроме того, часто в системе имеется информация о временах выполнения задач, моментах активизации, предельных допустимых сроках ожидания ответа и т. д. Эти данные могут быть использованы планировщиком для создания статического расписания или для построения адекватного алгоритма динамического планирования.