Введение
Алгоритмы планирования являются одной из ключевых тем при изучении операционных систем реального времени. В обычной операционной системе важны средняя производительность, отзывчивость интерфейса и справедливое распределение ресурсов. В системах реального времени на первый план выходит другое требование: задача должна быть выполнена не просто быстро, а до заданного дедлайна. Поэтому даже корректный с функциональной точки зрения код может считаться ошибочным, если он завершился позже допустимого времени.
При традиционном изучении этой темы студент часто работает с формулами, таблицами периодов и статическими диаграммами. Такой подход полезен для введения понятий, но он не всегда показывает динамику поведения алгоритма. В частности, по формуле трудно сразу увидеть, как меняется очередь готовых задач, почему появляется пропуск дедлайна, чем отличается статический приоритет от динамического и почему хороший результат по дедлайнам может сопровождаться большим числом переключений контекста.
Для устранения этого разрыва предложен метод интерактивного изучения. Его основная идея состоит в том, что студент не только читает описание алгоритма, но и выполняет воспроизводимый эксперимент: выбирает нагрузку, запускает алгоритм, получает метрики и анализирует результат. Такой подход соответствует учебной логике виртуальной лаборатории: теория остаётся основой, но проверяется на конкретном моделируемом поведении.
Постановка методической проблемы
Сложность изучения алгоритмов планирования связана не только с математической частью. Значительная часть усилий уходит на действия, которые не относятся напрямую к пониманию алгоритма: настройку компилятора, подготовку входных данных, запуск нескольких программ, перенос результатов в таблицу и построение графиков. В терминах теории когнитивной нагрузки такие действия можно отнести к внешней нагрузке, поскольку они обслуживают процесс обучения, но не составляют его смысловое ядро [4, с. 257].
В учебной ситуации особенно важно, чтобы повторение эксперимента не превращалось в отдельную техническую задачу. Если студент сравнивает два алгоритма, то они должны работать на одной и той же нагрузке, с одинаковой длительностью моделирования и одинаковым набором метрик. Иначе результат сравнения становится неочевидным: неизвестно, связана ли разница с алгоритмом или с параметрами запуска.
Метод интерактивного изучения строится вокруг принципа сопоставимости. Каждый эксперимент задаётся одинаковым набором входных данных: реализация алгоритма, набор периодических задач, длительность моделирования и режим запуска. На выходе формируется единая структура результата: сводка прогона, показатели по задачам и временные ряды. Благодаря этому студент сравнивает не отдельные разрозненные числа, а целостную картину поведения планировщика.
Таблица 1.
Сравнение ручного изучения и интерактивного сценария
|
Критерий |
Ручной подход |
Интерактивная лаборатория |
|---|---|---|
|
Подготовка эксперимента |
Студент самостоятельно настраивает инструменты и файлы запуска. |
Параметры выбираются через единый интерфейс. |
|
Повторяемость |
Повторный запуск зависит от аккуратности ручной подготовки. |
Одинаковые параметры дают воспроизводимый результат. |
|
Сравнение алгоритмов |
Нужно запускать каждый алгоритм отдельно и вручную сопоставлять вывод. |
Несколько реализаций запускаются на одной нагрузке. |
|
Сбор метрик |
Метрики считаются вручную или отдельными скриптами. |
Метрики автоматически входят в отчёт. |
|
Интерпретация |
Студент видит разрозненные числа и статические примеры. |
Студент видит графики, временные ряды и таблицы результата. |
Состав метода интерактивного изучения
Предложенный метод включает четыре взаимосвязанных элемента. Первый элемент — единая модель периодических задач. Каждая задача описывается периодом, временем выполнения и относительным дедлайном. Такая модель не заменяет реальную операционную систему, но позволяет сосредоточиться на базовой задаче планирования: какой готовый джоб должен получить процессор в текущий момент.
Второй элемент — единый интерфейс учебного планировщика. Пользователь реализует функцию выбора задачи, а ядро симулятора передаёт ей массив текущих задач и номер тика. За счёт этого разные алгоритмы можно проверять одинаковым способом. Студент может взять эталонный пресет, изменить правило выбора и сразу увидеть, как это влияет на дедлайны, очередь и переключения контекста.
Третий элемент — два режима работы. В режиме одиночной симуляции студент исследует один алгоритм и получает подробный отчёт по нему. В режиме сравнения несколько реализаций запускаются на одной нагрузке. Это важно методически: сравнение становится честным, поскольку меняется только правило выбора задачи, а не параметры эксперимента.
Четвёртый элемент — единая система метрик. Она включает сводные показатели прогона, метрики по каждой задаче и временные ряды. Сводка показывает утилизацию процессора, число пропусков дедлайнов, переключения контекста и характеристики очереди. Метрики по задачам помогают понять, какие задачи страдают сильнее. Временные ряды показывают, как менялось состояние системы в ходе симуляции.
Таблица 2.
Основные группы метрик интерактивной лаборатории
|
Группа метрик |
Примеры показателей |
Учебный смысл |
|---|---|---|
|
Сводка прогона |
Утилизация CPU, простой, пропуски дедлайнов, переключения контекста. |
Даёт общее представление о качестве работы алгоритма. |
|
Показатели по задачам |
Время ожидания, выполненные тики, вытеснения, время отклика, jitter. |
Показывает, какие задачи получают процессор вовремя, а какие задерживаются. |
|
Временные ряды |
Выполняемая задача, длина очереди готовых задач, минимальная лаксити. |
Позволяет связать итоговые числа с динамикой симуляции. |
|
Сравнительные показатели |
Разница в дедлайнах, переключениях и средней очереди между алгоритмами. |
Помогает объяснить, почему один алгоритм лучше другого на той же нагрузке. |
Оценка снижения внешней когнитивной нагрузки
В рамках метода оценивалась не психологическая нагрузка в строгом экспериментальном смысле, а инженерно-методический эффект: сколько вспомогательных действий удаётся убрать из типового учебного сценария. Такой подход не заменяет полноценного исследования с участием студентов, но позволяет количественно показать, какая часть работы переносится с обучающегося на инструмент.
Рассмотрим сценарий, в котором студент должен сравнить два алгоритма на одной нагрузке, получить метрики, построить графики и подготовить результат для проверки. В ручном варианте он выполняет подготовку окружения, отдельные запуски, перенос результатов, построение графиков и оформление отчёта. В лаборатории эти операции сведены к выбору параметров, запуску сравнения и получению готового отчёта.
Таблица 3.
Расчётное сокращение вспомогательных действий
|
Этап |
Без лаборатории |
С лабораторией |
Снижение |
|---|---|---|---|
|
Настройка окружения |
5 шагов |
0 шагов |
100% |
|
Запуск сравнения двух алгоритмов |
4 шага |
2 шага |
50% |
|
Сбор метрик |
3 шага |
0 шагов |
100% |
|
Построение графиков |
2 шага |
0 шагов |
100% |
|
Передача результата |
2 шага |
1 шаг |
50% |
|
Итого |
16 шагов |
3 шага |
81,25% |
Расчёт показывает сокращение числа вспомогательных действий с 16 до 3, то есть на 81,25%. Наиболее заметный эффект связан с полной автоматизацией настройки окружения, сбора метрик и построения графиков. Это не означает, что сама теория становится проще. Напротив, содержательная сложность остаётся: студент всё равно должен понимать периоды, дедлайны, утилизацию, приоритеты и причины пропусков. Однако техническая подготовка перестаёт забирать основное внимание.
Такой результат особенно важен для дисциплин, где лабораторная работа должна быть воспроизводимой. Преподаватель получает отчёт с едиными метриками, а студент может сосредоточиться на объяснении поведения алгоритма. При этом виртуальная лаборатория не отменяет ручной разбор, а дополняет его: после получения отчёта студент может вернуться к конкретным тикам и объяснить, почему планировщик сделал тот или иной выбор.
Заключение
Предложенный метод интерактивного изучения алгоритмов планирования объединяет учебную модель периодических задач, единый интерфейс реализации планировщика, систему метрик и режим сравнения нескольких алгоритмов на одной нагрузке. Его основное преимущество состоит в том, что студент видит не только формальное описание алгоритма, но и результат его работы в воспроизводимом эксперименте.
Метод может использоваться как основа для лабораторных работ по операционным системам реального времени. Он снижает внешнюю когнитивную нагрузку, повышает сопоставимость результатов и помогает связать теорию планирования с практическим анализом расписаний, дедлайнов и временных рядов.
Список литературы
- 1. Buttazzo, G. C. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. 3rd ed. New York: Springer, 2011. 524 p.
- 2. Kopetz, H. Real-Time Systems: Design Principles for Distributed Embedded Applications. 2nd ed. New York: Springer, 2011. 396 p.
- 3. Liu, C. L., Layland, J. W. Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment // Journal of the ACM. 1973. Vol. 20, no. 1. P. 46–61.
- 4. Sweller, J. Cognitive load during problem solving: Effects on learning // Cognitive Science. 1988. Vol. 12, no. 2. P. 257–285.
- 5. Sweller, J., Ayres, P., Kalyuga, S. Cognitive Load Theory. New York: Springer, 2011. 274 p.


