You are here

Как работает FreeRTOS: Основы многозадачности

Перевод может содержать ошибки. Читайте первоисточник: Multitasking

Назад: [Как работает FreeRTOS] Вверх: [Как работает FreeRTOS] Вперёд: [Как работает FreeRTOS]

 

Ядро является основным компонентом операционной системы. Операционные системы, такие как Линукс, используют ядра, которые позволяют пользователям одновременно получать доступ к компьютеру. Несколько пользователей могут выполнять несколько программ очевидно одновременно.

Каждая выполняемая программа является задачей (или потоком) под контролем операционной системы. Если операционная система может выполнять несколько задач таким образом, она называется многозадачной.

Использование многозадачной операционной системы может упростить разработку того, что иначе было бы сложным программным приложением:

  • Многозадачность и межзадачное взаимодействие в операционной системе позволяют разбивать сложное приложение на ряд более мелких и более управляемых задач.
  • Разделение может привести к упрощению тестирования программного обеспечения, разбивке работы внутри коллектива разработчиков и повторному использованию кода.
  • Сложные моменты синхронизации (timing) и сложные последовательности могут быть убраны из кода приложения и становятся обязанностью операционной системы.

Смотрите также ЧаВо: "Почему используют ОСРВ?".

Многозадачность против параллелизма

Обычный процессор может одновременно выполнять только одну задачу. Но благодаря быстрому переключению между задачами многозадачная операционная система может создать видимость одновременного выполнения каждой задачи. Это отражено на рисунке ниже, который показывает схему выполнения трёх задач во времени. Имена задач имеют цветовую кодировку и перечислены слева, сверху вниз. Время движется слева направо, цветные линии показывают, какая задача выполняется в конкретный момент времени. Верхняя диаграмма демонстрирует воспринимаемый шаблон одновременного выполнения, а нижняя диаграмма реальный многозадачный шаблон выполнения.

TaskExecution.gif


Далее: Основы ОСРВ - планировщик

Hobby's category: