VMwareLinux, Windows 95 och NT samtidigt på samma maskin
(99-07) VMware för Linux
VMware skapar en eller flera virtuella persondatorer som var och en kan köra sitt eget operativ. För programtestare och Linuxanvändare som behöver Windows-program finns inget bättre.
Uttalat stöd finns för Windows 3.1, 95, 98, MS-DOS 6, Windows NT 4.0, Linux, FreeBSD, Windows 2000 Professional Beta samt Solaris 7 Intel Edition. Även andra operativ kan fungera, men inga garantier lämnas.
Kräver: Intel Pentium eller bättre, minst 64 Mbyte minne samt Linux kärna 2.0.31 eller senare.
VMware är en mycket bra produkt för sitt ändamål: Att köra flera olika operativ samtidigt på en Intel-dator. Vi har testat Linux-versionen och är mer än väl nöjda.
Räcker det inte med ett operativ per dator? Nej, användningsområdena för virtuella maskiner är många: Linuxanvändare som behöver tillgång till Windowsmiljö; programutvecklare som behöver testa sitt program i olika miljöer; kundstöd och hjälptelefon där man måste kunna köra samma program som kunderna i exakt samma miljö; etcetera.
Men det finns ju redan Windowsemulatorer som Wine och Wabi, vad fyller VMware för funktion?
Skillnaden är kortfattat att VMware inte emulerar programgränssnittet i Windows utan istället tillhandahåller en hel virtuell persondator, med IDE-skivminne, CD, ljudkort samt nätverkskort.
I den virtuella datorn går det att installera valfritt gästoperativ, i varje fall så länge det har officiellt stöd av VMware. En del operativ fungerar inte, exempelvis BeOS och Unixware, beroende på att de gör oförutsedda saker med hårdvaran.
Vi testade Windows NT, Linux och FreeBSD och alla fungerar utmärkt - med en viktig anmärkning. Svenska tecken på tangetbordet blir inte rätt. Tillverkaren är medveten om problemet och en rättelse lär komma i framtiden.
Problemet är fönstersystemet Xs hantering av tangentbordskartor. Tryck på tangent översätts till X-symboler som sedan ska översättas tillbaka till tangenttryck i den virtuella maskinen. Någonstans på vägen blir det fel. (Det är fullt möjligt att en duktig X-användare kan programmera om tangentbordet så att svenska tecken blir rätt. Hör gärna av er till undertecknad isåfall.)
I grundinställningen har den virtuella maskinen bara enklast möjliga Super-VGA grafik. Men både till Unix och Windows följer det med speciella grafikdrivrutiner. Installeras de, så får det virtualiserade operativet full tillgång till värddatorns grafikupplösning. Och snabbt går det: Det är inga problem att köra grafiktillämpingar. Till och med OpenGL-skärmsläckarna ser bra ut.
Det går också att köra den virtuella maskinen över nätverket, på till exempel X-terminaler. Prestanda sjunker dock märkbart. Något egentligt fleranvändarsystem som NT Terminal Server blir det heller inte eftersom det bara är en användare per virtuell maskin.
Förnämlig är också implementationen av nätverk: Det finns ett virtuelt Ethernetkort som för gästoperativet ser ut precis som ett PCI-kort med AMD-kretsar. Den inbyggda Ethernetväxeln i Linux används sedan för att vidarebefordra paket till och från det virtuella kortet. De paket som ska vidare ut på det fysiska nätkortet skickas ut, men det går också att bara skicka paket internt i datorn.Tekniken gör det möjligt att köra vilka drivrutiner och vilka protokoll som helst ovanpå Ethernet.
En stor fördel är att nätverksemuleringen kan vara helt fristående från ett fysiskt nätverk. Det går till exempel att testa klient-server program mot varandra genom att köra två virtuella maskiner som bara har kontakt med varandra.
För skivminne finns tre olika varianter: VMware kan använda en fysisk partition på det existerande skivminnet, en fil som emulerar ett IDE-skivminne och samma fil fast med ångra-funktion.
Smidigast för programtestare är fil med ångra-funktion. Det fungerar så att alla ändringar till skivminnet sparas i en egen journalfil. När sedan den virtuella maskinen stängs av får användaren välja om ändringarna ska införas eller kastas. På så vis går det att installera program och ändra i systeminställningar utan att riskera att systemet blir oanvändbart: Det är bara stänga VMware och att välja »kasta» så försvinner ändringarna och alla nyinstallerade filer.
I skrivande stund finns VMware bara för Linux. Testversion för Windows NT ska enligt uppgift komma i maj. Det är dock avservärt svårare att göra en produkt som VMware utan att ha tillgång till källkoden för kärnan, så antagligen dröjer det innan VMware är lika stabilt och användbart för NT som för Linux.
För alla spelentusiaster måste tyvärr meddelas att de flesta spel inte fungerar. Anledningen är att de speciella grafikdrivrutinerna inte fungerar med Directdraw. Så det återstår trots allt en anledning för att ha Windows 9x kvar på datorn. (VMware lovar dock runt och påstår att såväl Directdraw som stöd för 3D-kort ska komma i framtida versioner.)
Plus och minus
+ Kör de flesta större Intel-operativ på samma maskin.
+ Fullständig tillgång till Ethernet - Linux inbyggda bryggning används.
+ CD och diskett fungerar och går att starta från.
+ Parallell- och serieport fungerar.
+ Anpassade grafikdrivrutiner för snabbhet.
+ Ljud
- Inget svenskt tangentbord i betaversionen.
- Minneskrävande.
- Inga Directdraw-program för spel och video.
- Inga SCSI, USB eller övriga specialenheter.
- Inget multiprocessorstöd i virtuella maskiner.
Virtuella Intel-maskiner gammal teknik i ny skepnad
Tekniken med virtuella maskiner är långt ifrån ny. De som är bekanta med stordatorer känner förstås igen sig. Virtuella maskiner som kör olika operativ isolerade från maskinvaran har funnits på IBMs datorer sedan sjuttiotalet.
Från och med Intels Pentiumprocessor finns också visst stöd för virtuella maskiner i persondatorerna. En virtuell maskin ser ut som en helt vanlig persondator för operativet som körs i den, men har inte direkt kontakt med maskinvaran.
Funktionen som gör det hela möjliget sitter i två små bitar i processorns statusregister: VIF (virtual interrupt enable) och VIP (virtual interrupt pending). Tillsammans gör bitarna för virtuella avbrott att det »riktiga» operativet som kör direkt mot maskinvaran kan vidarebefordra data till enhetshanterarna i det virtualiserade operativet.
Tidigare processorer i exempvis 486-serien har inte dessa bitar och fungerar därför inte för virtuella operativ.
Som fotnot kan nämnas att det också finns ett speciellt emuleringsläge för 8086-datorer, som kan användas för att till exempel köra virtuella DOS-maskiner. 8086-läget duger dock inte för riktiga operativ eftersom adressrymden är begränsad till en Mbyte.
Men det räcker inte med virtuell avbrottshantering. En virtualiserad maskin måste också hantera när operativet försöker skriva direkt till fysiska enheter.
Eftersom det virtuella operativet körs med låg behörighet orsakar varje försök att direkt komma åt fysiska enheter som skivminneskontrollern ett behörighetsfel (GPF - general protection fault). Det är sedan programvarans - VMware i det här fallet - uppgift att klura exakt vad operativet försökte göra, samt utföra det med programvara istället för den fysis
Text : Ola Sigurdson
(19990429)
OSYSTEM