Realtime betekent onmiddellijk optreden. Het is de feitelijke tijd waarin iets plaatsvindt. Deze term wordt meestal gebruikt als een bijvoeglijk naamwoord om een niveau van computerresponsiviteit te beschrijven dat onmiddellijk is in een menselijk tijdsbesef. Aangezien de uitvoering het commando volgt, is echte real-time niet haalbaar, aangezien de vertraging er nog steeds is, zelfs als deze microseconden is. Dichtbij werkelijke tijd is een veelgebruikte term om dit uit te drukken. Realtime programma’s moeten een respons garanderen binnen bepaalde tijdsbeperkingen, ook wel deadlines genoemd. Voorbeelden van real-time systemen zijn:
- Besturingssystemen: Een real-time systeem dat direct reageert op input. Het dient voor real-time applicaties die gegevens verwerken zodra deze binnenkomen zonder buffervertragingen.
- Multiplayer video games: Alle spelers kunnen tegelijkertijd een videogame spelen. Wanneer een speler een actie uitvoert, worden andere spelers bewust gemaakt van de gevolgen van de actie binnen een operationele deadline.
- Software: Real-time software voert toegewezen taken en functies uit zodra ze zijn toegewezen, niet nadat het programma is uitgevoerd. De gebruiker beschouwt de prestatie onmiddellijk.
- grafiek animatie: een real-time programma zou objecten weergeven die met dezelfde snelheid over het scherm bewegen als ze daadwerkelijk zouden bewegen.
Soorten real-time systemen
Er zijn twee soorten real-time systemen op basis van timingbeperkingen.
Echt moeilijk
Een hard real-time systeem kan zijn deadline nooit missen. Als de functie niet binnen de gestelde tijdsbeperkingen wordt voltooid, wordt de aanvraag als mislukt beschouwd. Dit kan grote verliezen veroorzaken als het systeem in kwestie de fysieke omgeving of mensenlevens beïnvloedt. Voorbeelden van harde real-time systemen zijn:
- Een controlesysteem voor de motor van een auto. Een vertraagd signaal kan motorschade of defecten veroorzaken.
- Een pacemaker. Vanwege het risico voor mensenlevens vereist een pacemaker harde real-time computing om te garanderen dat de pacemaker niet zal falen.
- Machines aan een lopende band. Als de machine vertraging oploopt, kan dit ertoe leiden dat de hele assemblagelijn wordt stilgelegd.
- Bepaalde soorten printers, zoals inkjetprinters, laserprinters en lijnprinters. Storingen in dit soort printers kunnen ontbrekende uitvoer of verkeerd uitgelijnde uitvoer veroorzaken.
Zacht real-time
Een soft real-time systeem kan zijn deadline missen, en zolang taken op tijd worden uitgevoerd, hebben de resultaten waarde. Soft real-time systemen worden gebruikt om problemen met gelijktijdige toegang op te lossen en de noodzaak om een aantal systemen up-to-date te houden tijdens veranderende situaties. Het missen van de deadline heeft geen rampzalige gevolgen. Voorbeelden van zachte real-time systemen zijn:
- Software voor commerciële luchtvaartmaatschappijen. Vluchtplannen vereisen constante updates terwijl ze verschuiven, maar een vertraging van een paar seconden of minuten is nog steeds bruikbaar.
- Live audio-videosystemen. Een frame met audio dat later wordt afgespeeld, kan resulteren in een korte storing, het systeem kan nog steeds werken.
- Videogames: aangezien de volgende afbeelding niet van tevoren kan worden berekend, is een videogame maar afhankelijk van invoer van de speler. Daarom is er slechts een korte tijd beschikbaar om de nodige berekeningen uit te voeren die nodig zijn om een frame te genereren. Als de deadline wordt gemist, kan het spel toch doorgaan met een lagere framesnelheid.