- Hva er RTOS?
- Hvorfor RTOS ??
- Forskjellen mellom sanntidsoperativsystem og operativsystem
- Typer RTOS
- Fordeler med å bruke gratis RTOS
- Noen store problemer knyttet til RTOS
- Hvordan bruke RTOS
Innebygde systemer har et bredt spekter av applikasjoner i alle elektroniske enheter rundt oss, et tydelig eksempel er den mini-bærbare datamaskinen som vi har med oss hele tiden, ja jeg refererer til mobiltelefonene våre.
Når innebygd system kommer inn i bildet, er det alltid en kombinasjon av maskinvare som mikrokontrollere eller mikroprosessorer og programvare som firmware eller operativsystem. Et operativsystem danner basen for alle elektroniske enheter og administrerer både maskinvaren og programvaren i enhver elektronisk enhet. Begrepet operativsystem er ikke bare begrenset til Unix og Windows for datamaskiner, men kan også omfatte mikrokontrollere. Et slikt operativsystem som kan kjøres på Microcontrollers kalles som sanntidsoperativsystem. Her vil vi lære om RTOS og applikasjoner i sanntidsoperativsystem.
Hva er RTOS?
Sanntidsoperativsystem, populært kjent som RTOS, gir kontrolleren muligheten til å svare på innspill og fullføre oppgaver innen en bestemt tidsperiode basert på prioritet. På det første utseendet kan en RTOS høres ut som et hvilket som helst annet innebygd program eller firmware, men det er bygget på arkitekturen til et operativsystem. Derfor, som ethvert operativsystem, kan RTOS tillate at flere programmer utføres samtidig som de støtter multiplexing. Som vi vet kan kjernen til en prosessor eller kontroller bare utføre en enkelt instruksjon om gangen, men RTOS har noe som heter planleggerensom bestemmer hvilken instruksjon som skal utføres først og dermed utfører instruksjonene til flere programmer etter hverandre. Teknisk sett skaper en RTOS bare en illusjon av multitaking ved å utføre parallelle instruksjoner en om gangen.
Dette gjør RTOS egnet for forskjellige applikasjoner i den virkelige verden. I RTOS for enhver inngang når en logikk er evaluert som gir den tilsvarende utgangen. Denne logikken måles ikke bare på grunnlag av den logiske kreativiteten, men også på varigheten den spesifikke oppgaven har blitt utført. Hvis et system mislykkes i å utføre oppgaven i den bestemte tidsperioden, er det kjent som systemfeil.
Hvorfor RTOS ??
- Tilgjengelighet av drivere: Det er mange drivere som er tilgjengelige innen RTOS, som lar oss bruke dem direkte til forskjellige applikasjoner.
- Planlagte filer: RTOS tar seg av planlegging, så i stedet for å fokusere på planlegging av ethvert system, kan vi bare fokusere på å utvikle applikasjoner. For eksempel brukes oppgaveplanleggingsfiler til å definere bestemte handlinger når et sett med betingelser er oppfylt. RTOS bruker visse avanserte algoritmer for planlegging, vanligvis kjører, klare og blokkerte tilstander som mens du kjører RTOS holder mer fokus på å utvikle applikasjoner i stedet for planlegging.
- Fleksibilitet ved å legge til funksjoner: Innen RTOS, selv om du er villig til å legge til nye funksjoner, kan du ganske enkelt legge til den uten å forstyrre de eksisterende funksjonene.
Forskjellen mellom sanntidsoperativsystem og operativsystem
Det er forskjellige forskjeller mellom sanntidsoperativsystem og operativsystemer som Windows, Linux osv. La oss ta en titt på dem en etter en ved hjelp av tabellformat:
S. nr | Operativsystem | System i sanntid |
1 | Tidsdeling er grunnlaget for gjennomføring av prosesser i operativsystemet | Prosesser utføres på grunnlag av rekkefølgen av deres prioritet |
2 | Operativsystemet fungerer som et grensesnitt mellom maskinvaren og programvaren til et system | Sanntidssystem er designet for å kunne utføres for de virkelige problemene |
3 | Å administrere minne er ikke et kritisk problem når det gjelder kjøring av operativsystemet | Minnehåndtering er vanskelig, ettersom det er sanntidsminnet tildelt, basert på sanntidsproblemet |
4 | Bruksområder: Kontor, datasentre, System for hjemmet osv | Bruksområder: Kontrollerende fly eller atomreaktor, vitenskapelig forskningsutstyr |
5 | Eksempler: Microsoft Windows, Linux, OS | Eksempler: Vx Works, QNX, Windows CE |
Typer RTOS
Vi kan kategorisere sanntidsoperativsystem hovedsakelig i tre deler, nemlig
- Hardt sanntidsoperativsystem
- Mykt sanntidsoperativsystem
- Fast sanntidsoperativsystem
1. Hardt sanntidsoperativsystem
La oss begynne å forstå denne typen operativsystem ved hjelp av et eksempel, det levende eksemplet på det er flykontrollsystem. Innen flykontrollsystemet, uansett hvilke oppgaver som piloten gir i form av en inngang, skal det utføres i tide. I et hardt sanntidsoperativsystem kan systemfeil tolereres. Funksjonene til hard RTOS er:
- Å utføre oppgaver i tide
- Unnlatelse av å overholde fristen er dødelig
- Garantert dårligere svartid
- Kan føre til systemfeil
2. Mykt sanntidsoperativsystem
Enkleste eksempel på bruk av myk RTOS er online database, da parameteren vi er mer bekymret for er innen myk RTOS hastighet. Derfor er funksjonene til myk RTOS:
- Oppgaver bør utføres så raskt som mulig
- Sen utførelse av oppgaver er uønsket, men ikke dødelig
- Det er en mulighet for ytelsesforringelse
- Kan ikke føre til systemfeil
3. Fast sanntidsoperativsystem
Robotarm som brukes til å plukke gjenstander kan betraktes som et av eksemplene på firma RTOS. Her, innenfor dette firmaet RTOS, selv om prosessen er forsinket, tolereres det.
Fordeler med å bruke gratis RTOS
Følgende er fordelene ved å bruke RTOS i applikasjonene dine.
- Ingen brannmurproblemer
- Lav båndbredde for forbedret ytelse
- Forbedret sikkerhet og personvern
- Lave kostnader på grunn av reduksjon i maskinvare- og programvarekomponenter som brukes til utvikling
Noen store problemer knyttet til RTOS
Nå, til tross for at den har mange fordeler for RTOS i den virkelige applikasjonen, har den også forskjellige ulemper. Noen av problemstillingene knyttet til det blir diskutert her.
- Avbrudd brukes normalt i programmer for å stoppe utførelsesprogrammet for å avlede strømmen til en annen viktig del av koden. Her, innen RTOS siden rask responstid er nødvendig; Det anbefales at avbrudd deaktiveres i minst mulig tid.
- Siden bør kjernen også svare på forskjellige hendelser, det er nødvendig å ha mindre størrelse på kjernen slik at den skal passe riktig inn i ROM
- Sofistikerte funksjoner i RTOS bør fjernes, da det ikke er noe konsept for slik virtuelt minne i det.
Hvordan bruke RTOS
Nå som du vet hva som er RTOS og hvor du kan bruke det, må du normalt bruke Tornado eller FreeRTOS-utviklingsmiljøet for å komme i gang med RTOS. La oss ta en kort titt på begge disse utviklingsmiljøene.
Tornado - VxWorks
Tornado er et integrert miljø for å utvikle sanntidsrelaterte innebygde RTOS- applikasjoner på målsystemet. Tornado består av tre grunnleggende elementer som er oppført nedenfor.
1) VxWorks
2) Verktøy for applikasjonsbygging (kompilator og tilhørende programmer)
3) Integrert utviklingsmiljø, som kan administrere, feilsøke og overvåke VxWorks-applikasjonen
VxWorks er et sanntidsoperativsystem. Til å begynne med VxWorks bør vi ha ett utviklingssett (mål) sammen med en arbeidsstasjon. Her er utviklingssett ikke annet enn målverten eller komponenten som kommuniserer med måtserveren på arbeidsstasjonen. Målet her forbinder tornadoverktøy som skallet og feilsøkingsprogrammet. Derfor vil vi bruke VxWorks til å konfigurere og bygge systemene mens Tornado gir oss et grafisk brukergrensesnitt og kommandolinjeverktøy for konfigurering og bygging.
Veldig viktig poeng som kommer inn i bildet her er at installasjonskatalogen mens du installerer tornado i systemet ditt, skal bruke
stienavnene som: installDir / target. For eksempel hvis du ønsker å lagre tornado i C: \ tornado på en Windows-vert, skal hele stienavnet identifiseres i så fall som installDir / target / h / vxworks.h.
Her vil vi ikke diskutere detaljert om funksjonene til Vx-verk (vi vil la det være for neste opplæring), men vi vil diskutere hvordan utviklingen kan gjøres ved hjelp av C ++ i Vxworks ved hjelp av WindRiver GNU. WindRiver GNU hjelper oss med å gi en grafisk analyse av avbruddet som er involvert under utførelse, samt minnebrukrapporten.
For eksempel forklarer ovennevnte visning av WindRiver det tilknyttede prosessornummeret sammen med prioriteten til oppgaver (tLowPri & tHighPri). Tomgangstilstand, dvs. grønn fargelinje, oppgav tidsperioden prosessoren ikke er i arbeidstilstand, noe som observeres å være etter hvert par sekund. t1, t7, t8 & t9 er ikke annet enn de forskjellige prosessorene som brukes. Her velger vi bare t7-prosessor.
Derfor er denne Windriver i stand til å påkalle både VxWorks og applikasjonsmodulens underrutiner. Du kan starte Windriver-applikasjonen enten fra tornado-lanseringsverktøylinjen (-> i-knappen) senere klikke på menyen og deretter klikke på skallet. Til slutt skriver du fra kommandoprompten “> windsh target server”.
For å programmere ved hjelp av C ++, er det viktig å inkludere INCLUDE_CPLUS_DEMANGLER-komponenten. Denne demangler-komponenten lar målskallsymboler returnere menneskelig lesbare former for C ++ symbolnavn. Før du laster ned C ++ - modulen til Vxworks-målet, følg prosessen kjent som munching. Her refererer munking til ytterligere vertsbehandlingstrinn.
Kompilere C ++ applikasjonskildeprogram og få for eksempel hello.cpp-fil. Senere kjører du den for å gnage på.o og kompilere den genererte ctdt.c-filen. Videre kobler du applikasjonen til ctdt.o for å generere nedlastbar modul, hallo.out i VxWorks. Utgangen etter kjøring av denne VxWorks vil være en make-fil som skal brukes på noe mål.
Gratis RTOS
Vanligvis, når vi begynner med RTOS, foretrekker vi vanligvis Vx Works RTOS. Men la oss ta en kort diskusjon om Free RTOS, som også kan brukes av nybegynnere til å gå gjennom konseptet med sanntidsoperativsystem. Gratis RTOS er utviklet av Richard Barry og FreeRTOS team, det eies også av Real time engineers ltd, men det er gratis å bruke og kan enkelt lastes ned ved å klikke på lenken nedenfor
Last ned gratis ROTS
Siste versjon av gratis RTOS som ble brukt på tidspunktet for denne artikkelen er versjon 10, oppgitt som FreeRTOS V10.
Den største fordelen med gratis RTOS som gjør den overlegen når det gjelder den andre RTOS, er plattformuavhengig oppførsel når det gjelder maskinvare, dvs. c-koden som vi skal bruke for å utføre et operativsystem, kan kjøres på forskjellige plattformer med ulik arkitektur. Derfor, uansett om du bruker 8051 mikrokontroller eller en nyeste ARM-mikrokontroller, vil koden du skrev sammen med utførelsesprosessen være lik for begge.
Det er mange andre fordeler med å bruke gratis RTOS over Vx-verk og andre RTOS-verktøy. Noen av dem kan oppgis som:
- Gir enklere testing
- Fremmer konseptet med kode gjenbrukbarhet
- Mindre tomgangstid
- Enkel vedlikehold
- Abstrakt informasjon om timing
Også den grunnleggende kjernen, der kjernen refererer til den sentrale komponenten i et operativsystem som er tilstede i gratis RTOS, gjør den tilgjengelig for bruk for forskjellige applikasjoner. Siden det er enkelt å feste utvidede moduler på operativsystemer for å få flere applikasjoner, blir RTOS kraftigere.
Et av eksemplene på bruk av gratis RTOS kan forklares ved å bruke konseptet med å kombinere gratis RTOS med Nabto. Nabto er en gratis webenhet som brukes til å overføre informasjonen fra enheten til nettleseren.
Derfor, ved å kombinere Free RTOS med Nabto, blir det et lite stykke C-kode som forklart i figur a. Nå om dagen er Internet of Things (IOT) i trend, og hver IOT-enhet vi får tilgang til har en unik URL over internett, og teknologien tillater sikker og ekstremt lav båndbreddepunkt-til-punkt-forbindelse. I mangel av internettforbindelse kan denne kombinasjonen være nyttig. Derfor er gratis RTOS et populært valg når det gjelder implementering av IOT.