Wat is een RTOS?

Een RTOS (Real-time Operating System) is een besturingssysteem dat taken voorspelbaar en binnen een gegarandeerde, begrensde tijd uitvoert, zodat een systeem elke deadline haalt, ook onder maximale belasting. Waar Windows of een standaard Linux-installatie optimaliseert voor gemiddelde snelheid en doorvoer, optimaliseert een RTOS voor het slechtste geval: de langste reactietijd moet bekend en klein zijn. Dat heet deterministisch gedrag. RTOS’en draaien in embedded apparaten zoals PLC’s, servodrives, veldapparaten en safety-controllers, en vormen daarmee een onzichtbare maar cruciale laag in industriële automatisering.


🧠 Wat doet een RTOS precies?

Een RTOS beheert taken (threads), geheugen, interrupts en hardware met één doel: elke taak op tijd laten draaien, elke keer weer. Snelheid alleen is daarbij niet het punt. Een systeem dat meestal in 1 ms reageert maar af en toe 50 ms nodig heeft, is ongeschikt; een systeem dat altijd binnen 2 ms reageert, is wél real-time.

Een voorbeeld: een PLC die elke 5 ms een sensorwaarde inleest, de logica uitvoert en een motor aanstuurt, moet die cyclus consequent halen. Het RTOS in de CPU-module zorgt dat de cyclische taak voorrang krijgt boven communicatie, diagnose of webserver-taken die op dezelfde processor draaien. Een watchdog bewaakt de cyclustijd en brengt de PLC in een gedefinieerde stoptoestand als die wordt overschreden.

Men onderscheidt drie gradaties:

  • Hard real-time - een gemiste deadline is een systeemfout, bijvoorbeeld bij motion control of een veiligheidsfunctie
  • Firm real-time - een te laat resultaat is waardeloos, maar het systeem faalt niet direct
  • Soft real-time - te laat is minder goed, zoals bij een haperende videostream

⚙️ Welke kenmerken heeft een RTOS?

Kenmerk Toelichting
Preemptieve, prioriteitsgestuurde scheduler De taak met de hoogste prioriteit die gereed is, draait altijd; een belangrijker taak onderbreekt direct een minder belangrijke
Begrensde interrupt-latentie De tijd tussen een hardware-event en de start van de afhandeling is bekend, meestal in microseconden
Lage jitter Een cyclische taak van 1 ms start telkens vrijwel exact na 1 ms
Prioriteitsovererving Voorkomt dat een laag-geprioriteerde taak een hoog-geprioriteerde taak indirect blokkeert (priority inversion)
Kleine footprint Een microcontroller-kernel past in enkele kilobytes geheugen en start in milliseconden
Statische configuratie Taken, stacks en buffers worden vaak vooraf vastgelegd, zodat er tijdens bedrijf geen onvoorspelbare geheugentoewijzing nodig is

Hoe belangrijk prioriteitsovererving is, liet de Mars Pathfinder in 1997 zien. Kort na de landing reset de computer, die op VxWorks draaide, herhaaldelijk. Oorzaak was priority inversion: een taak met lage prioriteit hield een gedeelde resource vast terwijl een hoog-geprioriteerde taak erop wachtte. NASA loste het op door vanaf de aarde een patch te sturen die prioriteitsovererving inschakelde.


🔄 Wat is het verschil tussen een RTOS en een gewoon besturingssysteem?

Eigenschap RTOS Algemeen OS (Windows, standaard Linux)
Ontwerpdoel Voorspelbaarheid, slechtste geval begrensd Gemiddelde prestaties en doorvoer
Scheduling Strikt op prioriteit, preemptief Eerlijke verdeling over processen
Reactietijd Microseconden, gegarandeerd Meestal snel, maar zonder garantie
Footprint Kilobytes tot enkele megabytes Honderden megabytes tot gigabytes
Typische hardware Microcontroller, PLC-CPU, drive Pc, server, HMI-paneel
Updates Zeldzaam, gecontroleerd via firmware Frequent, vaak automatisch

