Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты 2026.docx
Скачиваний:
0
Добавлен:
31.01.2026
Размер:
140.26 Кб
Скачать

24. Алгоритмы планирования в интерактивных ос: циклическое, приоритетное, mlfq.

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

Циклическое планирование (round-robin) – каждому потоку выделяется равный квант времени, и процессор по очереди передаётся между готовыми потоками. Это обеспечивает справедливое распределение времени и предсказуемое поведение системы.

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

MLFQ (Multi-Level Feedback Queue; многоуровневая очередь с приоритетами) – это алгоритм с несколькими уровнями очередей, где потоки перемещаются между уровнями в зависимости от их поведения и потребления процессорного времени. Это сочетает справедливость циклического планирования и учёт приоритетов, повышая отзывчивость интерактивной системы и снижая вероятность голодания.

25. Равномерные планировщики: гарантированное, лотерейное, справедливое планирование.

Равномерные планировщики – это алгоритмы планирования потоков, которые обеспечивают справедливое распределение процессорного времени между всеми потоками, независимо от их поведения.

Гарантированное планирование работает так: каждому потоку заранее выделяется фиксированная доля процессорного времени. ОС следит за тем, чтобы потоки получили именно эту долю, корректируя распределение при изменении числа активных потоков. Это гарантирует предсказуемое время выполнения и отсутствие голодания.

Лотерейное планирование реализует принцип случайного выбора: каждому потоку присваивается определённое количество «лотерейных билетов», пропорциональное его приоритету или требуемому времени процессора. При каждом планировании ОС случайным образом выбирает победителя – поток, который получит процессор. Чем больше билетов у потока, тем выше вероятность его выполнения.

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

26. Планирование в многопроцессорных системах.

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

Существует два основных подхода: SQMS и MQMS.

С одной очередью (SQMS, single-queue multiprocessor scheduling) – все потоки помещаются в общую очередь, откуда планировщик распределяет их между процессорами. Преимущества: простота, возможность использовать инфраструктуру однопроцессорных систем. Недостатки: низкая масштабируемость, необходимость блокировок, замедляющих работу при увеличении числа процессоров, отсутствие привязки потоков к кэшу.

С несколькими очередями (MQMS, multi-queue multiprocessor scheduling) – каждому процессору соответствует своя очередь потоков. Задания распределяются исходя из эвристики (например, по наименьшей загрузке или случайно). Преимущества: лучшая масштабируемость, уменьшение конкуренции за кэш, автоматическая привязка потоков к процессору. Недостаток: возможная несбалансированность нагрузки между процессорами.

Планирование учитывает балансировку нагрузки, согласованность кэш-памяти, приоритеты потоков и их зависимости. Перепланировка может происходить при блокировке потоков, завершении задач или изменении нагрузки, что обеспечивает эффективное распределение ресурсов, сокращает время отклика и повышает общую производительность многопроцессорной системы.