Научная статья на тему 'ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ'

ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ Текст научной статьи по специальности «Математика»

CC BY
417
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ОПЕРАЦИОННАЯ СИСТЕМА РЕАЛЬНОГО ВРЕМЕНИ / ОСРВ / МИКРОКОНТРОЛЛЕР / МНОГОЗАДАЧНОСТЬ

Аннотация научной статьи по математике, автор научной работы — Данченко Д.Г.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

REAL-TIME OPERATING SYSTEMS

The article is devoted to the overview of real-time operating systems, applicable to the MCU. Will examine the basic concepts, methods of work and organization is represented by OS, also highlight the generalized structure of the system.

Текст научной работы на тему «ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ»

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

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

Использованные источники:

1. Активные и интерактивные образовательные технологии в высшей школе: учебное пособие / сост. Т.Г. Мухина. - Н. Новгород: ННГАСУ. -2013. - 97с.

2. Гуляева В.А. Возможности использования интерактивной доски в преподавании гистологии. // Международный научно-практический журнал «Интеграция наук».-2017.-10(14) - С. 88-90.

3. Панфилова А.П. Инновационные педагогические технологии: Активное обучение: учеб. пособие для студ. высш. учеб. заведений. - М.: Издательский центр «Академия». - 2009. - 192 с.

УДК 621.389

Данченко Д.Г. студент магистратуры 2 курса факультет «Физико-математический» ФГБОУ ВО «Брянский государственный университет имени

академика И.Г. Петровского» Россия, г. Брянск ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

Аннотация:

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

Ключевые слова: операционная система реального времени, ОСРВ, микроконтроллер, STM32, FreeRTOS, многозадачность.

Danchenko, D. G. graduate student 2 course, faculty "physics and mathematics " "Bryansk state University named after academician I. G. Petrovsky"

Russia, Bryansk

REAL-TIME OPERATING SYSTEMS

Abstract:

The article is devoted to the overview of real-time operating systems, applicable to the MCU. Will examine the basic concepts, methods of work and

organization is represented by OS, also highlight the generalized structure of the system.

Key words: operating system, real time, RTOS, microcontroller, STM32, FreeRTOS, multitasking.

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

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

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

Операционная система реального времени (ОСРВ, англ. real-time operating system, RTOS) — тип операционной системы, основное назначение которой — предоставление необходимого и достаточного набора функций для работы систем реального времени на конкретном аппаратном оборудовании.

Суть работы такой операционной системы состоит в том, чтобы вся программа была разбита на множества задач, каждая из которых будет отвечать лишь за свою часть работы. Такую задачу в ОСРВ можно рассматривать как подпрограмму всей программы, которая содержит в себе независимый алгоритм. К каждой такой задаче назначается свой приоритет, собственная область стека, набор регистров ЦПУ.

Любая задача может находиться в одном из 4 состояний:

- Ожидает события;

- Выполняется;

- Готова;

- Прервана.

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

Состояние «Выполняется. Задача запущена и использует ресурсы

ЦПУ.

Состояние «Готова». Задача может выполняться, но ее приоритет меньше приоритета уже выполняемой на данный момент задачи.

Состояние «Прервана». Задача была прервана и ЦПУ находится в процессе обработки.

Существуют два вида приоритета задач: статический и динамический. Статический приоритет назначается в самой программе и при компиляции такой задачи приоритет приобретает фиксированное значение. В отличии от статического приоритета, динамический может меня свой приоритет во время работы общей программы. Каждая задача может изменять свой приоритет во время выполнения.

Так как каждой задаче выделяется область памяти, так называемый стек, то при выполнении задачи ядро сохраняет контекст данной задачи. Это необходимо для быстрого переключения между различными задачами. Механизм переключения задач довольно прост: контекст новой задачи восстанавливается из соответствующей области памяти и возобновляется выполнение кода новой, более приоритетной задачи. Время, которое необходимо для переключения контекста, определяется числом регистров, необходимые для сохранения и восстановления ЦПУ.

Основой всей операционной системы является ядро. Ядро отвечает непосредственно за управление многозадачностью (иными словами за управление временем ЦПУ) и связью между задачами. Основная роль ядра -переключение контекста. Как было сказано выше, использование ОСРВ позволяет упростить проект путем разбиения всей программы на индивидуальные подпрограммы со своим алгоритмом. Именно ядро ОСРВ отвечает за лучшую оптимизацию ЦПУ под заданные задачи в лице написанных программ.

