Лекция 1. Системы реального времени. Виды ОС РВ. Требования к ОС РВ
Управление автоматическими или автоматизированными комплексами, предъявляющими высокие требования к времени выполнения задач осуществляется операционными системами реального времени. Они обеспечивают гарантированное время реакции на внешние события и минимальные задержки.
Операционная система реального времени, ОС РВ (англ. Real-Time Operating System) — тип операционной системы, как правило, специального назначения. Для этого термина есть различные определения, порой противоречащие друг другу:
- ОС, в которой успешность работы любой программы зависит не только от её логической правильности, но и от времени, за которое она получила этот результат. Если система не может удовлетворить временным ограничениям, должен быть зафиксирован сбой в её работе
- Стандарт POSIX 1003.1 даёт определение: «Реальное время в операционных системах — это способность операционной системы обеспечить требуемый уровень сервиса в определённый промежуток времени»
- ОС, реагирующая в предсказуемое время на непредсказуемое появление внешних событий
- Интерактивные системы постоянной готовности. В категорию ОС РВ их относят исходя из маркетинговых соображений и если интерактивную программу называют «работающей в реальном времени», то это лишь означает, что запросы от пользователя обрабатываются с задержкой, незаметной для человека.
- Иногда понятие системы реального времени отождествляют с «быстрой системой», но это не всегда правильно, так как важно не время задержки реакции ОС РВ, а то, чтобы этого времени было достаточно для рассматриваемого приложения и оно было гарантированно.
- Во многих специализированных сферах вводят свои понятия «реального времени». Например, процесс цифровой обработки сигнала называют идущим в реальном времени, если анализ и/или генерация данных может быть произведён за то же время, что и анализ/генерация тех же данных без цифровой обработки сигнала. Например, если при обработке аудио данных требуется 2,01 секунд на анализ 2,00 секунд звука, то это не процесс реального времени. Если же требуется 1,99 секунд, то это процесс реального времени.
Для систем реального времени характерно следующее:
- гарантированное время реакции на внешние события (например на прерывания от оборудования);
- жёсткая подсистема планирования процессов (высокоприоритетные задачи не должны вытесняться низкоприоритетными, за некоторыми исключениями);
- повышенные требования к времени реакции на внешние события или реактивности (задержка вызова обработчика прерывания не более десятков микросекунд, задержка при переключении задач не более сотен микросекунд)
Классическим примером задачи, где требуется ОС РВ, является управление роботом, берущим деталь с ленты конвейера. Деталь движется и робот имеет лишь маленький промежуток времени, когда он может её взять. Если он опоздает, то деталь уже не будет на нужном участке конвейера, и следовательно, работа не будет сделана, несмотря на то, что робот находится в правильном месте. Если он спозиционируется раньше, то деталь ещё не успеет подъехать, и он заблокирует ей путь.
Виды ОС РВ
Динамические свойства программ реального времени принято характеризовать тремя определениями: программы «жесткого» (hard), «мягкого» (soft) и интерактивного («условного») реального времени.
Жесткое реальное время. Предусматривает наличие гарантированного времени отклика системы на конкретное событие, например, аппаратное прерывание, выдачу команды управления и т.п. Абсолютная величина времени отклика большого значения не имеет. Так, если необходимо, чтобы программа отработала некоторую команду за 1 миллисекунду, но она справляется с этим заданием лишь в 95% случаев, а в 5% не укладывается в норматив, такую систему нельзя охарактеризовать как работающую в жестком реальном времени. Если же команду нужно отработать в течение часа, что и происходит в 100% случаев – налицо жесткое реальное время.
В большинстве русскоязычной литературы такие системы называют системами с детерминированным временем. При практическом применении время реакции должно быть минимальным.
Мягкое реальное время. В этом случае ожидающееся время отклика системы является величиной скорее индикативной, нежели директивной. Конечно, предполагается что в большинстве случаев (процентов 80 — 90) отклик уложится в заданные пределы. Однако и остальные варианты – в том числе полное отсутствие реакции системы – не должны приводить к плачевным результатам. Обычно считается, что если временной норматив превышен на один порядок, то это еще терпимо .
Интерактивное реальное время. Является скорее психологической, нежели технической характеристикой. Определяет время, в течение которого оператор – человек – способен спокойно, без нервозности, ожидать реакции системы на данные им указания. В качестве примера можно привести весьма популярные сегодня игры из категории «стратегии реального времени» (real-time strategy, см. например квазар на основе Warhammer).
В системах реального времени необходимо введение некоторого директивного срока (в англоязычной литературе – deadline), до истечения которого задача должна обязательно (для систем мягкого реального времени – желательно) выполниться. Этот директивный срок используется планировщиком задач как для назначения приоритета задачи при ее запуске, так и при выборе задачи на выполнение.
Зачастую под СРВ безусловно понимают встроенные операционные системы, на деле же, существует различие между системами реального времени и встроенными системами. От встроенной системы не всегда требуется, чтобы она имела предсказуемое поведение, и в таком случае она не является системой реального времени. Однако даже беглый взгляд на возможные встроенные системы позволяет утверждать, что большинство встроенных систем нуждается в предсказуемом поведении, по крайней мере, для некоторой функциональности, и таким образом, эти системы можно отнести к системам реального времени.
Основные требования к ОС РВ
Мартин Тиммерман (директор компании-разработчика встраиваимых систем Dedicated Systems Experts) сформулировал следующие необходимые требования для ОС РВ:
- ОС должна быть многозадачной и допускающей вытеснение (preemptable),
- ОС должна обладать понятием приоритета для потоков,
- ОС должна поддерживать предсказуемые механизмы синхронизации,
- ОС должна обеспечивать механизм наследования приоритетов,
- поведение ОС должно быть известным и предсказуемым (задержки обработки прерываний, задержки переключения задач, задержки драйверов и т.д.); это значит, что во всех сценариях рабочей нагрузки системы должно быть определено максимальное время отклика.
Особенности архитектуры ОС РВ
В течение последних 25-30 лет структура операционных систем эволюционировала от монолитной к многослойной структуре ОС и далее к архитектуре клиент-сервер. Эти решения в той или иной степени нашли применение и при разработке операционных систем реального времени.
Монолитная архитектура представляет систему, состоящую из набора взаимодействующих модулей. Приложения обращаются к системе через API модулей. Изменения одного модуля влияют на другие модули. Чем больше модулей, чем сложнее они связаны между собой, тем тем менее предсказуемо поведение такой системы в процессе эксплуатации. Кроме того, возникают трудности для использования ОС такого типа в распределенной многопроцессорной системе.

