- •8. Многозадачность, ядро RTOS
- •Ядро операционной системы
- •Динамическое создание задачи
- •Обработка прерывания
- •Переключение задач
- •Переключение задач, пример
- •Переключение задач, пример (2)
- •Инициирование переключения
- •Дисциплины переключения
- •Диспетчеризация задач
- •Управление задачами
- •Планирование и диспетчеризация задач
Управление задачами
|
Q1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Q2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПЛАНИРОВЩИК |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(Scheduler) |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
Qn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
RQ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ДИСПЕТЧЕР |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(Dispatcher) |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
ОЧЕРЕДИ БЛОКИРОВАННЫХ |
|
ОЧЕРЕДЬ ГОТОВЫХ |
|
|
|||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||
|
|
|
(Blocked tasks) |
|
|
|
|
(Ready tasks) |
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ИСПОЛНЯЕМАЯ
ЗАДАЧА (Running task)
8. Многозадачность, ядро RTOS |
12 |
2002 v.0.4 |
|
Планирование и диспетчеризация задач
•Планирование (scheduling) – определение порядка выполнения задач в соответствии с заданным правилом (алгоритмом планирования)
•Диспетчеризация (dispatching) – выбор следующей выполняемой задачи из набора задач, готовых к выполнению; активизация задач, готовых к выполнению в соответствии с их очередностью
8. Многозадачность, ядро RTOS |
13 |
2002 v.0.4 |
|