Также в состав ядра входит планировщик (или так называемый диспетчер), который отвечает за очередность следования задач. Как правило, большинство ядер ОСРВ являются приоритетными. К каждой поставленной задаче присваивается приоритет на основе ее важности во всей программе. В таком ядре управление ЦПУ будет всегда отдаваться более приоритетной готовой задаче. На этой основе выделяют два типа ядер, которые основаны на приоритете: неприоритетные и приоритетные.

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

приоритетную задачу, но при этом она всегда вернется к первичной задачи.

гжопрч юригаиш ■мщачя

[1)

1ШШ

Подпрограмма прсры ваш и

Подпр о грамма прермван! м делает высокогр Iор!ггетную

'ЯЭДЛчу ГОТОВОЙ К ВЫПОЛНЕН ]Ю

ВыСОКОПр! ЮрЦГеТНая чадачл

т

Время

Ннзксщиюр петая задача передает чпра в лет к

цемтриш.ным процессором »ысокоцяюр! гтешоп задаче

Рисунок 1. График неприоритетного ядра

На рисунке 1 показан алгоритм работы неприоритетного ядра: во время выполнения низкоприоритетной задачи (1) происходит прерывание (2). Подпрограмма прерывания обрабатывает событие (3) и делает высокоприоритетную задачу готовой к исполнению. После окончания подпрограммы прерывания выполняется задача возврата из прерывания (4). Затем начинает выполняться прерванная задача (5). После выполнения задачи (5), вызывается сервис ядра для передачи управления ЦПУ другой высокоприоритетной задачи. Итог является выполнение задачи (7).

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

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

Подпрограмма п}лфывлнш

Подпрограмм цмрывшыя делает высокого юр] цедоую задачу готовой к выпотенпю

т

Время

Рисунок 2. График приоритетного ядра

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

Таким образом можно сделать вывод, что ОС с приоритетным ядром способна обеспечить более быструю реакцию на событие.

Теперь необходимо определить минимальные требования к микроконтроллерам для работы операционной системы реального времени. Первое, к чему необходимо обратить внимание, это объем ПЗУ для ядра системы. В зависимости от задач, архитектуры, функциональности ядра, размер занимаемого пространства варьируется от 1 до 100 Кб. К примеру, ядро 8-битного микроконтроллера, которое производить только планирование задач, переключение контекста, управление задержками и тайм-аутами, занимает около 1-3 Кб.

Так как задачи выполняются независимо друг от друга, то каждая задача должна обладать собственной областью стека (ОЗУ). Перед разработчиком стоит задача в определении требований к стеку для каждой задачи в программе. Размер стека не должен рассчитываться только исходя из требований задач, а должен также рассчитываться на максимальное число вложений прерываний. В зависимости от применяемого микроконтроллера и ядра, может использоваться отдельный стек для обработки всего кода уровня прерывания. Данная рекомендация необходима, так как требования к стеку для каждой задачи может быть существенно уменьшены.

Еще одна желательная особенность - способность определить размер стека индивидуально для каждой отдельной задачи. Так как некоторые требуют, чтобы стеки всех задач были одинаковыми по размеру. Абсолютно

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

Таким образом можно заключить, что многозадачная система требует большого количества пространства для кода (ПЗУ) и пространства для данных (ОЗУ). Непосредственно количество дополнительного объема постоянной памяти зависит от размера ядра системы, а количество оперативной памяти зависит лишь от числа поставленных задач в разрабатываемой системе. Но, как правило, современные микроконтроллеры обладают достаточным объемом памяти для разработки собственного проекта на базе ОСРВ. Существует ряд контроллеров, у которых присутствует возможность расширить объем памяти путем добавления внешних схем энергонезависимой памяти.

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

Первое, что необходимо учитывать - это разработка ОС не только под конкретный микроконтроллер с определенной производительностью. ОСРВ должна обладать гибкими параметрами для беспроблемной смены контроллера. То есть, если ОС работает на одном конкретном контроллере и хорошо справляется с поставленными задачами, то при смене контроллера на менее производительный должна остаться такая же хорошая работа с задачами, как и на более производительном микроконтроллере. Второе - в некоторых случаях нельзя использовать тот или иной тип ОС. К примеру, на контроллерах, у которых реализован аппаратный стек, нельзя использовать вытесняющую ОС, так как такая ОС предъявляет высокие требования к памяти контроллера.

