ПЕРСПЕКТИВЫ ПРИМЕНЕНИЯ ОПЕРАЦИОННОЙ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ В СОВРЕМЕННЫХ МИКРОКОНТРОЛЛЕРАХ - Студенческий научный форум

VI Международная студенческая научная конференция Студенческий научный форум - 2014

ПЕРСПЕКТИВЫ ПРИМЕНЕНИЯ ОПЕРАЦИОННОЙ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ В СОВРЕМЕННЫХ МИКРОКОНТРОЛЛЕРАХ

Оверчук К.В. 1
1Национальный исследовательский Томский политехнический университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

Основной особенностью микроконтроллеров является то, что он работает в режиме реального времени, а именно скорость его реакция на внешнее воздействие должна быть сопоставима со скоростью протекания процесса, которым он управляет. Примером предъявляемых условий может быть промышленные требования: время реакции на срабатывания датчика давления в установке не должно превышать 5 мс, в противном случае произойдет авария. Исходя из этих требований, можно сказать, что операционная система для микроконтроллеров – это операционная система реального времени. По этой причине, такие широко известные системы как WINDOWS и UNIX не подходят для построения систем реального времени, так как время их реакции составляет порядка 15 мс.

Ниже приведен перечень существенных аппаратных ограничений микроконтроллеров, которые должны учитываться в операционной системе:

  • малая вычислительная мощность;

  • малый объем памяти данных и памяти программ;

  • отсутствие модуля управления памятью (Memory management unit), который используется в современных ОС, таких как Windows или UNIX;

  • отсутствие аппаратного модуля переключения контекста, необходимого для организации многозадачности.

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

  • организовать многозадачность;

  • синхронизировать задачи между собой;

  • передавать информацию между задачами;

  • обеспечивать запуск задачи в четко заданные временные рамки.

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

Из вышеперечисленного следует целесообразность применения операционные систем реального времени. Подобные системы позволяют следующее:

  • Организовать многозадачность. Любая операционная система реального времени имеет необходимый перечень готовых функций и методов для организации многозадачности. Это позволяет разрабатывать проект модульно, при этом модули не будут зависеть друг от друга, что в свою очередь позволит без больших усилий, при необходимости, перестроить отдельные модули.

  • Запускать задачи в четко определенные временные интервалы.

  • Предавать данные между задачами без потерь и повреждений.

  • Организовывать синхронную работу всех выполняемых задач.

В результате применения операционной системы реального времени можно упростить разработку проекта и позволить в дальнейшем его адаптировать под необходимые нужды.

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

  • дополнительный расход памяти программ для хранения самой операционной системы;

  • дополнительный расход памяти программ для хранения стека задач, необходимых переменных для функционирования системы и управления задачами;

  • дополнительные затраты процессорного времени на переключения между задачами.

Все перечисленные затраты не очень существенны для современных котроллеров. Примером может быть контролер STM32F407, он обладает не только запасом по вычислительной мощности, но и большим объёмом программ, и позиционируется производителем как контроллер с DSP функциями. Также, в поддержку использования операционных систем реального времени в микроконтроллерах, большинство компаний по разработке сред программирования для микроконтроллеров предлагают разработанные ими системы. Все эти системы лицензированы и распространяются как платно, так и на бесплатной основе. На рисунке 1 представлено сравнение распространённых систем.

Рис. 1 – Сравнение распространённых систем

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

Литература:

  1. Борисов Смирнов А. Операционные системы реального времени для

микроконтроллеров // Chip news. 2008. № 5.

  1. Сорокин С. Системы реального времени // Современные технологии автоматизации.

1997. № 2.

  1. Татарчевский В. Применение SWITCH технологии при разработке прикладного программного обеспечения для микроконтроллеров // Компоненты и технологии. 2006. № 11.

  2. http://www.freertos.org

Просмотров работы: 2022