- Що таке RTOS?
- Чому RTOS ??
- Різниця між операційною системою реального часу та операційною системою
- Типи RTOS
- Переваги використання безкоштовного RTOS
- Деякі основні проблеми, пов'язані з RTOS
- Як користуватися RTOS
Вбудовані системи мають широкий спектр застосування у всіх електронних пристроях навколо нас, наочний приклад - міні-ноутбук, який ми постійно носимо з собою, так, я маю на увазі наші мобільні телефони.
Щоразу, коли вбудована система з’являється в уяві, це завжди поєднання апаратних засобів, таких як мікроконтролери або мікропроцесори, та програмного забезпечення, таких як прошивка або операційна система. Операційна система становить основу всіх електронних пристроїв і управляє як апаратним і програмним забезпеченням в рамках будь-якого електронного пристрою. Термін операційна система не тільки обмежується Unix та Windows для комп'ютерів, але може поширюватися і на мікроконтролери. Однією з таких операційних систем, яка може працювати на мікроконтролерах, називається операційна система реального часу. Тут ми дізнаємося про RTOS та додатки операційної системи реального часу.
Що таке RTOS?
Операційна система реального часу, відома як RTOS, забезпечує контролеру можливість реагувати на введення та виконувати завдання протягом певного періоду часу на основі пріоритету. На перший погляд, RTOS може звучати як будь-яка інша вбудована програма або прошивка, але він побудований на архітектурі операційної системи. Отже, як і будь-яка операційна система RTOS може дозволяти виконувати декілька програм одночасно, підтримуючи мультиплексування. Як ми знаємо, ядро процесора або контролера може виконувати лише одну інструкцію за раз, але RTOS має щось, що називається планувальникомякий вирішує, яку інструкцію виконувати першою, і таким чином виконує інструкції декількох програм одна за одною. Технічно RTOS створює ілюзію багаторазовості, виконуючи паралельні інструкції по черзі.
Це робить RTOS придатним для різних додатків у реальному світі. У RTOS для будь-якого вводу, коли обчислюється логіка, яка дає відповідний результат. Ця логіка вимірюється на основі не тільки логічної творчості, але й тривалості часу, протягом якого було виконано конкретне завдання. Якщо система не виконує завдання за той конкретний час, це називається відмовою системи.
Чому RTOS ??
- Наявність драйверів: У системі RTOS доступно багато драйверів, що дозволяє нам використовувати їх безпосередньо для різних додатків.
- Заплановані файли: RTOS піклується про планування, тому замість того, щоб зосередитися на плануванні будь-якої системи, ми можемо просто зосередитись на розробці програми. Наприклад, файли планування завдань використовуються для визначення певних дій, коли виконується набір умов. RTOS використовує певні вдосконалені алгоритми для планування, як правило, запущених, готових та заблокованих станів, які під час запуску RTOS більше зосереджуються на розробці додатків, а не на плануванні.
- Гнучкість додавання функцій: всередині RTOS, навіть якщо ви готові додати нові функції, ви можете просто додати її, не порушуючи існуючі функції
Різниця між операційною системою реального часу та операційною системою
Існують різні відмінності між операційною системою реального часу та такими операційними системами, як Windows, Linux тощо. Давайте розглянемо їх по черзі за допомогою табличного формату:
С.Ні | Операційна система | Система реального часу |
1 | Спільне використання часу є основою виконання процесів в операційній системі | Процеси виконуються на основі порядку їх пріоритетності |
2 | Операційна система діє як інтерфейс між апаратним та програмним забезпеченням системи | Система реального часу призначена для її виконання для реальних проблем |
3 | Керування пам'яттю не є критичною проблемою, коли справа стосується виконання операційної системи | Управління пам'яттю важке, оскільки на основі випуску пам'яті в реальному часі виділяється пам'ять, що саме по собі є критичним |
4 | Застосування: Офіс, Центри обробки даних, Система для дому тощо | Застосування: Управління літаком або ядерним реактором, обладнання для наукових досліджень |
5 | Приклади: Microsoft Windows, Linux, OS | Приклади: Vx Works, QNX, Windows CE |
Типи RTOS
Ми можемо класифікувати операційну систему реального часу в основному на три частини
- Жорстка операційна система в режимі реального часу
- М'яка операційна система реального часу
- Фірма операційної системи в режимі реального часу
1. Жорстка операційна система реального часу
Почнемо розуміти цей тип операційної системи на прикладі, реальним прикладом цього є система управління польотом. У системі управління польотом будь-які завдання, які ставить пілот у формі введення, повинні виконуватися вчасно. У жорсткій операційній системі реального часу можна допустити збої системи. Особливості жорстких RTOS:
- Щоб виконувати завдання вчасно
- Недотримання терміну є фатальним
- Гарантований гірший час реагування на випадки
- Може призвести до збою системи
2. М'яка операційна система реального часу
Найпростіший приклад використання м'яких RTOS - це онлайн-база даних, оскільки в рамках м'якої RTOS параметром, який нас більше турбує, є швидкість. Отже, особливостями м'яких RTOS є:
- Завдання слід виконувати якомога швидше
- Пізнє виконання завдань є небажаним, але не фатальним
- Існує можливість погіршення продуктивності
- Не може призвести до збою системи
3. Фірма операційної системи в режимі реального часу
Робот-рука, який використовується для вибору об'єктів, можна вважати одним із прикладів фірми RTOS. Тут всередині цієї фірми RTOS, навіть якщо процес затягується, це терпиться.
Переваги використання безкоштовного RTOS
Нижче наведено переваги використання RTOS у ваших програмах.
- Немає проблем із брандмауером
- Низька пропускна здатність для підвищення продуктивності
- Покращена безпека та конфіденційність
- Невисока вартість завдяки зменшенню апаратних та програмних компонентів, що використовуються для розробки
Деякі основні проблеми, пов'язані з RTOS
Зараз, незважаючи на те, що RTOS має багато переваг у реальному світі, він також має різні недоліки. Тут обговорюються деякі питання, пов’язані з цим.
- Зазвичай переривання використовуються в програмах для зупинки виконуваної програми для перенаправлення потоку на якусь іншу важливу частину коду. Тут, у межах RTOS, оскільки потрібен швидкий час реакції; рекомендується відключати переривання на мінімально можливий час.
- Оскільки ядро також має реагувати на різні події, він повинен мати менший розмір ядра, щоб воно могло належним чином поміститися в ПЗ
- Складні функції RTOS слід видалити, оскільки в ньому немає поняття як такої віртуальної пам'яті.
Як користуватися RTOS
Тепер, коли ви знаєте, що таке RTOS і де ви можете його використовувати, для початку роботи з RTOS вам зазвичай потрібно використовувати Tornado або середовище розробки FreeRTOS. Давайте коротко розглянемо обидва ці середовища розвитку.
Торнадо - VxWorks
Tornado - це інтегроване середовище для розробки вбудованих RTOS- додатків у реальному часі в цільовій системі. Торнадо складається з трьох основних елементів, які перелічені нижче.
1) VxWorks
2) Інструменти побудови додатків (компілятор та супутні програми)
3) Інтегроване середовище розробки, яке може керувати, налагоджувати та контролювати додаток VxWorks
VxWorks - це мережева операційна система реального часу. Для початку з VxWorks нам слід мати один комплект розробки (цільовий) разом з однією робочою станцією. Тут набір розробок - це не що інше, як цільовий хост або компонент, який взаємодіє з цільовим сервером на робочій станції. Ціль тут з'єднує інструменти торнадо, такі як оболонка та налагоджувач. Тому, використовуючи VxWorks, ми будемо налаштовувати та будувати системи, тоді як Tornado надає нам графічний інтерфейс користувача та інструменти командного рядка для конфігурації та побудови.
Дуже важливим моментом, який тут з’являється, є те, що під час встановлення торнадо у вашій системі каталог установки повинен використовувати імена шляхів як:
installDir / target. Наприклад, якщо ви хочете зберегти свій торнадо в C: \ tornado на хості Windows, повне ім'я шляху має бути вказано в такому випадку як installDir / target / h / vxworks.h.
Тут ми не будемо детально обговорювати особливості робіт Vx (ми залишимо це для наступного уроку), але обговоримо, як розробку можна здійснити за допомогою C ++ у Vxworks за допомогою WindRiver GNU. WindRiver GNU допомагає нам у графічному аналізі переривань, що виникають під час виконання, а також звіту про використання пам'яті.
Наприклад, вищезазначений вигляд WindRiver пояснює пов'язаний номер процесора разом із пріоритетом завдань (tLowPri & tHighPri). Неактивний стан, тобто зелена кольорова лінія вказує період часу, протягом якого процесор не перебуває у робочому стані, який спостерігається через кожні кілька секунд. t1, t7, t8 & t9 - це не що інше, як різні використовувані процесори. Тут ми вибираємо лише процесор t7.
Отже, цей Windriver здатний викликати як підпрограми VxWorks, так і модулі прикладних програм. Ви можете запустити програму Windriver або на панелі інструментів запуску торнадо (-> кнопка i) пізніше клацніть на меню, а потім клацніть на оболонці. Нарешті, з командного рядка введіть “> windsh target server”.
Тепер для програмування на C ++ важливо включити компонент INCLUDE_CPLUS_DEMANGLER, цей компонент деманглера дозволяє цільовим символам оболонки повертати зручні для читання форми імен символів C ++. Перш ніж завантажувати модуль C ++ у ціль Vxworks, виконайте процес, відомий як обгортання. Тут обгортання відноситься до додаткового етапу обробки хоста.
Скомпілюйте вихідну програму програми C ++ і отримайте, наприклад, файл hello.cpp. Пізніше запустіть його, щоб погризти.o та скомпілювати згенерований файл ctdt.c. Далі, зв’яжіть програму з ctdt.o, щоб сформувати завантажуваний модуль hello.out у VxWorks. Результатом роботи після запуску цього VxWorks буде файл make, який буде використовуватися для певної цілі.
Безкоштовні RTOS
Як правило, коли ми починаємо з RTOS, ми зазвичай віддаємо перевагу RTX Vx Works. Але тут давайте коротко обговоримо безкоштовний RTOS, який також може бути використаний початківцями для перегляду концепції операційної системи реального часу. Безкоштовний RTOS розроблений Річардом Баррі та командою FreeRTOS, а також він належить інженерам реального часу, але він безкоштовний у використанні і може бути просто завантажений, натиснувши посилання нижче
Завантажте безкоштовно ROTS
Остання версія безкоштовного RTOS, який використовувався на момент цієї статті, - це версія 10, яка називається FreeRTOS V10.
Найбільшою перевагою безкоштовного RTOS, що робить його чудовим з точки зору інших RTOS, є його незалежна поведінка від платформи з точки зору обладнання, тобто код c, який ми будемо використовувати для запуску операційної системи, може працювати на різних платформах з різною архітектурою. Тому незалежно від того, використовуєте ви мікроконтролер 8051 або якийсь найновіший мікроконтролер ARM, код, який ви написали разом із процесом виконання, буде подібним для обох.
Існує безліч інших переваг використання безкоштовних RTOS у порівнянні з Vx та інших робочих засобів RTOS. Деякі з них можна вказати як:
- Забезпечує легше тестування
- Пропагує концепцію багаторазового використання коду
- Менший час простою
- Легка ремонтопридатність
- Анотація інформації про час
Крім того, основне ядро, де ядро відноситься до центрального компонента операційної системи, який присутній у безкоштовній RTOS, робить його доступним для використання для різних додатків. Оскільки легко приєднати розширені модулі до операційних систем, щоб отримати більше додатків, безкоштовні RTOS стають потужнішими.
Один із прикладів використання безкоштовних RTOS можна пояснити, використовуючи концепцію поєднання безкоштовних RTOS з Nabto. Nabto - це безкоштовний веб-пристрій, який використовується для передачі інформації з пристрою у браузер.
Тому при поєднанні безкоштовного RTOS з Nabto це робить невеликий фрагмент коду С, як пояснено на малюнку а. Зараз Інтернет речей (IOT) у тренді, і кожен пристрій IOT, до якого ми будемо отримувати доступ, має унікальну URL-адресу через Інтернет, а технологія забезпечує безпечне та надзвичайно низьку пропускну здатність від точки до точки. За відсутності підключення до Інтернету ця комбінація може бути корисною. Тому безкоштовний RTOS є популярним вибором, коли справа доходить до впровадження IOT.