De grens vervaagt. Sinds Linux-kernel 6.12 (november 2024) zit de real-time uitbreiding PREEMPT_RT, na bijna twintig jaar als losse patchset, in de standaardkernel. Daarmee wordt Linux bruikbaar voor veel toepassingen met reactietijden in de orde van tientallen microseconden. Soft PLC’s zoals CODESYS op Linux of TwinCAT naast Windows benutten precies zo’n real-time kern, soms via een hypervisor die een RTOS en een algemeen OS gescheiden op dezelfde hardware laat draaien.


🔧 Welke RTOS’en kom je in de industrie tegen?

RTOS Herkomst en licentie Typische toepassing
FreeRTOS Richard Barry, circa 2003; sinds 2017 beheerd door AWS, MIT-licentie Microcontrollers, IoT-sensoren, kleine controllers
VxWorks Wind River, commercieel Luchtvaart, ruimtevaart, defensie, PLC’s en netwerkapparatuur
QNX BlackBerry, commercieel, microkernel Automotive, medische apparatuur, industriële systemen
Zephyr Linux Foundation-project sinds 2016, Apache 2.0 IoT-devices, sensornetwerken, Bluetooth-apparaten
RTEMS Open source, POSIX-interfaces Ruimtevaart en wetenschappelijke instrumenten
SAFERTOS WITTENSTEIN, gebaseerd op het FreeRTOS-model Veiligheidskritische toepassingen met certificaat

Industriële fabrikanten bouwen hun controllers vaak op zo’n commercieel RTOS of op een eigen kernel, en vermelden dat zelden in de documentatie. Voor een gebruiker is het RTOS daardoor onzichtbaar, totdat er een kwetsbaarheid in opduikt.


🏭 Waar zit een RTOS in een OT-omgeving?

In operationele technologie zit het RTOS vooral in de lagen onder SCADA:

  • PLC-CPU’s - voeren cyclische en event-gestuurde taken uit volgens het taakmodel van IEC 61131-3, met cyclustijden van typisch 1 tot 20 ms
  • Motion control en drives - positie- en snelheidsregelingen met cycli van 31,25 µs tot 1 ms, gesynchroniseerd via EtherCAT, ProfiNET IRT of TSN
  • Safety PLC’s en SIS - veiligheidsfuncties met een gegarandeerde maximale reactietijd
  • Slimme veldapparaten - sensoren, transmitters en I/O-modules met een kleine RTOS-kernel
  • Sommige HMI’s - compacte bedienpanelen, al draaien grotere panelen meestal op Windows of Linux

SCADA-servers en -clients zelf draaien doorgaans op Windows of Linux: daar is soft real-time voldoende, omdat de harde timing in de controllers eronder geborgd is.


🔐 Hoe zit het met safety en security van een RTOS?

Functionele veiligheid. Voor safety-toepassingen moet ook het besturingssysteem aantoonbaar betrouwbaar zijn. Gecertificeerde varianten bestaan: SAFERTOS is vooraf gecertificeerd volgens IEC 61508 SIL 3 en ISO 26262 ASIL D, en QNX OS for Safety heeft certificaten voor IEC 61508 SIL 3, ISO 26262 ASIL D en IEC 62304 klasse C voor medische software. Zo’n certificaat dekt alleen de kernel; de fabrikant moet de complete toepassing alsnog volgens functionele veiligheid onderbouwen.

Cybersecurity. Een RTOS bevat vaak een eigen netwerkstack, en daar zitten de grootste risico’s. In juli 2019 publiceerde Armis URGENT/11: elf kwetsbaarheden in IPnet, de TCP/IP-stack van VxWorks, waarvan zes kritiek met mogelijkheid tot code-uitvoering op afstand. Getroffen bleken onder meer PLC’s en communicatiemodules van Rockwell Automation en Schneider Electric, en beveiligingsrelais en energiemeters van Siemens. In 2020 volgde Ripple20, een reeks kwetsbaarheden in de veelgebruikte Treck TCP/IP-bibliotheek. Zulke lekken raken producten van tientallen fabrikanten tegelijk, terwijl de eindgebruiker niet weet welk RTOS er in zijn apparatuur zit.


