Een eerste kennismaking met Windows Embedded Standard

Reading time: 6 minutes

Author:

Maarten Struys noemt zichzelf Windows Embedded-evangelist en is werkzaam bij Alten PTS.

Microsoft heeft een nieuwe, op Windows XP-gebaseerde versie geïntroduceerd in zijn lijn embedded besturingssystemen. Maarten Struys van Alten PTS probeerde Windows Embedded Standard uit voor Bits&Chips.

Windows Embedded Standard is de nieuwe versie van Windows XP Embedded, een in componenten opgedeelde versie van het Windows XP-besturingssysteem die is bedoeld voor gebruik in embedded systemen. Niet alleen de naam is veranderd. Het besturingssysteem heeft ook extra functionaliteit om bijvoorbeeld eenvoudiger verbinding te maken met pc‘s die werken met Windows Vista. Ook bevat het uitbreidingen om beter aan te sluiten op Windows Server 2008. De komende tijd verschijnen ook andere embedded besturingssystemen van Microsoft onder een andere naam. In dit artikel beperken we ons echter tot de mogelijkheden van Windows Embedded Standard (WES).

Minder grondig

Ondanks dat Windows XP Professional later dit jaar niet meer leverbaar is, is XP Pro voor embedded systemen nog leverbaar tot 2016. Toch is het verstandig te overwegen Windows Embedded Standard te gaan gebruiken. WES maakt het mogelijk een besturingssysteem op maat samen te stellen voor specifieke doeleinden. Ook bevat het de laatste beveiligingsupdates en nieuwe versies van onder meer het .Net Framework, Windows Media Player, Internet Explorer 7 en ondersteuning voor Silverlight.

In tegenstelling tot bij Windows Embedded CE is het maken van een nieuw WES-besturingssysteem een kwestie van de gewenste bestanden in de correcte map plaatsen en eventueel waarden toevoegen voor het systeemregister. In principe hoeven we geen bronbestanden te compileren. De ontwikkelomgeving van WES biedt wel de mogelijkheid om eigen toepassingen mee te leveren met het besturingssysteem.

Figuur 1: De Target Designer van Windows Embedded Standard beschikt over templates voor verschillende toepassingen.

Omdat WES een in componenten opgedeelde versie is van Windows XP, zullen alle applicaties die werken onder XP het ook doen onder Windows Embedded Standard, mits het op maat samengestelde besturingssysteem de benodigde functionaliteit voor de betreffende applicatie bevat. Daarmee is WES dus volledig compatibel met Windows XP. Net als XP heeft het geen harde realtime eigenschappen. Voor realtime gedrag zijn er extensies van derden.

De hardware-eisen voor Windows Embedded Standard zijn identiek aan die van Windows XP. WES werkt dus op systemen met een pc-architectuur die zijn voorzien van een X86-compatibele processor. Het heeft minder geheugen nodig om goed te functioneren dan de voorgaande versie. Ook is een harde schijf niet nodig.

Om na te gaan of WES op een systeem werkt, zijn verschillende hulpmiddelen beschikbaar. De meest simpele test om na te gaan of WES het zal doen op de geselecteerde hardware, is om te proberen of Windows XP op die hardware draait. Omdat WES dezelfde functionaliteit bevat als XP, zal het goed werken op een systeem waarop ook XP werkt.

Voor situaties waarin het niet mogelijk is om met behulp van Windows XP uit te testen of een systeem geschikt is voor WES, levert Microsoft hulpmiddelen bij zijn ontwikkelomgeving. Target Analyzer Probe (Tap) werkt onder Windows XP en onderzoekt de hardware van een targetsysteem door het systeemregister te analyseren. De software slaat het resultaat op in een PMQ-bestand en de benodigde drivers voor het bijbehorende WES-image in een PMG-bestand. Dit laatste is vervolgens in te lezen in de Target Designer-applicatie.

De Target Analyzer (TA) is een vergelijkbaar hulpmiddel, alleen is dit een 16 bit applicatie, die we dus bijvoorbeeld onder MS-Dos kunnen uitvoeren. De analyse van TA is echter minder grondig, waardoor de kans groter is dat we later nog een aantal stuurprogramma‘s aan het OS moeten toevoegen.

Figuur 2: De Target Designer zoekt zelf met een dependency check uit of er voldaan is aan onderlinge afhankelijkheden.

Eigen componenten

Het belangrijkste stuk gereedschap om een WES-OS samen te stellen, is Target Designer (TD). Dit ontwikkelhulpmiddel laat gebruikers componenten selecteren die deel moeten gaan uitmaken van het uiteindelijke besturingssysteem. Als startpunt kunnen we hardwarespecifieke componenten selecteren die de Target Analyzer-tools hebben gedetecteerd. Dit gaat door de gegenereerde PMQ-file te importeren. Daarna kunnen we overige componenten toevoegen om een werkend besturingssysteem te maken.

