Over ‘ingebedde systemen’ en ‘real time’ bestaan misverstanden, concludeert Gert Schroeber uit een artikel in dit blad. Hieronder geeft hij zijn visie.
Het artikel ‘Software voor non-computers’ (Computable, 28 maart) beschrijft met name de toepassing van Vxworks, het besturingssysteem van Wind River voor ingebedde-software-toepassingen. Het verheugt me een dergelijk verhaal in uw blad aan te treffen. Zeer prettig om te zien dat ook de ontwikkeling van ingebedde software de nodige aandacht krijgt. Wel valt het me op dat in dit artikel, naar mijn idee, toch wel veel reclame wordt gemaakt voor Wind River. Beter zou het zijn geweest de plussen en minnen van meerdere real-time besturingssystemen naast elkaar te zetten. Ook zijn enkele zaken verkeerd weergegeven.
Aparte beschrijving
De term non-computers is volledig nieuw. Ik vind het een zeer aparte beschrijving voor ingebedde systemen. Zoals Fiddler gezegd zou hebben: "computers die geen computer zijn". Door op deze manier ingebedde systemen te beschrijven worden mensen zeker op het verkeerde been gezet. Volgens Van Dale is een computer een machine die in staat is op basis van een programma rekenkundige bewerkingen uit te voeren. Reken maar dat ingebedde systemen computers zijn! Ze zijn vaak nog meer "computer" dan het systeem dat u en ik op het bureau hebben staan. Waarschijnlijk bedoelt men dat een ingebed systeem er niet als een pc uit ziet. De verwerkingskracht en de software zijn dusdanig ingebed in de machine dat de betreffende rekencapaciteit aan de buitenkant niet of weinig zichtbaar is.
Verder zou real-time volgens het artikel staan voor ‘pre-emptive multi-tasking’. Dit
bestrijd ik ten zeerste. Dat je met ‘pre-emptive multi-tasking’ in staat zou kunnen zijn een systeem te bouwen dat voldoet aan gestelde real-time eisen is een ander verhaal. Maar hier is de zaak juist omgekeerd. Real-time betekent niet meer en niet minder dan dat een systeem in alle gevallen in staat is te reageren én haar afhandeling te doen binnen de tijdseisen die daarvoor gesteld zijn. Oftewel volledig deterministisch, in 100 procent van de gevallen. In dezelfde paragraaf wordt nog gesteld dat met een rtos processen onderbroken kunnen worden door signalen of ‘events’. Ik zou niet weten waarom dat niet zou kunnen zonder rtos…
Verder wordt Vxworks een bedrijfssysteem genoemd. Ik weet niet wat een bedrijfssysteem is, maar wel wat een besturingssysteem is. Vxworks valt in ieder geval in de laatste categorie.
Prettig is dat in het artikel ook een aantal andere besturingssystemen worden genoemd. Helaas stel de auteur dat QNX op Unix gebaseerd zou zijn. Dit is verre van waar. De ‘shell’ heeft mogelijk wat overeenkomsten met een Unix-shell, maar de opbouw van het systeem is volledig anders. Een sterke karakteristiek van QNX is het ‘message passing’-mechanisme. In principe gaat alle communicatie middels ‘message passing’.
Diab C-compiler
Naast Vxworks als besturingssysteem wordt in het artikel ook gesproken over de toolset die Wind River aanbiedt. Hierbij worden de optimalisatietechnieken geroemd waarover de Diab-compiler beschikt. Zeker, hierin zitten de nodige optimalisatiemogelijkheden wat betreft tijd en lengte. Maar in een project waarbij de compiler werd geupgraded, moesten we de optimalisatieopties uitzetten omdat de Diab-compiler anders foute code genereerde. Dat zijn geen fijne ervaringen. Het kostte de nodige energie om erachter te komen dat deze keer de fout niet in de eigen software zat, maar in code gegeneerd door een duur ingekochte compiler!
Mijn laatste opmerking betreft het feit dat Fiddler zou hebben gezegd dat het bij ingebedde systemen belangrijker is om binnen de tijd te blijven dan binnen budget. Blijkbaar heeft Fiddler weinig ervaring met consumentenproducten. Niet dat tijd daar niet belangrijk zou zijn. Zeker ook ’time-to-market’ is essentieel. Maar als je product niet binnen budget blijft, dan is het maar te hopen dat marketing zich ook vergist heeft in het opstellen van de business-case, anders blijft er niets anders over om weer hard naar de bank te rennen.
Budget is wel degelijk zeer belangrijk en dat geldt naast producten voor de consumentenmarkt, ook steeds meer voor producten voor de professionele markt.
Ger Schoeber, directeur Task Switch