🛠️ Hoe pakt u RTOS-risico’s in de praktijk aan?

  1. Inventariseer - vraag leveranciers welk RTOS en welke netwerkstack in elke controller zitten; een SBOM maakt dat inzichtelijk.
  2. Volg advisories - koppel die inventaris aan CVE’s en advisories van CISA en de fabrikant, zodat een nieuwe RTOS-kwetsbaarheid direct herleidbaar is tot uw installaties.
  3. Segmenteer - beperk netwerktoegang tot controllers met netwerksegmentatie volgens IEC 62443; veel RTOS-lekken zijn alleen via het netwerk bereikbaar.
  4. Plan updates - firmware-updates op PLC’s vragen stilstand; neem ze op in patchmanagement en onderhoudsvensters.
  5. Eis secure development - vraag leveranciers naar IEC 62443-4-1 en secure boot voor nieuwe apparatuur.

In de EU wordt dat laatste verplicht: de Cyber Resilience Act eist van fabrikanten van producten met digitale elementen dat ze kwetsbaarheden in hun software, inclusief het onderliggende RTOS, beheren en actief uitgebuite lekken vanaf 11 september 2026 melden; de volledige verplichtingen gelden vanaf 11 december 2027.


❓ Veelgestelde vragen

Heeft elke PLC een RTOS?

Vrijwel elke moderne PLC draait op een RTOS of een vergelijkbare real-time kernel, omdat de cyclische uitvoering een begrensde reactietijd vereist. Welk RTOS het is, maakt de fabrikant zelden bekend. Een soft PLC gebruikt in plaats daarvan een real-time uitbreiding van Windows of Linux.

Is Linux een RTOS?

Standaard Linux is geen RTOS, omdat het optimaliseert voor doorvoer en geen harde deadlines garandeert. Met PREEMPT_RT, sinds kernel 6.12 onderdeel van de standaardkernel, haalt Linux voor veel industriële toepassingen voorspelbare reactietijden. Voor de strengste eisen, zoals gecertificeerde safety, kiest men nog steeds een echt RTOS.

Wat is het verschil tussen hard en soft real-time?

Bij hard real-time betekent een gemiste deadline dat het systeem faalt, zoals bij een servoregeling of een noodstopfunctie. Bij soft real-time vermindert een te laat resultaat alleen de kwaliteit, zoals bij een vertraagde trend op een scherm. Een RTOS is vooral nodig voor hard real-time toepassingen.

Waarom is FreeRTOS zo populair?

FreeRTOS is gratis onder de MIT-licentie, heeft een zeer kleine footprint en ondersteunt tientallen microcontroller-families. Sinds AWS het project in 2017 overnam, zijn er ook bibliotheken voor cloudkoppeling en beveiligde updates bijgekomen. Voor safety-toepassingen bestaat de gecertificeerde afgeleide SAFERTOS.

Hoe weet ik of mijn apparatuur kwetsbaar is voor RTOS-lekken?

Of uw apparatuur kwetsbaar is voor een RTOS-lek, blijkt uit de advisories van de fabrikant en uit een SBOM waarin RTOS en netwerkstack vermeld staan. Bij URGENT/11 publiceerden onder meer Rockwell Automation, Schneider Electric en Siemens eigen advisories met getroffen producten en firmwareversies. Zonder zo’n inventaris kunt u niet bepalen welke controllers een update nodig hebben.

Kan een RTOS samen met Windows op één pc draaien?

Ja, een RTOS kan naast Windows of Linux op één industriële pc draaien via een hypervisor of een real-time extensie die eigen processorkernen reserveert. Het RTOS verzorgt dan de tijdkritische besturing, terwijl het algemene besturingssysteem visualisatie en IT-koppelingen afhandelt. Veel soft PLC’s werken op deze manier.


📌 Samengevat

Een RTOS is een besturingssysteem dat garandeert dat tijdkritische taken altijd binnen hun deadline worden uitgevoerd, en vormt daarmee de onzichtbare basis onder PLC’s, drives en safety-controllers.

Een RTOS verruilt gemiddelde snelheid voor voorspelbaarheid: preemptieve prioriteiten, begrensde interrupt-latentie en lage jitter maken real-time besturing mogelijk. FreeRTOS, VxWorks, QNX en Zephyr zijn de bekendste voorbeelden, en met PREEMPT_RT schuift ook Linux richting real-time. Voor industriële automatisering betekent dat betrouwbaarheid en controle over tijd, maar ook een verborgen aanvalsoppervlak: weet welk RTOS in uw apparatuur zit en houd het bij.