Alle componenten die deel uitmaken van WES zijn opgeslagen in een SQL Server-database. Na het definiëren van de hardwarespecifieke elementen is het mogelijk om bijvoorbeeld een standaard toepassingstemplate te kiezen. In dit artikel gebruiken we het template voor de ’Information Appliance‘. Zoals in Figuur 1 is te zien, zijn individuele componenten aan te vinken om precies die functionaliteit te krijgen die gewenst is.

Als alle gewenste componenten zijn opgenomen, volgt de belangrijke stap om tot een Windows Embedded Standard-image te komen. Alle componenten moeten worden gecontroleerd op afhankelijkheden. Indien een component afhankelijk is van een andere component, wordt deze component toegevoegd aan het besturingssysteem. In Figuur 2 is te zien dat componenten aan het OS worden toegevoegd tijdens het uitvoeren van de dependency check.

Indien componenten niet worden gevonden of als uit meerdere componenten moet worden gekozen, zal de dependency check foutmeldingen genereren. Na het oplossen daarvan volgt een nieuwe controle. Nieuw toegevoegde componenten kunnen immers weer afhankelijk zijn van andere componenten. Nadat alle afhankelijkheden zijn opgelost, kan een runtime-image worden gemaakt. Dit proces bestaat in principe uit het genereren van een Windows-folder met daarin alle bestanden die nodig zijn om het WES-besturingssysteem te laten werken. Als laatste stap plaatsen we dit image dan op de gewenste hardware.

Figuur 3: Eigen componenten worden toegevoegd met de Component Designer.

In de WES-componentendatabase kunnen we ook eigen componenten opslaan. Opgenomen onderdelen, bijvoorbeeld eigen applicaties, zijn met de Component Designer eenvoudig toe te voegen aan het besturingssysteem en gaan daar als het ware deel van uitmaken. Tijdens het aanmaken van een eigen component geven we op van welke andere componenten het afhankelijk is, bijvoorbeeld van DLL‘s of stuurprogramma‘s. In Figuur 3 is de Component Designer te zien tijdens het maken van een nieuw onderdeel, een applicatie die we later als component aan een WES-OS kunnen toevoegen vanuit Target Designer.

Om het nieuwe component beschikbaar te maken binnen Target Designer moeten we het met de Component Database Manager importeren in de WES-componentendatabase. Daarna kan het vanuit Target Designer worden gebruikt, net zoals alle andere componenten kunnen worden gebruikt om deel uit te gaan maken van een besturingssysteem. Dit is geïllustreerd in Figuur 4.

Figuur 4: Nieuwe componenten uit de Component Designer komen beschikbaar in Target Designer.

Lagere licentiekosten

Nadat we het WES-image hebben gefabriceerd, is het tijd om het voor de eerste keer op het embedded systeem uit te testen. In dit artikel kiezen we voor het uitvoeren van WES op een Virtual PC. Deze virtuele machine is al voorzien van een Windows XP-besturingssysteem. Om ook Windows Embedded Standard te kunnen starten, hoeven we slechts een tweede harde schijf aan te maken met de Virtual Disk Wizard, waarop we alle bestanden kopiëren. Vervolgens moeten we de boot.ini op de primaire harde schijf van de virtuele machine aanpassen. We voegen simpelweg een regel toe om een dualbootmachine te maken:

multi(0)disk(0)rdisk(1)partition(1)WINDOWS=”Windows Embedded Standard”

Nu kunnen we kiezen welk besturingssysteem opstart. Dit is een eenvoudige en snelle manier om WES uit te testen. Hoewel het beter is om een echt systeem te gebruiken, maakt Virtual PC het makkelijk om ervaring op te doen.

Er valt nog veel meer te schrijven over het gebruik van Component Designer en Target Designer. Voor een introductieartikel zou dat echter te gaan. Het maken van een basisbesturingssysteem met behulp van WES is in principe niet moeilijk. Het proces wordt complexer als we een systeem met minimale footprint moeten maken en als we bijvoorbeeld vanuit flash moeten starten in plaats van van harde schijf.

Ondanks de nieuwe naam lijkt Windows Embedded Standard nog steeds heel veel op XP Embedded, zij het dat wel de meest recente updates zijn toegevoegd die ook voor Windows XP beschikbaar zijn. Voor bedrijven die momenteel XP gebruiken in een embedded toepassing is het zinvol een overstap naar Windows Embedded Standard te overwegen. Niet alleen zijn de licentiekosten lager, de ondersteuning van dit product door Microsoft is voor ten minste tien jaar gegarandeerd.