Skriv ut
ImageTopphemliga program körs vid sidan av helt öppna program på en och samma processor. Där vissa program går i säkerhetskritisk realtid och andra är sluggiga WIndowsprogram. En sådan lösning ska AMD och tyska Sysgo ta fram för inbyggnadsmarknaden.
Sysgos mikrokärna PikeOS ska dresseras till att utföra massor av imponerande konster på AMD:s multikärnor. Som att köra Windows Embedded XP och säkethetskritiska realtidsprogram i separata partitioner. Plus Linux i en tredje partition. Eller varför inte flera instanser av Linux, där var och en använder olika sekretessnivåer.

AMD och Sysgo är också först att lansera en lösning som bygger på den andra generationens hårdvarustöd för virtualisering, IOMMU.

Virtualisering är att förvandla en fysisk processor till flera virtuella processorer som kör varsitt operativsystem. Både AMD och Intel stöder virtualisering i hårdvara i flera modeller. AMD kallar tekniken för AMD-V eller Pacifica och Intel kallar den IVT eller Vanderpool.

Hårdvarustödet gör virtualiseringen lite enklare att implementera för företag som Sysgo, Trango och Virtuallogix som bygger virtualiserare. Samtidigt har bland annat Sysgo klagat på att  hårdvarustödet inte varit tillräckligt för att göra virtualiseringen effektiv.

Intel och AMD har lyssnat. NÄsta generation virtualiseringsstöd lägger till en IOMMU som gör det enklare, effektivare och säkrare att låta gäst-OS använda sig av DMA-enheter – enheter som levererar data genom att skriva in dem direkt i primärminnet.

En MMU (memory management unit) delar på ett säkert sätt upp minnet mellan olika processer (och gästoperativsystem vid virtualisering). En IOMMU (input-output MMU) ser till så att DMA-enheter inte kan störa varandra när de skriver i primärminnet.

Ett gästoperativsystem vet inte ens vilka fysiska minnesadresser den jobbar emot, så någon form av IOMMU är nödvändig för att ens göra DMA möjlig vid virtualisering.

Intel kallar sin IOMMU-teknik för VT-d och AMD kallar sin för I/O MMU.

Såpass mycket säkrare blir virtualiseringen med IOMMU, att Sysgo tror sig kunna bygga effektiva Mils-system som använder den. Mils (multiple independent levels of security) tillåter flera program med olika sekretssnivåer att samköras på samma processor utan att de kan spionera på varandra. Med hårda realtidskrav. Och i säkerhetskritiska tillämpningar.

Först ska Sysgo implementera sin nuvarande version av PikeOS på AMD:s multikärnor – man stöder idag singelkärnorna.

Sedan kommer man att modifiera PikeOS så att det utnyttjar AMD-V-instruktionerna. Och när de första I/O MMU-processorerna dyker upp, kommer man att stödja även dessa.

En viktig användning av virtualisering kommer att bli att integrera gammal mjukvara med nya funktioner. I stället för att börja peta i gammal programkod – med allt vad det innebär av risker för att det uppstår buggar – kan man ta det gamla systemet och köra det exakt som förut i en virtuell processor. I en annan virtuell processor lägger man Windows eller Linux med nya funktioner.

En annan användning blir konsolidering – flera oberoende system som förr kördes på separata processorkort kan plötsligt köras på virtuella kort i en enda processor.

Sysgo har idag kunder inom fordon, militär, flyg och test och mät.