- Какво е 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 и др. Нека ги разгледаме една по една с помощта на табличен формат:
S.No | Операционна система | Система в реално време |
1 | Споделянето на времето е основата за изпълнение на процеси в операционната система | Процесите се изпълняват въз основа на реда на техния приоритет |
2 | Операционната система действа като интерфейс между хардуера и софтуера на системата | Системата в реално време е проектирана така, че да се изпълнява за реалните проблеми |
3 | Управлението на паметта не е критичен проблем, когато става въпрос за изпълнение на операционната система | Управлението на паметта е трудно, тъй като на базата на разпределената памет в реално време се разпределя, което само по себе си е критично |
4 | Приложения: Офис, Центрове за данни, Система за дома и др | Приложения: Управление на самолети или ядрен реактор, оборудване за научни изследвания |
5 | Примери: Microsoft Windows, Linux, OS | Примери: Vx Works, QNX, Windows CE |
Видове RTOS
Можем да категоризираме операционната система в реално време основно на три части, а именно
- Твърда операционна система в реално време
- Мека операционна система в реално време
- Твърда операционна система в реално време
1. Трудна операционна система в реално време
Нека започнем да разбираме този тип операционна система, като използваме пример, живият пример за това е системата за управление на полета. В рамките на системата за контрол на полета, каквито и задачи да дава пилотът под формата на вход, трябва да се изпълнява навреме. В трудна операционна система в реално време могат да се толерират повреди в системата. Характеристиките на твърдия RTOS са:
- Да изпълнявате задачи навреме
- Неспазването на крайния срок е фатално
- Гарантирано по-лошо време за отговор на случая
- Може да доведе до отказ на системата
2. Мека операционна система в реално време
Най-лесният пример за използване на меки RTOS е онлайн базата данни, тъй като в рамките на soft RTOS параметърът, от който се тревожим повече, е скоростта. Следователно характеристиките на меките RTOS са:
- Задачите трябва да се изпълняват възможно най-бързо
- Късното изпълнение на задачите е нежелателно, но не е фатално
- Има възможност за влошаване на производителността
- Не може да доведе до отказ на системата
3. Твърда операционна система в реално време
Роботното рамо, което се използва за избор на предмети, може да се разглежда като един от примерите за фирма RTOS. Тук, в рамките на тази фирма RTOS, дори ако процесът се забави, това се толерира.
Предимства от използването на безплатен RTOS
По-долу са предимствата на използването на RTOS във вашите приложения.
- Няма проблеми със защитната стена
- Ниска честотна лента за подобрена производителност
- Подобрена сигурност и поверителност
- Ниска цена, поради намаляване на хардуерните и софтуерните компоненти, използвани за разработка
Някои основни проблеми, свързани с RTOS
Сега, въпреки че има много предимства за RTOS в реалния свят, той също има различни недостатъци. Някои от въпросите, свързани с него, са обсъдени тук.
- Прекъсванията обикновено се използват в програмите, за да спрат изпълняващата програма, за да отклонят потока към друга важна част от кода. Тук, в рамките на RTOS, тъй като е необходимо бързо време за реакция; препоръчително е прекъсванията да бъдат деактивирани за минимално възможно време.
- Тъй като ядрото също трябва да реагира за различни събития, изисква се по-малък размер на ядрото, така че да се побере правилно в ROM
- Сложните функции на 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 target, следвайте процеса, известен като munching. Тук изхапването се отнася до допълнителна стъпка за обработка на хоста.
Компилирайте изходната програма на приложението C ++ и вземете например файл hello.cpp. По-късно го стартирайте, за да хванете.o и компилирайте генерирания ctdt.c файл. Освен това свържете приложението с ctdt.o, за да генерирате модул за изтегляне, hello.out в VxWorks. Резултатът след изпълнението на този VxWorks ще бъде файл за създаване, който ще се използва за някаква цел.
Безплатен RTOS
Като цяло, когато започнем с RTOS, обикновено предпочитаме Vx Works RTOS. Но тук нека да направим дискусия накратко относно безплатния RTOS, който също може да бъде използван от начинаещите, за да премине през концепцията за операционна система в реално време. Безплатният RTOS е разработен от Ричард Бари и екипа на FreeRTOS, също така е собственост на Real time engineers ltd, но е безплатен за използване и може просто да бъде изтеглен, като кликнете върху връзката по-долу
Изтеглете безплатни ROTS
Последната версия на безплатния RTOS, който се използва по време на тази статия, е версия 10, посочена като FreeRTOS V10.
Най-голямото предимство на безплатната RTOS, която я прави по-добра по отношение на останалите RTOS, е нейното независимо от платформата поведение по отношение на хардуера, т.е. c кодът, който ще използваме за изпълнение на операционна система, може да работи на различни платформи с различна архитектура. Следователно, независимо дали използвате микроконтролер 8051 или някакъв последен ARM микроконтролер, кодът, който сте написали заедно с процеса на изпълнение, ще бъде подобен и за двамата.
Има много други предимства от използването на безплатни RTOS над Vx работи и други инструменти за работа с RTOS. Някои от тях могат да бъдат посочени като:
- Осигурява по-лесно тестване
- Популяризира концепцията за повторна употреба на кода
- По-малко време на празен ход
- Лесна поддръжка
- Информация за времето за абстрахиране
Също така основното ядро, където ядрото се отнася до централния компонент на операционна система, който присъства в безплатния RTOS, го прави достъпен за използване за различни приложения. Тъй като е лесно да прикачите разширени модули към операционните системи, за да получите повече приложения, безплатният RTOS става по-мощен.
Един от примерите за използване на безплатни RTOS може да бъде обяснен чрез използване на концепцията за комбиниране на Free RTOS с Nabto. Nabto е безплатно уеб устройство, използвано за прехвърляне на информацията от устройството в браузъра.
Следователно, комбинирането на Free RTOS с Nabto го прави малка част от C код, както е обяснено на фигура а. Сега Интернет на нещата (IOT) е в тенденция и всяко IOT устройство, до което ще имаме достъп, има уникален URL адрес в интернет и технологията позволява сигурна и изключително ниска честотна лента от точка до точка. При липса на интернет връзка тази комбинация може да бъде полезна. Следователно безплатният RTOS е популярен избор, когато става въпрос за внедряване на IOT.