Рис.1. Монолитная архитектура ОС РВ
Многослойная архитектура описывает систему, состоящую из нескольких функциональных уровней. Приложение может обращаться к аппаратным ресурсам как через системные вызовы ядра и системные службы, так и через API уровней. Вообще-то, возможность обращения к нижележащим слоям минуя верхние уровни семантически неверно, но для систем реального времени такая организация позволяет увеличить предсказуемость системы и снизить время отклика. Недостатком многослойной архитектуры является то, что изменения одного слоя влияют на соседние слои. Еще один недостаток, свойственный многослойной архитектуре – отсутствие многозадачности. Однако, далеко не всегда и не всем системам реального времени требуется поддержка многозадачности. Например, сложно обосновать необходимость многозадачного режима для встроенной ОС промышленного робота, подающего детали на конвейер.

Рис.2. Многослойная архитектура ОС РВ
Клиент-серверная архитектура ОС основана на минимизации количества функций, выполняемых ядром (точнее, микроядром) такой системы. Например, на уровне ядра выполняются только планировщик, примитивы синхронизации и служба сообщений. Вся остальная функциональность выносится на пользовательский уровень и реализуется через серверы. Приложения-клиенты обращаются к ним и получают от них ответы путем обмена сообщениям через службу сообщений уровня ядра.

