- Vad är RTOS?
- Varför RTOS ??
- Skillnad mellan operativsystem i realtid och operativsystem
- Typer av RTOS
- Fördelar med att använda gratis RTOS
- Några viktiga frågor relaterade till RTOS
- Hur man använder RTOS
Inbäddade system har ett brett användningsområde i alla elektroniska enheter runt omkring oss, ett tydligt exempel är den mini-bärbara datorn som vi bär med oss hela tiden, ja jag hänvisar till våra mobiltelefoner.
När inbäddat system kommer in i bilden är det alltid en kombination av hårdvara som mikrokontroller eller mikroprocessorer och programvara som en firmware eller operativsystem. Ett operativsystem utgör basen för alla elektroniska enheter och hanterar både hårdvaran och programvaran inom vilken elektronisk enhet som helst. Termen operativsystem är inte bara begränsat till Unix och Windows för datorer utan kan också omfatta mikrokontroller. Ett sådant operativsystem som kan köras på Microcontrollers kallas som operativsystem i realtid. Här lär vi oss om RTOS och applikationer i realtidsoperativsystem.
Vad är RTOS?
Realtidsoperativsystem, populärt känt som RTOS, ger styrenheten möjlighet att svara på inmatning och slutföra uppgifter inom en viss tidsperiod baserat på prioritet. Vid det första utseendet kan en RTOS låta som alla andra inbäddade program eller firmware, men den bygger på ett operativsystems arkitektur. Därför kan RTOS, som alla operativsystem, tillåta att flera program körs samtidigt som de stöder multiplexing. Som vi vet kan kärnan i en processor eller styrenhet bara utföra en enda instruktion åt gången, men RTOS har något som kallas schemaläggarensom bestämmer vilken instruktion som ska utföras först och därmed utför instruktionerna från flera program efter varandra. Tekniskt sett skapar en RTOS bara en illusion av multitagning genom att utföra parallella instruktioner en i taget.
Detta gör RTOS lämplig för olika applikationer i verkliga världen. I RTOS för vilken ingång som helst när en logik har utvärderats som ger motsvarande utdata. Denna logik mäts utifrån inte bara den logiska kreativiteten utan också på den tid som den specifika uppgiften har utförts. Om ett system misslyckas med att utföra uppgiften under den specifika tidsperioden kallas det systemfel.
Varför RTOS ??
- Tillgänglighet för drivrutiner: Det finns många drivrutiner tillgängliga inom RTOS, vilket gör att vi kan använda dem direkt för olika applikationer.
- Schemalagda filer: RTOS tar hand om schemaläggning så istället för att fokusera på schemaläggning av vilket system som helst kan vi helt enkelt fokusera på att utveckla applikationer. Till exempel används schemaläggningsfiler för att definiera vissa åtgärder när en uppsättning villkor uppfylls. RTOS använder vissa avancerade algoritmer för schemaläggning, vanligtvis körande, färdiga och blockerade tillstånd som medan RTOS körs håller mer fokus på att utveckla applikationer istället för schemaläggning.
- Flexibilitet för att lägga till funktioner: Inom RTOS, även om du är villig att lägga till nya funktioner, kan du helt enkelt lägga till den utan att störa de befintliga funktionerna
Skillnad mellan operativsystem i realtid och operativsystem
Det finns olika skillnader mellan realtidsoperativsystem och operativsystem som Windows, Linux etc. Låt oss titta på dem en efter en med hjälp av tabellformat:
S. nr | Operativ system | System i realtid |
1 | Tidsdelning är grunden för körning av processer i operativsystemet | Processer utförs på grundval av prioriteringsordningen |
2 | Operativsystemet fungerar som ett gränssnitt mellan maskinvaran och mjukvaran i ett system | Realtidssystem är utformat för att kunna genomföras för verkliga problem |
3 | Att hantera minne är inte en kritisk fråga när det gäller körning av operativsystem | Minnehantering är svår eftersom baserat på realtidsminnet tilldelas, vilket i sig är kritiskt |
4 | Användningsområden: kontor, datacenter, system för hemmet etc. | Användningsområden: Kontroll av flygplan eller kärnreaktor, vetenskaplig forskningsutrustning |
5 | Exempel: Microsoft Windows, Linux, OS | Exempel: Vx Works, QNX, Windows CE |
Typer av RTOS
Vi kan kategorisera operativsystem i realtid i huvudsak i tre delar, nämligen
- Hård realtidsoperativsystem
- Mjukt operativsystem i realtid
- Fast realtidsoperativsystem
1. Hård realtidsoperativsystem
Låt oss börja förstå denna typ av operativsystem med hjälp av ett exempel, det levande exemplet på det är flygkontrollsystem. Inom flygkontrollsystemet, oavsett vilka uppgifter som ges av piloten i form av en ingång, ska det utföras i tid. I ett hårt realtidsoperativsystem kan systemfel tolereras. Funktionerna i hård RTOS är:
- Att utföra uppgifter i tid
- Underlåtenhet att hålla tidsfristen är dödlig
- Garanterad sämre svarstid
- Kan leda till systemfel
2. Mjukt realtidsoperativsystem
Det enklaste exemplet på att använda mjuk RTOS är online-databasen, eftersom parametern vi är mer oroliga för är mjuk RTOS hastighet. Följaktligen är funktionerna i mjuk RTOS:
- Uppgifterna bör utföras så snabbt som möjligt
- Sen slutförande av uppgifter är oönskad men inte dödlig
- Det finns en möjlighet till prestandaförsämring
- Kan inte leda till systemfel
3. Fast operativsystem i realtid
Robotarm som används för att plocka föremål kan betraktas som ett av exemplen på fast RTOS. Här, inom detta fasta RTOS, även om processen är försenad tolereras den.
Fördelar med att använda gratis RTOS
Följande är fördelarna med att använda RTOS i dina applikationer.
- Inga brandväggsproblem
- Låg bandbredd för förbättrad prestanda
- Förbättrad säkerhet och integritet
- Låg kostnad på grund av minskad hårdvara och mjukvara som används för utveckling
Några viktiga frågor relaterade till RTOS
Trots att det har många fördelar för RTOS i verklig applikation har det också olika nackdelar. Några av frågorna relaterade till det diskuteras här.
- Avbrott används normalt i program för att stoppa det exekverande programmet för att avleda flödet till någon annan viktig del av koden. Här, inom RTOS eftersom snabb svarstid krävs; det rekommenderas att avbrott inaktiveras under en så kort tid som möjligt.
- Eftersom kärnan också ska svara på olika händelser krävs det att kärnan är mindre så att den ska passa ordentligt i ROM
- Sofistikerade funktioner i RTOS bör tas bort eftersom det inte finns något begrepp som sådant virtuellt minne i det.
Hur man använder RTOS
Nu när du vet vad som är RTOS och var du kan använda det, för att komma igång med RTOS måste du normalt använda Tornado eller FreeRTOS-utvecklingsmiljön. Låt oss ta en kort titt på båda dessa utvecklingsmiljöer.
Tornado - VxWorks
Tornado är en integrerad miljö för att utveckla realtidsrelaterade inbäddade RTOS- applikationer på målsystemet. Tornado består av tre grundläggande element som listas nedan.
1) VxWorks
2) Verktyg för applikationsbyggande (kompilator och tillhörande program)
3) Integrerad utvecklingsmiljö som kan hantera, felsöka och övervaka VxWorks-applikationen
VxWorks är ett nätverksoperativsystem i realtid. Till att börja med VxWorks bör vi ha ett utvecklingssats (mål) tillsammans med en arbetsstation. Här är utvecklingskit inget annat än målvärd eller komponent som kommunicerar med målservern på arbetsstationen. Målet här förbinder tornadoverktyg som skalet och felsökaren. Därför, med hjälp av VxWorks kommer vi att konfigurera och bygga systemen medan Tornado ger oss ett grafiskt användargränssnitt och kommandoradsverktyg för konfiguration och byggnad.
Mycket viktig punkt som kommer in i bilden här är att när du installerar tornado i ditt system ska installationskatalogen använda sökvägarna som:
installDir / target. Till exempel om du vill lagra din tornado i C: \ tornado på en Windows-värd bör hela sökvägen identifieras i så fall som installDir / target / h / vxworks.h.
Här kommer vi inte att diskutera i detalj om funktionerna i Vx-verk (vi lämnar det för nästa handledning) men vi kommer att diskutera hur utvecklingen kan göras med C ++ inom Vxworks med WindRiver GNU. WindRiver GNU hjälper oss att tillhandahålla en grafisk analys av avbrottet som är involverat under körningen samt minnesanvändningsrapporten.
Till exempel förklarar ovanstående vy av WindRiver det associerade processornumret tillsammans med prioriteringen av uppgifter (tLowPri & tHighPri). Viloläge, dvs. grön färglinje, angav den tidsperiod för vilken processor inte är i sitt fungerande tillstånd, vilket observeras vara varannan sekund. t1, t7, t8 & t9 är inget annat än de olika processorerna som används. Här väljer vi bara t7-processor.
Därför kan denna Windriver åberopa både VxWorks och applikationsmodulens underrutiner. Du kan starta Windriver-applikationen antingen genom att starta tornado-verktygsfältet (-> i-knappen) senare klicka på menyn och sedan klicka på skalet. Slutligen, från kommandotolken, skriv "> vindhitserver".
Nu för att programmera med C ++ är det viktigt att inkludera INCLUDE_CPLUS_DEMANGLER-komponenten. Denna demangler-komponent tillåter målskalssymboler att returnera mänskliga läsbara former av C ++ - symbolnamn. Innan du laddar ner C ++ -modulen till Vxworks-målet, följ processen som kallas munching. Här hänvisar munching till ytterligare värdbearbetningssteg.
Kompilera C ++ applikationskällprogram och få till exempel hello.cpp-fil. Senare kör den för att munch på.o och kompilera den genererade ctdt.c-filen. Vidare länka applikationen till ctdt.o för att generera nedladdningsbar modul, hello.out inom VxWorks. Utdata efter körning av denna VxWorks kommer att vara en make-fil som kommer att användas på något mål.
Gratis RTOS
Generellt, när vi börjar med RTOS föredrar vi generellt Vx Works RTOS. Men här ska vi diskutera kortfattat om Free RTOS, som också kan användas av nybörjare att gå igenom konceptet för realtidsoperativsystem. Gratis RTOS är utvecklat av Richard Barry och FreeRTOS-teamet, det ägs också av Real time engineers ltd men det är gratis att använda och kan enkelt laddas ner genom att klicka på länken nedan
Ladda ner gratis ROTS
Den senaste versionen av gratis RTOS som används vid tidpunkten för denna artikel är version 10, angiven som FreeRTOS V10.
Den största fördelen med gratis RTOS som gör den överlägsen när det gäller den andra RTOS är dess plattformsoberoende beteende när det gäller hårdvara, dvs c-koden som vi kommer att använda för att köra ett operativsystem kan köras på olika plattformar med olika arkitektur. Oavsett om du använder 8051 mikrokontroller eller någon ny ARM-mikrokontroller kommer koden som du skrev tillsammans med exekveringsprocessen att vara likartad för båda.
Det finns många andra fördelar med att använda gratis RTOS över Vx-verk och andra RTOS-verktyg. Några av dem kan anges som:
- Ger enklare testning
- Främjar begreppet kodåteranvändbarhet
- Mindre tomgång
- Enkel underhåll
- Sammanfatta information om timing
Dessutom gör den grundläggande kärnan, där kärnan hänvisar till den centrala komponenten i ett operativsystem som finns i den fria RTOS, den tillgänglig för användning för olika applikationer. Eftersom det är enkelt att ansluta utökade moduler på operativsystem för att få fler applikationer blir RTOS kraftfullare.
Ett av exemplen på att använda gratis RTOS kan förklaras genom att använda konceptet att kombinera gratis RTOS med Nabto. Nabto är en gratis webbenhet som används för att överföra informationen från enheten till webbläsaren.
När du kombinerar gratis RTOS med Nabto gör det därför en liten bit C-kod som förklaras i figur a. Nu en dag Internet of Things (IOT) är i trend och varje IOT-enhet som vi kommer att få åtkomst till har en unik URL över internet och tekniken möjliggör säkra och extremt låga bandbreddspunkter till punktanslutningar. I avsaknad av internetuppkoppling kan denna kombination vara till hjälp. Därför är gratis RTOS ett populärt val när det gäller att implementera IOT.