- Wat is RTOS?
- Waarom RTOS ??
- Verschil tussen realtime besturingssysteem en besturingssysteem
- Soorten RTOS
- Voordelen van het gebruik van gratis RTOS
- Enkele belangrijke problemen met RTOS
- RTOS gebruiken
Ingebouwde systemen hebben een breed toepassingsgebied in alle elektronische apparaten om ons heen, een duidelijk voorbeeld is de mini-laptop die we de hele tijd bij ons dragen, ja ik bedoel onze mobiele telefoons.
Wanneer embedded systeem in beeld komt, is het altijd een combinatie van hardware zoals microcontrollers of microprocessors en software zoals een firmware of besturingssysteem. Een besturingssysteem vormt de basis van alle elektronische apparaten en beheert zowel de hardware als de software binnen elk elektronisch apparaat. De term besturingssysteem is niet alleen beperkt tot Unix en Windows voor computers, maar kan zich ook uitstrekken tot microcontrollers. Een dergelijk besturingssysteem dat op microcontrollers kan worden uitgevoerd, wordt het realtime besturingssysteem genoemd. Hier zullen we leren over RTOS en toepassingen van realtime besturingssysteem.
Wat is RTOS?
Realtime besturingssysteem, in de volksmond bekend als RTOS, biedt de controller de mogelijkheid om te reageren op invoer en taken uit te voeren binnen een specifieke tijdsperiode op basis van prioriteit. Op het eerste gezicht klinkt een RTOS misschien als elk ander embedded programma of firmware, maar het is gebouwd op de architectuur van een besturingssysteem. Daarom kan RTOS, zoals elk besturingssysteem, meerdere programma's tegelijkertijd laten uitvoeren en multiplexing ondersteunen. Zoals we weten kan de kern van een processor of controller slechts één instructie tegelijk uitvoeren, maar de RTOS heeft zoiets als de schedulerdie beslist welke instructie het eerst moet worden uitgevoerd en dus de instructies van meerdere programma's na elkaar uitvoert. Technisch gezien creëert een RTOS alleen de illusie van meervoudig nemen door parallelle instructies een voor een uit te voeren.
Dit maakt RTOS geschikt voor verschillende toepassingen in de echte wereld. In RTOS voor elke invoer wanneer een logica is geëvalueerd die de overeenkomstige uitvoer geeft. Deze logica wordt gemeten aan de hand van niet alleen de logische creativiteit maar ook de tijdsduur waarin de specifieke taak is uitgevoerd. Als een systeem er niet in slaagt een taak uit te voeren binnen die specifieke tijdsduur, staat dit bekend als systeemstoring.
Waarom RTOS ??
- Beschikbaarheid van stuurprogramma's: Er zijn veel stuurprogramma's beschikbaar binnen RTOS, waardoor we deze direct kunnen gebruiken voor verschillende toepassingen.
- Geplande bestanden: RTOS zorgt voor de planning, dus in plaats van ons te concentreren op het plannen van een systeem, kunnen we ons gewoon concentreren op het ontwikkelen van applicaties. Taakplanningsbestanden worden bijvoorbeeld gebruikt om bepaalde acties te definiëren wanneer aan een reeks voorwaarden wordt voldaan. RTOS gebruikt bepaalde geavanceerde algoritmen voor het plannen van typisch actieve, gereed en geblokkeerde toestanden die tijdens het uitvoeren van RTOS meer focus houden op het ontwikkelen van applicaties in plaats van op het plannen.
- Flexibiliteit om functies toe te voegen: binnen RTOS, zelfs als u bereid bent om nieuwe functies toe te voegen, kunt u deze eenvoudig toevoegen zonder de bestaande functies te verstoren
Verschil tussen realtime besturingssysteem en besturingssysteem
Er zijn verschillende verschillen tussen real-time besturingssysteem en besturingssystemen zoals Windows, Linux etc. Laten we ze een voor een bekijken met behulp van het tabelformaat:
S.No | Besturingssysteem | Real-time systeem |
1 | Time sharing is de basis van de uitvoering van processen in het besturingssysteem | Processen worden uitgevoerd op basis van de volgorde van hun prioriteit |
2 | Besturingssysteem fungeert als een interface tussen de hardware en software van een systeem | Real-time systeem is ontworpen om te worden uitgevoerd voor de echte wereldproblemen |
3 | Geheugenbeheer is geen kritiek probleem als het gaat om de uitvoering van het besturingssysteem | Geheugenbeheer is moeilijk omdat op basis van het realtime probleemgeheugen wordt toegewezen, wat op zichzelf van cruciaal belang is |
4 | Toepassingen: kantoor, datacenters, systeem voor thuis enz | Toepassingen: Besturing van vliegtuigen of kernreactor, apparatuur voor wetenschappelijk onderzoek |
5 | Voorbeelden: Microsoft Windows, Linux, OS | Voorbeelden: Vx Works, QNX, Windows CE |
Soorten RTOS
We kunnen het realtime besturingssysteem hoofdzakelijk in drie delen onderverdelen, namelijk
- Hard real-time besturingssysteem
- Zacht real-time besturingssysteem
- Stevig real-time besturingssysteem
1. Hard real-time besturingssysteem
Laten we beginnen met het begrijpen van dit type besturingssysteem aan de hand van een voorbeeld, het live-voorbeeld ervan is het vluchtcontrolesysteem. Binnen het vluchtbesturingssysteem moeten alle taken die door de piloot worden gegeven in de vorm van een invoer, op tijd worden uitgevoerd. In een moeilijk real-time besturingssysteem kunnen systeemstoringen worden getolereerd. De kenmerken van harde RTOS zijn:
- Om taken op tijd uit te voeren
- Het niet halen van de deadline is fataal
- Gegarandeerde reactietijd in slechtere gevallen
- Kan leiden tot systeemstoringen
2. Soft besturingssysteem in real time
Het eenvoudigste voorbeeld van het gebruik van zachte RTOS is een online database, omdat binnen zachte RTOS de parameter waar we ons meer zorgen over maken snelheid is. Daarom zijn de kenmerken van zachte RTOS:
- Taken moeten zo snel mogelijk worden uitgevoerd
- Laattijdige voltooiing van taken is ongewenst, maar niet fataal
- Er is een mogelijkheid van prestatieverlies
- Kan niet leiden tot systeemstoring
3. Stevig real-time besturingssysteem
Robotarm die wordt gebruikt om objecten op te pikken, kan worden beschouwd als een van de voorbeelden van firma RTOS. Hier wordt binnen dit bedrijf RTOS zelfs als het proces vertraagd is, getolereerd.
Voordelen van het gebruik van gratis RTOS
Hieronder volgen de voordelen van het gebruik van RTOS in uw toepassingen.
- Geen firewallproblemen
- Lage bandbreedte voor verbeterde prestaties
- Verbeterde beveiliging en privacy
- Lage kosten door vermindering van hardware- en softwarecomponenten die voor ontwikkeling worden gebruikt
Enkele belangrijke problemen met RTOS
Ondanks dat het veel voordelen heeft voor RTOS in echte toepassingen, heeft het ook verschillende nadelen. Enkele van de daarmee verband houdende problemen worden hier besproken.
- Interrupts worden normaal gesproken in programma's gebruikt om het uitvoerende programma te stoppen om de stroom naar een ander belangrijk deel van de code om te leiden. Hier, binnen RTOS omdat een snelle reactietijd vereist is; het wordt aanbevolen om interrupts voor een zo kort mogelijke tijd uit te schakelen.
- Omdat de kernel ook zou moeten reageren op verschillende gebeurtenissen, is het vereist om een kleinere kernelgrootte te hebben, zodat deze correct in ROM past
- Geavanceerde functies van RTOS moeten worden verwijderd omdat er geen concept van virtueel geheugen in zit.
RTOS gebruiken
Nu je weet wat RTOS is en waar je het kunt gebruiken, moet je om met RTOS aan de slag te gaan normaal gesproken de Tornado of de FreeRTOS ontwikkelomgeving gebruiken. Laten we deze beide ontwikkelomgevingen kort bekijken.
Tornado - VxWorks
Tornado is een geïntegreerde omgeving om real-time gerelateerde embedded RTOS- applicaties op het doelsysteem te ontwikkelen. Tornado bestaat uit drie basiselementen die hieronder worden opgesomd.
1) VxWorks
2) Hulpmiddelen voor het bouwen van applicaties (compiler en bijbehorende programma's)
3) Geïntegreerde ontwikkelomgeving, die de VxWorks-applicatie kan beheren, debuggen en bewaken
VxWorks is een real-time besturingssysteem in een netwerk. Om te beginnen met VxWorks zouden we één ontwikkelkit (target) moeten hebben samen met één werkstation. Hier is de ontwikkelingskit niets anders dan de doelhost of component die communiceert met de doelserver op het werkstation. Het doel hier verbindt tornado-tools zoals de shell en de debugger. Daarom zullen we met behulp van VxWorks de systemen configureren en bouwen, terwijl Tornado ons een grafische gebruikersinterface en opdrachtregelhulpmiddelen biedt voor configuratie en build.
Een zeer belangrijk punt dat hier in beeld komt, is dat tijdens het installeren van tornado in uw systeem de installatiemap de padnamen moet gebruiken als:
installDir / target. Als u bijvoorbeeld uw tornado in C: \ tornado op een Windows-host wilt opslaan, moet de volledige padnaam in dat geval worden geïdentificeerd als installDir / target / h / vxworks.h.
Hier zullen we niet in detail ingaan op de features van Vx works (we laten dat achter voor de volgende tutorial) maar we zullen bespreken hoe de ontwikkeling gedaan kan worden met C ++ binnen Vxworks met WindRiver GNU. WindRiver GNU helpt ons bij het leveren van een grafische analyse van de interrupt die tijdens de uitvoering is betrokken, evenals het rapport over het geheugengebruik.
In de bovengenoemde weergave van WindRiver wordt bijvoorbeeld het bijbehorende processornummer uitgelegd, samen met de prioriteit van taken (tLowPri & tHighPri). Inactieve toestand dwz groene kleurlijn geeft de tijdsperiode aan gedurende welke de processor niet in de werkende staat is, wat na elke paar seconden wordt waargenomen. t1, t7, t8 en t9 zijn niets anders dan de verschillende gebruikte processors. Hier selecteren we alleen de t7-processor.
Daarom is deze Windriver in staat om zowel VxWorks als subroutines van toepassingsmodules aan te roepen. U kunt de Windriver-applicatie starten vanuit de tornado-startwerkbalk (-> i-knop), later op menu klikken en vervolgens op shell. Typ ten slotte vanaf de opdrachtprompt "> windsh target server".
Om nu te programmeren met C ++, is het belangrijk om de INCLUDE_CPLUS_DEMANGLER-component op te nemen, deze demangler-component staat toe dat doelshell- symbolen door mensen leesbare vormen van C ++ -symboolnamen retourneren. Voordat u de C ++ -module naar het Vxworks-doel downloadt, volgt u het proces dat bekend staat als munching. Hier verwijst kauwen naar een extra hostverwerkingsstap.
Compileer het C ++ toepassingsbronprogramma en haal bijvoorbeeld het hello.cpp-bestand op. Voer het later uit om de.o te munchen en het gegenereerde ctdt.c-bestand te compileren. Koppel de applicatie verder met ctdt.o om de downloadbare module hello.out te genereren binnen VxWorks. De uitvoer na het uitvoeren van deze VxWorks zal een make-bestand zijn dat op een bepaald doel zal worden gebruikt.
Gratis RTOS
Over het algemeen geven we over het algemeen de voorkeur aan Vx Works RTOS wanneer we met RTOS beginnen. Maar laten we hier een korte bespreking hebben over de gratis RTOS, die ook door beginners kan worden gebruikt om het concept van een realtime besturingssysteem te doorlopen. Gratis RTOS is ontwikkeld door Richard Barry en het FreeRTOS-team, het is ook eigendom van Real time engineers ltd, maar het is gratis te gebruiken en kan eenvoudig worden gedownload door op de onderstaande link te klikken
Download gratis ROTS
De nieuwste versie van gratis RTOS die op het moment van dit artikel wordt gebruikt, is versie 10, vermeld als FreeRTOS V10.
Het grootste voordeel van gratis RTOS, dat het superieur maakt in termen van andere RTOS, is het platformonafhankelijke gedrag in termen van hardware, dwz de c-code die we zullen gebruiken om een besturingssysteem uit te voeren, kan op verschillende platforms met verschillende architectuur worden uitgevoerd. Ongeacht of u de 8051-microcontroller of een van de nieuwste ARM-microcontrollers gebruikt, zal de code die u samen met het uitvoeringsproces hebt geschreven, voor beide gelijk zijn.
Er zijn veel andere voordelen van het gebruik van gratis RTOS ten opzichte van Vx-werken en andere RTOS-besturingshulpmiddelen. Sommigen van hen kunnen worden vermeld als:
- Biedt eenvoudiger testen
- Bevordert het concept van herbruikbaarheid van code
- Minder inactieve tijd
- Gemakkelijk te onderhouden
- Vat timinginformatie samen
Ook maakt de basiskernel, waarbij Kernel verwijst naar de centrale component van een besturingssysteem die aanwezig is binnen het gratis RTOS, het toegankelijk voor gebruik voor verschillende toepassingen. Omdat het gemakkelijk is om uitgebreide modules op besturingssystemen aan te sluiten om meer applicaties gratis te krijgen, wordt RTOS krachtiger.
Een van de voorbeelden van het gebruik van gratis RTOS kan worden verklaard door het concept van het combineren van gratis RTOS met Nabto. Nabto is een gratis webapparaat dat wordt gebruikt om de informatie van het apparaat naar de browser over te brengen.
Daarom maakt het combineren van Free RTOS met Nabto het een klein stukje C-code, zoals uitgelegd in figuur a. Tegenwoordig is Internet of Things (IOT) in de trend en elk IOT-apparaat waartoe we toegang hebben, heeft een unieke URL via internet en de technologie maakt veilige en extreem lage bandbreedte point-to-point-verbindingen mogelijk. Als er geen internetverbinding is, kan deze combinatie nuttig zijn. Daarom is gratis RTOS een populaire keuze als het gaat om het implementeren van IOT.