Рис.3 Клиент-серверная архитектура ОС РВ
Клиент-серверная архитектура позволяет создавать масштабируемые ОС и упрощает распределение в многопроцессорной системе. При эксплуатации системы замена одного модуля не вызывает эффекта “снежного кома”; кроме того, сбой модуля не всегда влечет за собой отказ системы в целом. Появилась возможность динамической загрузки и выгрузки модулей. Главной проблемой в этой модели является защита памяти, поскольку серверные процессы должны быть защищены. При каждом запросе сервиса система должна переключаться с контекста приложения на контекст сервера. При поддержке защиты памяти время переключения с одного процесса на другой увеличивается.
Контрольные вопросы
- Дайте определение операционной системы реального времени
- Что такое deadline?
- В чем отличие «жесткого» реального времени от «мягкого»
- Сформулируйте основные требования к ОС РВ
- Укажите основные отличия в требованиях к ОС РВ от универсальных ОС
- Опишите модульную архитектуру
- Опишите многослойную архитектуру
- Опишите клиент-серверную архитектуру
Системы реального времени. Виды ОС РВ. Требования к ОС РВ
Soft Real-Time в Windows IoT Корпоративная
Windows 10 в режиме мягкого реального времени — это новая функция с Windows 10 IoT Корпоративная версии 21H2, которая позволяет разработчикам устройств внедрять на своих устройствах возможности мягкого реального времени.
Это поведение в режиме реального времени представлено с помощью 4 основных параметров:
- Изоляция ЦП: переносит нарушения системного уровня с изолированных ЦП, уменьшая потенциальную дрожь в приложении пользователя в режиме реального времени.
- Настраиваемое закрепление ISR/DPC на изолированных ЦП. Все аппаратные прерывания направляются в ядра системы и ядра, не относящиеся к реальному времени, но путем написания пользовательского драйвера ISR/DPC можно направлять прерывания устройства в ядра в режиме реального времени.
- Наследование приоритета для мьютексов. Этот параметр гарантирует выполнение потока с наивысшим приоритетом даже в сложных многопоточных сценариях.
- До 16 уровней приоритета потоков RT. Это позволяет программисту распределять ресурсы между задачами в режиме реального времени, чтобы обеспечить выполнение наиболее важных из них в первую очередь.
Что такое Real-Time операционная система?
При запуске программы обычная операционная система дает детерминированные результаты, но позволяет недетерминированное время для выполнения задачи. В операционной системе реального времени как результаты выполнения программы, так и время, затраченное на получение этих результатов, являются (по крайней мере частично) детерминированными.
Hard Real-Time vs. Soft Real-Time
Сложная операционная система в режиме реального времени — это система, в которой затраченное время детерминировано на определенный момент. Эти операционные системы развертываются в случаях использования, когда сбой вовремя получить результаты означает общий сбой системы. Примеры включают микро-контроллеры в двигателе автомобиля или самолете, принтеры, лазерные резцы и т. д. Примером такой ОС является ОС Azure Real-Time.
Операционная система с мягким режимом реального времени — это система, в которой есть небольшое окно времени для завершения программы, а не точный момент из-за немного нервозности от операционной системы. Системы мягкого реального времени, хотя и менее точные, могут работать на нескольких ядрах и накладывать меньше ограничений на приложения. Это тип производительности в режиме реального времени, который можно ожидать от Windows 10 IoT Корпоративная после использования этого руководства.
Когда требуется производительность Real-Time?
Производительность в режиме реального времени не обязательно выше. Это просто прогнозируемая производительность. Если вы хотите повысить общую производительность системы, мягкий режим реального времени может быть не лучшим способом для ее достижения. Тем не менее, если у вас есть реальные ограничения (например, вычисление, которое должно быть выполнено до изменения среды робота или двигатель, который должен быть активирован до перемещения конвейерной ленты), то мягкий режим реального времени может быть тем, что вам нужно.
Устройства с мягким режимом реального времени чаще используются в более широком цикле управления для активации поведения с конечного автомата. Небольшие жесткие циклы управления в режиме реального времени располагаются в более широком цикле и работают на независимых микроконтроллерах до тех пор, пока компьютер мягкого режима реального времени не предоставит входные данные для изменения их поведения. Многие циклы управления и команд имеют напряженные требования к циклу и требуют использования жесткого устройства в режиме реального времени в цикле для прямого управления.
ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ Текст научной статьи по специальности «Математика»
Статья посвящена обзору операционных систем реального времени, применимых на микроконтроллерах . Будут рассмотрены основные понятия, методы работы и организации представленных ОС, также уделено особое внимание обобщенной структуры системы.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Похожие темы научных работ по математике , автор научной работы — Данченко Д.Г.
ОБЗОР МОДЕЛЕЙ ОРГАНИЗАЦИИ ВСТРАИВАЕМОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ МЕДИЦИНСКОГО ОБОРУДОВАНИЯ С АВТОНОМНЫМ ПИТАНИЕМ
Реализация операционной системы для микроконтроллеров AVR ATmega32
FreeRTOS — операционная система для микроконтроллеров
FreeRTOS — операционная система для микроконтроллеров
FreeRTOS — операционная система для микроконтроллеров
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 с.
Данченко Д.Г. студент магистратуры 2 курса факультет «Физико-математический» ФГБОУ ВО «Брянский государственный университет имени
академика И.Г. Петровского» Россия, г. Брянск ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ
Статья посвящена обзору операционных систем реального времени, применимых на микроконтроллерах. Будут рассмотрены основные понятия, методы работы и организации представленных ОС, также уделено особое внимание обобщенной структуры системы.
Ключевые слова: операционная система реального времени, ОСРВ, микроконтроллер, STM32, FreeRTOS, многозадачность.
Danchenko, D. G. graduate student 2 course, faculty «physics and mathematics » «Bryansk state University named after academician I. G. Petrovsky»
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.
Key words: operating system, real time, RTOS, microcontroller, STM32, FreeRTOS, multitasking.
В рамках современного автоматизированного производства требуется решение одновременно нескольких задач силами одного контроллера. К примеру, к таким задачам можно отнести управление различными объектами (частотными преобразователями, двигателями и т.д.), получение и обработка информации от различных внешних датчиков (температуры, опрос датчика давления в системе и т.д.), вывод информации на панель диспетчера и т.д. Как правило выполнение одновременно всех данных действий предъявляет к микроконтроллеру высокие требования производительности. Но можно разбить данные задачи по приоритету. Например, управление объектами и опрос внешних датчиков очень критичны к скорости обмена данных, вывод информации на панель диспетчера менее требовательна к скорости. Поэтому панель имеет более низкий приоритет по отношению к датчикам и объектам.
Существуют так называемые операционные системы реального времени, которые обеспечивают многозадачность всей системы управления при помощи различных внутренних сервисов, предоставляемых ядром контроллера. Данная система заметно упрощает разработку систем управления и организует более рациональное использование ресурсов микроконтроллера.
Благодаря большому разнообразию микроконтроллеров и их архитектуры, были разработаны различные версии систем реального времени. В силу личных убеждений авторов данных систем, существуют как полностью бесплатные варианты, так и платные. Но для начала рассмотрим общую концепцию работы систем реального времени.
Операционная система реального времени (ОСРВ, англ. real-time operating system, RTOS) — тип операционной системы, основное назначение которой — предоставление необходимого и достаточного набора функций для работы систем реального времени на конкретном аппаратном оборудовании.
Суть работы такой операционной системы состоит в том, чтобы вся программа была разбита на множества задач, каждая из которых будет отвечать лишь за свою часть работы. Такую задачу в ОСРВ можно рассматривать как подпрограмму всей программы, которая содержит в себе независимый алгоритм. К каждой такой задаче назначается свой приоритет, собственная область стека, набор регистров ЦПУ.
Любая задача может находиться в одном из 4 состояний:
Состояние «Ожидает события». Для выполнения программы необходимо выполнение какого-либо события (завершения операции ввода-вывода, истечение заданного времени, доступность ресурса).
Состояние «Выполняется. Задача запущена и использует ресурсы
Состояние «Готова». Задача может выполняться, но ее приоритет меньше приоритета уже выполняемой на данный момент задачи.
Состояние «Прервана». Задача была прервана и ЦПУ находится в процессе обработки.
Существуют два вида приоритета задач: статический и динамический. Статический приоритет назначается в самой программе и при компиляции такой задачи приоритет приобретает фиксированное значение. В отличии от статического приоритета, динамический может меня свой приоритет во время работы общей программы. Каждая задача может изменять свой приоритет во время выполнения.
Так как каждой задаче выделяется область памяти, так называемый стек, то при выполнении задачи ядро сохраняет контекст данной задачи. Это необходимо для быстрого переключения между различными задачами. Механизм переключения задач довольно прост: контекст новой задачи восстанавливается из соответствующей области памяти и возобновляется выполнение кода новой, более приоритетной задачи. Время, которое необходимо для переключения контекста, определяется числом регистров, необходимые для сохранения и восстановления ЦПУ.
Основой всей операционной системы является ядро. Ядро отвечает непосредственно за управление многозадачностью (иными словами за управление временем ЦПУ) и связью между задачами. Основная роль ядра -переключение контекста. Как было сказано выше, использование ОСРВ позволяет упростить проект путем разбиения всей программы на индивидуальные подпрограммы со своим алгоритмом. Именно ядро ОСРВ отвечает за лучшую оптимизацию ЦПУ под заданные задачи в лице написанных программ.
Также в состав ядра входит планировщик (или так называемый диспетчер), который отвечает за очередность следования задач. Как правило, большинство ядер ОСРВ являются приоритетными. К каждой поставленной задаче присваивается приоритет на основе ее важности во всей программе. В таком ядре управление ЦПУ будет всегда отдаваться более приоритетной готовой задаче. На этой основе выделяют два типа ядер, которые основаны на приоритете: неприоритетные и приоритетные.
В основу неприоритетного ядра входит такая задача, чтобы данная задача точно передала управление ЦПУ. Такие задачи взаимосвязаны друг с другом для совместного использования ресурсов микроконтроллера. Также существуют асинхронные события, которые обрабатываются подпрограммами прерываний. Такая подпрограмма может выполнить более
приоритетную задачу, но при этом она всегда вернется к первичной задачи.
гжопрч юригаиш ■мщачя
Подпрограмма прсры ваш и
Подпр о грамма прермван! м делает высокогр Iор!ггетную
‘ЯЭДЛчу ГОТОВОЙ К ВЫПОЛНЕН ]Ю
ВыСОКОПр! ЮрЦГеТНая чадачл
Ннзксщиюр петая задача передает чпра в лет к
цемтриш.ным процессором »ысокоцяюр! гтешоп задаче
Рисунок 1. График неприоритетного ядра
На рисунке 1 показан алгоритм работы неприоритетного ядра: во время выполнения низкоприоритетной задачи (1) происходит прерывание (2). Подпрограмма прерывания обрабатывает событие (3) и делает высокоприоритетную задачу готовой к исполнению. После окончания подпрограммы прерывания выполняется задача возврата из прерывания (4). Затем начинает выполняться прерванная задача (5). После выполнения задачи (5), вызывается сервис ядра для передачи управления ЦПУ другой высокоприоритетной задачи. Итог является выполнение задачи (7).
Но у данного ядра существует явный недостаток — это реакция на событие. Высокоприоритетная задача, которая уже готова к выполнению, может находиться в ожидании большое количество времени. Это связано с тем, что текущая задача передаст управление ЦПУ только тогда, когда она будет готова это сделать. В таком ядре невозможно узнать, когда именно высокоприоритетная задача получит управление контроллером.
В отличии от неприоритетного ядра, приоритетное же используется тогда, когда важна реакция системы на событие (рис.2).
Подпрограмм цмрывшыя делает высокого юр] цедоую задачу готовой к выпотенпю
Рисунок 2. График приоритетного ядра
Самая высокоприоритетная задача, готовая к выполнению, всегда получает управление контроллером. При выполнении такой задачи, текущая задача выгружается и высокопроизводительной задаче немедленно передается управление. В таком ядре всегда можно определить выполнение задачи и при использовании такого ядра минимизируется время ответа задачи.
Таким образом можно сделать вывод, что ОС с приоритетным ядром способна обеспечить более быструю реакцию на событие.
Теперь необходимо определить минимальные требования к микроконтроллерам для работы операционной системы реального времени. Первое, к чему необходимо обратить внимание, это объем ПЗУ для ядра системы. В зависимости от задач, архитектуры, функциональности ядра, размер занимаемого пространства варьируется от 1 до 100 Кб. К примеру, ядро 8-битного микроконтроллера, которое производить только планирование задач, переключение контекста, управление задержками и тайм-аутами, занимает около 1-3 Кб.
Так как задачи выполняются независимо друг от друга, то каждая задача должна обладать собственной областью стека (ОЗУ). Перед разработчиком стоит задача в определении требований к стеку для каждой задачи в программе. Размер стека не должен рассчитываться только исходя из требований задач, а должен также рассчитываться на максимальное число вложений прерываний. В зависимости от применяемого микроконтроллера и ядра, может использоваться отдельный стек для обработки всего кода уровня прерывания. Данная рекомендация необходима, так как требования к стеку для каждой задачи может быть существенно уменьшены.
Еще одна желательная особенность — способность определить размер стека индивидуально для каждой отдельной задачи. Так как некоторые требуют, чтобы стеки всех задач были одинаковыми по размеру. Абсолютно
все ядра требуют дополнительный объем ОЗУ для содержания структур, внутренних переменных, очередей и т.д. Если контроллер не имеет большого количества оперативной памяти, то разработчик должен быть очень внимательным при использовании стека.
Таким образом можно заключить, что многозадачная система требует большого количества пространства для кода (ПЗУ) и пространства для данных (ОЗУ). Непосредственно количество дополнительного объема постоянной памяти зависит от размера ядра системы, а количество оперативной памяти зависит лишь от числа поставленных задач в разрабатываемой системе. Но, как правило, современные микроконтроллеры обладают достаточным объемом памяти для разработки собственного проекта на базе ОСРВ. Существует ряд контроллеров, у которых присутствует возможность расширить объем памяти путем добавления внешних схем энергонезависимой памяти.
Основываясь на вышесказанном, можно выделить особенности построения операционных систем реального времени. Для этого введем такое понятие как функционирование в реальном времени — это способность ОС обеспечить задачу всеми необходимыми ресурсами за определенный период времени. Так как строение ОСРВ довольно сложна, то существуют различные нюансы, которые стоит соблюдать при разработке ОС для микроконтроллеров.
Первое, что необходимо учитывать — это разработка ОС не только под конкретный микроконтроллер с определенной производительностью. ОСРВ должна обладать гибкими параметрами для беспроблемной смены контроллера. То есть, если ОС работает на одном конкретном контроллере и хорошо справляется с поставленными задачами, то при смене контроллера на менее производительный должна остаться такая же хорошая работа с задачами, как и на более производительном микроконтроллере. Второе — в некоторых случаях нельзя использовать тот или иной тип ОС. К примеру, на контроллерах, у которых реализован аппаратный стек, нельзя использовать вытесняющую ОС, так как такая ОС предъявляет высокие требования к памяти контроллера.
Именно на этих основах реализованы операционные системы реального времени. В настоящее время существуют более 80 различных ОС, которые поддерживают 8-, 16-, 32-разрядные микроконтроллеры. Как было сказано ранее, многие проекты ОС являются законченными релизами с ядром, менеджером ввода-вывода, системой управления выводом информации, файловую систему, работу с сетью, отладчиками и компиляторами. Стоимость таких ОС варьируется от нескольких десятков до сотен тысяч долларов США. Но также существуют некоммерческие проекты с открытым исходным кодом.
Рассмотрим основные известные операционные системы реального времени:
Данная система представляет собой многозадачную систему реального времени для встраиваемых систем. Ядро поддерживает подпрограммы и задачи. Сам дистрибутив включает в себя ядро и два демо, которые демонстрируют использование задач и подпрограмм. Данная ОС является легковесной кооперируемой задачей, которая задействует очень мало памяти.
Основные достоинства данной системы:
— Обладает мощным функционалом
— Портирована на большое количество контроллеров
— Имеются различные библиотеки
Недостатки предложенного продукта:
— Довольно сложный процесс портирования на новые семейства микроконтроллеров
Данная операционная система предназначена для промышленного применения и обладает самым широким диапазоном ресурсов, от 8-битных контроллеров с 16 Кб ПЗУ и 2 Кб ОЗУ до 32-битных контроллеров. Такая система поддерживает неограниченное количество задач, приоритетов.
Основные достоинства системы:
— Огромное количество библиотек и функций
— Широкая поддержка различных видов и семейств микроконтроллеров
Недостатки предложенного продукта:
— Сложна в использовании
Простая операционная система, которая написана на языке C++. Обладает только планировщиком и базовыми механизмами взаимодействия между процессами. В данной ОС планировщик вытесняющей
многозадачностью, то есть нельзя создать несколько равноприоритетных задач.
Основные достоинства системы:
— Очень простая система в качестве освоения
— Работает на контроллерах с малым объемом RAM — от 512 байт
— Открытый исходный код
Недостатки предложенного продукта:
— Планировщик только с вытесняющей многозадачностью
— Имеет малый набор инструментов для более удобной работы
Данный список операционных систем можно продолжать бесконечно
долго. Каждый человек, который занимается программированием микроконтроллеров под определенные задачи автоматизации, способен
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
разработать свою операционную систему реального времени конкретно под свои задачи и после этого, при желании, поделиться своими идеями со всем миром. Но основная структура всех систем реального времени, будь то коммерческий проект или проект с открытым исходным кодом, абсолютно одинакова и подчиняются общепринятым правилам.
1. FreeRTOS [Электронный ресурс]: официальный сайт системы реального времени FreeRTOS. — Режим доступа: https://freertos.org/ (дата обращения: 20.12.2017)
2. Wikipedia [Электронный ресурс]: электронная свободная энциклопедия. — Режим доступа: https://ru.wikipedia.org/ (дата обращения: 20.12.2017)
Даскалеску А.А. магистрант группы 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
Операционная система реального времени (RTOS): эффективное управление в мире мгновенной реакции
Операционные системы реального времени (RTOS) становятся неотъемлемым инструментом для эффективного управления процессами, требующими немедленной обработки и мгновенной реакции. Эта операционная система обеспечивает надежную и предсказуемую работу в решениях, где промедление или сбой могут иметь критические последствия.
Что такое операционная система реального времени (RTOS)?
Операционная система реального времени (RTOS) – это специальная разновидность архитектуры, предназначенная для обработки задач в режиме настоящего, гарантированного тайминга. Она разрабатывается с учетом требований по работе в строго заданное время, а также гарантирует предсказуемость выполнения операций и обработки событий.
Эта операционка обладает особенностями, которые делают ее подходящей для широкого спектра приложений, включая автомобили, медицинское оборудование, промышленные контроллеры, аэрокосмическую, военную технику. Там, где нужны тяжелые и быстрые вычисления.
Принципы работы
Операционная система реального времени функционирует по основным принципам:
- Многозадачность: обеспечивает выполнение нескольких задач (иначе “потоки” или”процессы”) параллельно. Каждая операция имеет свой собственный контекст выполнения и время, выделенное для ее выполнения. RTOS эффективно распределяет вычислительные ресурсы между процессами, обеспечивая их конкурентное выполнение.
- Управление процессорными задачами: имеет механизмы управления таймингами, который позволяет задавать приоритеты, устанавливать ограничения и гарантировать, что потоки выполняются корректно.
- Обработка событий: обеспечивает эффективную работы с событиями, позволяя программам реагировать на воздействия в настоящем режиме. События программируются на вызов внешними датчиками, коммуникационными интерфейсами. РТОС позволяет определить приоритеты событий и устанавливать механизмы.
Особенности и преимущества
У технологии есть преимущества и особенности:
- Предсказуемость: гарантирует предсказуемость таймингов, что позволяет точно оценить и управлять временными ограничениями приложений. Это особенно важно в критических приложениях, где задержка непозволительна.
- Эффективное использование ресурсов: эффективно распределяет вычислительные ресурсы между задачами. Это помогает оптимизировать использование процессора, памяти, других комплектующих. Это обеспечивает высокую производительность и отзывчивость.
- Открытый интерфейс: РТОС предоставляет разработчикам открытый интерфейс для разработки приложений. Это позволяет создавать гибкие и масштабируемые решения, интегрировать различные компоненты и упрощает процесс разработки и отладки приложений.
Примеры ОС
Есть RTOS, разработанные для различных платформ и архитектур. Популярные:
- FreeRTOS: бесплатная и открытая, которая широко используется во многих встроенных системах и микроконтроллерах.
- QNX: мощная и надежная, которая часто применяется в автомобильной промышленности.
- VxWorks: коммерческая, предназначенная для широкого спектра приложений, включая аэрокосмическую и оборонную промышленность.
- uC/OS: легковесная с открытым исходным кодом, предназначенная для ограниченных ресурсов, интегрированных решений.
Заключение
Операционные системы реального времени (RTOS) играют ключевую роль в решениях, где требуется мгновенная реакция на события. Они обеспечивают эффективное управление задачами, предсказуемый ход выполнения и обработку событий в режиме “здесь и сейчас”.