Vad är skillnaden mellan OS och RTOS?

Ett realtids-operativsystem är avsett för system som behöver noggrant styra svarstider och prestanda. Med ett RTOS kan du prioritera åtgärder så att de mest kritiska områdena ansökan få kontroll på processorn exakt när de behöver den. Alla andra lägre prioriterade åtgärder är pausade. Ett RTOS ger dig också alla andra fördelar av ett OS:

  • en konsekvent kodning plattform
  • en rik uppsättning API: er att spara kodning tid och fel
  • processorn hushållning funktioner
  • maskinvaruabstraktion

RTOS står för realtids-operativsystem, kontra allmänna-computing operativsystem (OS). Den viktigaste skillnaden mellan general-computing operativsystem och realtidsoperativsystem är behovet av "deterministiska" timing beteende i realtids-operativsystem. Formellt, "deterministiska" timing innebär att operativsystemtjänster förbrukar endast kända och förväntade mängder av tid. I teorin kunde dessa tjänste-tider uttryckas som matematiska formler. Dessa formler skall vara strikt algebraiska och inte innehålla några slumpmässiga timing komponenter. Slumpmässiga element i tjänste-tider kan orsaka slumpmässigt förseningar i programvara och kunde gör programmet slumpmässigt missar realtid tidsfrister – ett scenario klart oacceptabelt för en inbäddade realtidssystem. Många icke-realtid operativsystem erbjuder också liknande kärna. General-computing icke-realtid operativsystem är ofta ganska icke-deterministiska. Deras tjänster kan injicera slumpmässiga förseningar i programvara och därmed orsaka långsam reaktionsförmåga ansökan vid oväntade tillfällen. Om du frågar utvecklaren av en icke-realtid operativsystem för algebraiska formel som beskriver timing uppförandet av en av dess tjänster (exempelvis skicka ett meddelande från aktivitet till aktivitet), får du alltid inte en algebraisk formel. I stället ger utvecklaren av icke-realtid operativsystem (som Windows, Unix eller Linux) bara dig en förbryllad titt. Deterministiska timing beteende var helt enkelt inte konstruktionen dessa allmänna-computing operativsystem. Å andra sidan, går realtidsoperativsystem ofta ett steg längre än grundläggande determinism. För de flesta kernel tjänster, erbjuder dessa operativsystem konstant belastning-oberoende timing: med andra ord, algebraiska formeln är så enkelt som: T(message_send) = konstant, oavsett längden på meddelandet som ska skickas, eller andra faktorer som antalet aktiviteter och köer och meddelanden som hanteras av RTOS. Många RTOS Förespråkare argumenterar att ett realtid operativsystem inte får använda virtuellt minne begrepp, eftersom personsökning mekanik att en deterministisk svar. Detta är ett vanligt stöds argument, bör det noteras som termen "real-time operativsystem" och determinism i detta sammanhang omfattar mycket vid bemärkelse, och leverantörer av många olika operativsystem gäller dessa begrepp med olika innebörd. När du väljer ett operativsystem för en viss aktivitet, är attributet realtid ensam ett tillräckligt kriterium, därför. Deterministiska beteende och deterministiska latenser ha värde bara om svaret ligger inom gränserna för fysiken i den process som skall kontrolleras. Kontrollera en förbränningsmotor i en racerbil har exempelvis olika realtid krav på problemet för att fylla en vattentank på 1 000 000 liter genom ett 2" rör. Realtidsoperativsystem är ofta användning i inbyggda lösningar, det vill säga computing plattformar som finns inom en annan enhet. Exempel för inbyggda system inkluderar förbränning motor styrenheter eller tvättmaskin styrenheter och många andra. Stationär PC och andra allmänna ändamål datorer är inte inbyggda system. Medan realtidsoperativsystem är vanligtvis utformade för och används med inbyggda system, de två aspekterna är i huvudsak olika och har olika krav. Ett realtid operativsystem för inbäddade system adresser båda uppsättningar av krav.