Именно на этих основах реализованы операционные системы реального времени. В настоящее время существуют более 80 различных ОС, которые поддерживают 8-, 16-, 32-разрядные микроконтроллеры. Как было сказано ранее, многие проекты ОС являются законченными релизами с ядром, менеджером ввода-вывода, системой управления выводом информации, файловую систему, работу с сетью, отладчиками и компиляторами. Стоимость таких ОС варьируется от нескольких десятков до сотен тысяч долларов США. Но также существуют некоммерческие проекты с открытым исходным кодом.

Рассмотрим основные известные операционные системы реального времени:

1. FreeRTOS

Данная система представляет собой многозадачную систему реального времени для встраиваемых систем. Ядро поддерживает подпрограммы и задачи. Сам дистрибутив включает в себя ядро и два демо, которые демонстрируют использование задач и подпрограмм. Данная ОС является легковесной кооперируемой задачей, которая задействует очень мало памяти.

Основные достоинства данной системы:

- Бесплатная

- Обладает мощным функционалом

- Портирована на большое количество контроллеров

- Хорошая документация

- Имеются различные библиотеки

Недостатки предложенного продукта:

- Довольно сложный процесс портирования на новые семейства микроконтроллеров

2. цС/OS

Данная операционная система предназначена для промышленного применения и обладает самым широким диапазоном ресурсов, от 8-битных контроллеров с 16 Кб ПЗУ и 2 Кб ОЗУ до 32-битных контроллеров. Такая система поддерживает неограниченное количество задач, приоритетов.

Основные достоинства системы:

- Огромное количество библиотек и функций

- Широкая поддержка различных видов и семейств микроконтроллеров

Недостатки предложенного продукта:

- Коммерческая

- Сложна в использовании

3. scmRTOS

Простая операционная система, которая написана на языке C++. Обладает только планировщиком и базовыми механизмами взаимодействия между процессами. В данной ОС планировщик вытесняющей

многозадачностью, то есть нельзя создать несколько равноприоритетных задач.

Основные достоинства системы:

- Очень простая система в качестве освоения

- Работает на контроллерах с малым объемом RAM - от 512 байт

- Открытый исходный код

Недостатки предложенного продукта:

- Планировщик только с вытесняющей многозадачностью

- Имеет малый набор инструментов для более удобной работы

Данный список операционных систем можно продолжать бесконечно

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

Использованные источники:

1. FreeRTOS [Электронный ресурс]: официальный сайт системы реального времени FreeRTOS. — Режим доступа: https://freertos.org/ (дата обращения: 20.12.2017)

2. Wikipedia [Электронный ресурс]: электронная свободная энциклопедия. — Режим доступа: https://ru.wikipedia.org/ (дата обращения: 20.12.2017)

УДК 338.5

Даскалеску А.А. магистрант группы 61/1 БУ научный руководитель: Лукьянова Е.Ю., к.э.н.

доцент

кафедра экономики и финансов Гуманитарно-педагогическая академия (филиал) ФГАОУ ВО «КФУ им. В. И. Вернадского»

Крым, г. Ялта ОСОБЕННОСТИ ПРИМЕНЕНИЯ ПРОГРАММНОГО КОМПЛЕКСА «ИНТАЛЕВ: КОРПОРАТИВНЫЙ МЕНЕДЖМЕНТ» В КОММЕРЧЕСКИХ ОРГАНИЗАЦИЯХ

Аннотация. В данной статье описывается вариант применения ERP и ВРМ-систем в системах с большим объемом данных и с множеством сквозных процессов. В частности, рассматриваются особенности использования программно-методического комплекса «Инталев: Корпоративный менеджмент» и особенности его функционирования в коммерческих организациях.

Ключевые слова: коммерческие организации, бизнес, автоматизированные системы, оптимизация производства, отчетность предприятия.

Dascalescu A.A. Magistracy student group 61/1 "Accounting" Academy of the Humanities and Pedagogics (branch) of V.I. Vernadsky Crimean Federal University, Yalta, Crimea

Scientific adviser: Lukyanova Ye. Yu.

Philosophy Doctor in Economic Science Docent of Economics and Finance Department Academy of the Humanities and Pedagogics (branch) of V.I. Vernadsky Crimean Federal University, Yalta, Crimea

i Надоели баннеры? Вы всегда можете отключить рекламу.