Besturingssystemen installeren |
OS/2 Warp Connect onder Virtual PC OS/2 versie 2.1 onder Virtual PC Nog enige andere besturingssystemen
|
In april 2002 bracht de Duitse firma Innotek een bijzondere port op de markt: Virtual PC for OS/2. Het was een op ODIN technologie gebaseerde port van Virtual PC voor Windows van de firma Connectix. Helaas voor OS/2 gebruikers is dit product van de markt gehaald. Want in januari 2003 kreeg Virtual PC een nieuwe eigenaar, Microsoft, die nog geen half jaar later de distributie van Connectix' Virtual PC voor Windows en Innoteks OS/2 port ervan liet staken.
Er was a new sherrif in town met een andere visie op uw vriend of vijand tunnelvisie en bijbehorend goed bestuur:
Connectix ontwikkelde oorspronkelijke een Virtual PC voor de MAC (1997) en bracht later een Windows versies uit. Innotek, die Flash 5 op het OS/2 platform introduceerde, porteerde Virtual PC versie 4.3 voor Windows naar OS/2 via ODIN/Open32 technologie. Innotek bracht de OS/2 versies 4.3.2, 5 en 5.1 van Virtual PC voor OS/2 uit en zorgde voor een Windows versie met extra OS/2 ondersteuning via de nog steeds door zijn opvolger VirtualBox gebruikte OS specifieke addities.
Virtual PC is een PC emulator. Het draait - traag, maar waar, heuse PC besturingssystemen in een venster. Onder OS/2 viel de snelheid nog wel mee. U kunt met Virtual PC meerdere taken uitvoeren onder verschillende besturingssystemen. En als een venster onder een minder snelle processor - pardon besturingssysteem - wat op zich laat wachten, schakelt u tijdelijk over naar een ander gastbesturingssysteem of naar de gastheer waaronder alles draait.
Het mooiste is dat Virtual PC u een fantastische netwerkondersteuning biedt. Met voldoende werkgeheugen kunt u een netwerk aanleggen van meerdere besturingssystemen op één PC. Zo had ik behoefte aan de ooit eens aan mij geleverde 16 bits Windows programma's onder OS/s en Windows 2000, maar die programma's met al hun voor mij belangrijke data liepen ineens niet meer onder 64 bits Windows versies.
Op die manier kunt u bronnen delen, knippen en plakken tussen besturingssystemen die niets met elkaar gemeen hebben behalve hun door uw muis en uw toetsenbord gedeelde grafische interface. En natuurlijk de door hen gedeelde bronnen via het netwerk.
Met 32 MB (dus niet 32 GB!) RAM kan een Linux Virtual PC al dienst doen als een web- en e-mailserver of als applicatieserver voor X. In tekstmodus vraagt Linux weinig resources en de XFree86 server van OS/2 (of Hoblink X11) kan het grafische rekenwerk doen. OS/2 kan optreden als Proxy, NFS of Samba server voor Linux of omgekeerd. Een Windows 9x of NT Virtual PC kan dienst doen als Windows emulator voor Windows programma's die u met Wine niet aan de praat krijgt. 3D spelletjes lopen te langzaam, maar de 2D Windows Media Player viel me niet tegen.
Het is nogal wat om een ander besturingssysteem zodanig in te tomen dat het als een toepassing onder OS/2 loopt. Dit stelt hoge eisen aan Virtual PC, OS/2, de stuurbestanden en uw hardware.
Applicaties mogen de hardware niet direct benaderen. Het besturingssysteem is intermediair. Een meertaken besturingssysteem zorgt ervoor dat de applicaties (hun draden) om en om met de hardware (processor) praten. Hierbij krijgt een toepassing gedurende een van tevoren vastgestelde tijd toegang tot de processor. Via de processor krijgt het programma een deel van het virtuele geheugen en via de stuurbestanden toegang tot de randapparatuur. Mocht een programma direct (bug in het programma) of indirect (bug in het besturingssysteem of een stuurbestand) geheugen aanspreken dat aan een andere toepassing toegewezen is, dan zal de processor dit aan het besturingssysteem melden. Naar gelang de inschatting van het besturingssysteem of dit gevaarlijk is (kernel space) of niet (user space), wordt het besturingssysteem (trap error) of het programma met een foutmelding (SYS3175) afgesloten.
|
Gast applicaties |
Hypervisor (verborgen) |
Gast omgeving (Windows, Linux) |
Gast besturingssysteem |
Gast stuurbestanden |
Virtual PC (programma onder OS/2) |
Virtuele PC (processor, moederbord, geheugen) |
Virtuele randapparatuur |
Gastheer omgeving (OS/2) |
Besturingssysteem (OS/2) |
Stuurbestanden (van OS/2) |
Fysieke hardware |
Uw hardware (processor, moederbord, geheugen) |
Uw randapparatuur |
Gebruikersprogramma zullen het besturingssysteem dus moeten benaderen. Maar een besturingssysteem wil pure hardware zien. Hoe kan een besturingssysteem dan als applicatie lopen?
Een hardwarematige oplossing is de Virtuele DOS Machine (VDM) van Windows 9x en OS/2. In virtual 8086 mode emuleert de 386 processor een in real mode lopende 8086 processor. De DOS applicaties spreken een deel van het virtuele geheugen via virtuele 8086 processor aan, maar op de achtergrond wordt dit geheugen door het 32 bits besturingssystemen beheerd. De DOS applicaties mogen alleen de geëmuleerde 8086 hardware, BIOS en DOS functies aanroepen. Maar DOS applicaties die specifieke 80386 functies (bijv. segmenten >64 kb) aanroepen lopen niet. Dan volgt een foutmelding van de processor. Om die reden kunt u onder een VDM met bootlin ook geen Linux booten of met de DOS versie van PQMagic werken in een VDM.
Maar een 386 besturingssysteem zal de 386 en zijn geheugenbereiken zelf willen besturen. Het is geen applicatie die zich naar de regels schikt. En op de MAC ontbreekt zelfs de x86 processor. Hoe lost Connectix' Virtual PC dit op?
Daartoe krijgt ieder besturingssysteem een Virtuele PC toegewezen. Het is software die met behulp van uw besturingssysteem en uw stuurbestanden een specifieke hardware configuratie nabootst. De door Virtuele PC geëmuleerde hardware is met opzet conservatief gekozen. Het gaat om breed ondersteunde PCI randapparatuur: S3 videokaart, 16 bits Creative Labs PCI geluidskaart, DEC ethernetchip. Hiermee zal de Virtuele PC ook met verouderde of niet open source besturingssystemen lopen. Maar de PCI randapparatuur is wel modern genoeg om door een PnP BIOS lezend besturingssystemen (Windows 9x, NT, Warp 4, Linux) te worden herkend. De geëmuleerde randapparatuur van Virtual PC 4 zoals Windows die ziet vindt u in Apparaatbeheer.
Virtual PC 5 kwam met licht gewijzigde virtuele hardware. Maar ook deze zal door de meeste besturingssystemen meteen herkend worden.
Op de PowerPC moet Virtual PC software steeds een vertaalslag van de voor de geëmuleerde x86 processor geschreven machine code naar de op het systeem aanwezige RISC processor maken. De situatie is te vergelijken met Java: Daar verricht een just in time (jrt) runtime compiler het vertaalwerk van de voor een RISC processor geschreven Java applicaties naar het x86 gastbesturingssysteem. Dat geeft natuurlijk altijd vertraging.
De PC besturingssystemen en programma's die op de Windows en OS/2 versies van VPC draaien, kunnen hun x86 instructies wel op de x86 processor uitvoeren. Vooral gebruikersprogramma's zullen hiervan profiteren. Hun code kan onversneden worden uitgevoerd. Ze bewerken immers alleen maar hun eigen deel van het virtuele geheugen.
Voor systeemprogramma's en kernels die in kernelmodus draaien geldt een ander verhaal. Ze hebben onbeperkte geheugentoegang en mogen alle processorinstructies uitvoeren. Er moet dus een hogere instantie zijn die de niet onder OS/2 toegestane "fouten" van het gastbesturingssysteem corrigeert. Een onzichtbare beschermengel voor de kernels.
Hiertoe nestelt een minikernel van Virtual PC (de zogenaamde hypervisor) zich als een Stealth virus tussen het gastbesturingssysteem en de MMU. De ondersteuning van de hypervisor wordt via het stuurbestand VPCAPPS.SYS geladen. De in machinetaal geschreven hypervisor wordt als draad met hoogste prioriteit in de geheugenruimte van het gastbesturingssysteem uitgevoerd. Om te voorkomen dat twee geheugenbeheerders met dit geheugen aan het werk gaan, valt het door VPC gebruikte hoofd- en videogeheugen van het gastbesturingssysteem niet onder het beheer van OS/2's geheugenbeheerder (MEMoryMANager), maar wordt het als niet swappable ("long term locked") systeemgeheugen verstrekt. Binnen dit voor hem gereserveerde fysieke geheugen kan het gastbesturingssysteem geheugenpagina's naar zijn pagineringsbestand schrijven. Dat blijft dus zijn verantwoordelijkheid.
Mocht een gast OS besluiten de geheugenruimte van de (voor hem verborgen) hypervisor te overschrijven, dan zal de hypervisor zich snel naar een veiliger plek in het geheugen verplaatsen. Zodra de kernel van de gast iets met de geheugentabellen doet, waardoor OS/2 in de problemen kan komen, zal de hypervisor ingrijpen. Hij vertaalt de instructies zo, dat OS/2 ermee kan leven. Dit gaat zo snel (milliseconden) dat OS/2 en zijn gastbesturingssystemen er zelf niets van merken.
In mijn praktijk verliep de samenwerking tussen OS/2 en de gastbesturingssystemen bijzonder goed. VPC gedroeg zich aldoor als een fatsoenlijke OS/2 PM applicatie die het actieve venster netjes afstond. De stabiliteit van OS/2 en Presentation Manager leden dus niet onder VPC. En dat is beslist geen geringe prestatie voor een programma dat met zijn eigen stuurbestand met de hoogste prioriteit loopt. Dat kan alleen als het programma excellent geschreven is.
Ik zag wel vastlopers van het PM programma Virtual PC. Ze ontstonden typisch tijdens het booten van een al dan niet opgeslagen Virtuele PC. In deze tijd-kritische situatie zullen het gastbesturingssysteem en zijn hypervisor nog niet volledig in het geheugen geladen zijn. Het gastbesturingssysteem zal tijdens het booten de processor benaderen, maar de niet door OS/2 toegestane acties van het gastbesturingssysteem worden nog niet door de hypervisor opgevangen. Omdat het gastbesturingssysteem als een PM programma onder OS/2 loopt zal het PM programma Virtual PC met de foutmelding "Unhandled exception" worden afgesloten. Dat is een onder OS/2 onvermijdbare situatie. U kunt deze bootproblemen voorkomen door tijdens het bootproces van een gastbesturingssysteem niet naar een ander programma over te schakelen. Na het booten hebt u weer vrij spel.
Image-bestanden op de vaste schijf dienen als virtuele vaste schijven. Voor het besturingssysteem gaat het om een tot drie 16 GB schijven, maar VPC gaat zuinig om met uw schijfruimte en via een slim Virtual Hard Disk beheer kunt u net als op een multibootsysteem de besturingssystemen elkaars schijfruimte laten delen..
Om een Virtuele PC als applicatie te kunnen draaien moet u beschikken over een snelle en stabiele PC (> 400 MHz) en een goed multitasking besturingssysteem. Virtual PC vraagt veel van uw hardware en drivers. Kleine gebreken zullen zichtbaar zijn. Een besturingssysteem is immers geen spelletje. Innotek adviseert OS/2 Warp 4 met FP 15, hoewel FP 8 het in testen ook deed.
De met processoroptimalisaties volgestouwde Virtual PC 5 is snel op een Athlon, maar relatief langzaam op een gelijk geklokte Pentium IV processor. De Duron, Celeron, Pentium II, en Pentium III processors doen het weer goed. Virtual PC 5 ondersteunt de Pentium MMX, AMD K6-II or AMD K6-III niet meer. Ook de nog niet ondersteunde OS/2 SMP systemen veroorzaken veel problemen. De kloksnelheid van de processor zegt niet alles. Belangrijk is dat de processor en het host OS beschikken over een goed ondersteunde level 2 cache, een stabiel moederbord (BIOS) en veel werkgeheugen (>256 MB). Reken voor puur processorwerk (niet grafische applicaties) op een vertraging van ongeveer 75%. Maar voor grafische applicaties zal de vertraging ten opzicht van een 3D DirectX kaart vele malen hoger zijn.
Het werkgeheugen dat u aan een virtuele PC toekent, wordt van het voor OS/2 applicaties en het systeem beschikbare vrije geheugen afgenomen. Daarnaast gebruikt VPC zelf ook iets van 30 MiB RAM (virtueel meer!). Dus als uw systeem 1 GiB geheugen heeft en een gast PC draait met 512 MiB werkgeheugen, dan ziet u tijdens het laden van het gast besturingssysteem dat het vrije geheugen met 512 MB dalen. En als de swapper.dat groeit, dan is dat vooral omdat residente OS/2 applicaties door VPC uit hun fysieke geheugenplaatsen verdreven worden.
VPC reserveert voor zijn gastbesturingssystemen dus veel meer fysiek geheugen dan de gewone OS/2 applicaties die virtueel geheugen gebruiken. Als zij laden beschikken ze weliswaar over vele geheugenadressen, maar die zijn maar voor een klein deel aan fysiek RAM gekoppeld (memory mapping). De programma's krijgen met lazy commit pas beschrijfbare geheugenplaatsen als ze het daadwerkelijk gebruiken, en zo nodig (als er veel virtueel geheugen gecommitteerd is) wordt de inhoud van minder benodigde geheugenplaatsen naar de vaste schijf geswapt.
Maar de lazy commit truc die goed werkt met programma's met een kleine werkset, gaat voor een gastbesturingssysteem niet op. Die moet meteen over al zijn gereserveerde geheugen beschikken. En dat bestuurt hij vervolgens met zijn eigen geheugenbeheerder. En niet via de slimme geheugenbankier van OS/2. Het door OS/2 geheugen is dan ook gelabeld als unswappable en long term locked. Het moet dus aldoor beschikbaar zijn.
Toch draait VPC wel als een gebruikersapplicatie onder OS/2. En daarom moet het door VPC voor gastbesturingssystemen gereserveerde geheugen wel in het virtuele geheugen van OS/2 afgebeeld worden. Dat is dan ook de reden dat VPC op moderne OS/2 4.5 kernels, waar programma's over meer virtuele geheugenadressen beschikken, ook veel meer fysiek geheugen beschikbaar kan gebruiken. Op een OS/2 2.0 t./m 4.0 systeem met 1 GiB RAM kunt u al een foutmelding krijgen als u een gast besturingssysteem laadt dat groter is dan 250 MiB. De oorzaak is dan een gebrek aan virtuele geheugenadressen voor het OS/2 programma VPC. Zie mijn Warpstock presentatie Virtual memory problems onder OS/2.
Op moderne kernels moet u de VAL dus niet te laag zetten. Bij een VIRTUALADDRESSLIMIT=1024 zag ik dat bij het laden van een derde gastbesturingssysteem het aantal vrije lage geheugenadressen snel van 250 naar 0 MiB kelderden. Klaarblijkelijk waren de virtuele geheugenadressen boven de 512 MiB al door VPC bezet. Alleen het afsluiten van VPC met Watchcat hielp toen nog. Maar bij een te hoge VAL (> 2048) loopt u weer het risico dat essentiele stuurbestanden niet laden. Wat is dan aan de hand? Vraag het uw ziel.
Dat het moederbord de kern van de PC is wordt nog wel eens vergeten. Op mijn Celeron 400 (met geintegreerde level 2 cache) met 256 MB Ram liep Virtual PC naar tevredenheid. Op dit moment gebruik ik een Athlon 1700 XP met 512 MB RAM op een Asus A7V333 moederbord. Maar ik kan me voorstellen dat Virtual PC op een standaard discount PC - een snelle processor op een goedkoop moederbord - in de problemen komt. Een bijzonder aandachtspunt blijft de koeling van de processor. Een VPC sessie vreet processortijd (regelmatig 100%) en zal veel van de koeling vergen. Zeker op een overgeklokte PC...
Het is veelzeggend dat Virtual PC een Standaard PC emuleert. Dus niet de gebruikelijke ACPI Uniprocessor PC. Het heeft als voordeel dat de niet Windows PnP systemen zich goed installeren laten. Maar het is zonneklaar dat de gast PC's niet aan energie-besparing doen. Dat geldt alleen voor de hardware van het host-besturingssysteem.
Omdat er op het grafische vlak veel van OS/2 verwacht wordt- u zult immers grafische besturingssystemen 2D draaien - is een snelle door SciTech Display Doctor (SDD) ondersteunde 2D videokaart een pre. Virtual PC voor OS/2 is geoptimaliseerd voor de op Graphics Adapter Device Driver (GRADD) gebaseerde videostuurbestanden (SDD, Matrox, nVidia). Hoe meer rekenwerk de hoofdprocessor via de GRADD API's naar de videoprocessor kan delegeren, hoe beter.
Hiertoe maken Virtual PC en GRADD uitgebreid gebruik van Direct Interface Video Extensions (DIVE) van dive.dll. Via de DIVE interface van Multimedia Presentation Manager/2 kunnen Presentation Manager (PM) en fullscreen (FS) OS/2 programma's de videokaart rechtstreeks beschrijven. MMPM/2 software motion video, OS/2 ports van de spelletjes Doom en Quake voor OS/2 en de emulator MAME maken hier gebruik van.
Onder SciTech Display Doctor kan de WarpOverlay! API bepaalde videokaarten hardwarematig benaderen bij het vergroten en verkleinen van videobeelden in PM vensters. WarpOverlay vervangt en versnelt de DIVE API. Deze van SDD afhankelijke techniek is vooral van belang bij de het decomprimeren van de MPEG CODECs (COmpressor DECompressor) onder OS/2 door WarpVision, maar zal ook de 2D van VPC versnellen. De multimediaspeler WarpVision is freeware. De stuurbestanden van WarpOverlay zijn shareware.
Met goede drivers en een snelle 2D kaart kunt u onder een breedbandverbinding het TV Journaal met de tweedimensionale Windows Media Player bekijken. Maar driedimensionale spelletjes vertonen altijd een schokkerig beeld. Ten eerste omdat VPC een tweedimensionale S3 kaart emuleert. En ten tweede omdat OS/2 nog geen 3D API kent.
Van Virtual PC word gezegd dat het onder de ware 32 bits besturingssystemen (Windows NT, 2K en XP, maar niet op de DOS/Windows 9X varianten) gemiddeld 60% van de processortijd direct kan benutten. Nu zal dat er in hoge mate afhangen van wat u doet. Want de hardwarecomponenten die een Virtual PC goed naar de real PC hardware delegeren kan zijn:
Het aan het gastbesturingssysteem toebedeelde geheugen (100%)
De processor voorzover die in gebruikersmodus draait (100%)
Functies op het moederbord.
2D videohardware via DIVE of WarpOverlay en de S3 gastbesturingssysteem drivers.
Een geluidskaart.
Maar de vaste schijftoegang hoort hier niet bij. Die hangt af van de schijf zelf (inclusief de ingebouwde hardware cache), de effectiviteit van de de cache van het gastbesturingssysteem en dus van OS/2. Het wordt als een pre gezien dat de gastbesturingssystemen de vaste schijf via de DMA kanalen kunnen benaderen. Het werd het als volgt beredeneerd (Bron: "sjain" in Topic: How can I improve speed of Guest OS):
Op veel besturingssystemen zult u de DMA modus zelf moeten aanzetten. Onder Linux kunt u hdparm uitproberen op een root console via Ctrl-Alt-F2. Als het op de prompt werkt plaatst u deze opdrachten (voor resp. de vaste schijf en de CD) in /etc/init.d/boot.local:
Geeft:
Overigens bleek het verschil in snelheid tijdens benchmarks met bonnie nauwelijks uit te maken, maar ik sluit niet uit dat factoren als de ingebouwde vaste schijfcache, het bestandssysteem (hier Reiser) en de Linux cache de verschillen maskeren. Bovendien zal het effect van DMA en SMS vooral zichtbaar zijn als u meerdere intensieve taken tegelijkertijd uitvoert. Ik houd de DMA daarom maar aan.
In een artikel uit 2000 over het installeren van OS/2 op de MAC werd busmaster DMA voor de OS/2 gast afgeraden: Installieren und Betreiben von OS/2 auf einem Macintosh. Maar onder mijn OS/2 systeem met een VPC 5.1 heb ik er geen last van. Integendeel: ik denk dat het een voordeel biedt en ik kon de laatste IBM en Dani OS/2 IDE drivers zonder problemen installeren.
Windows 95 ondersteunt busmaster DMA op VPC met de Intel BMIDE_95.EXE driver. Op de Intel website is hij niet meer te vinden (Windows 95 wordt niet meer door Wintel ondersteunt), maar met een FTP zoekopdracht op AllTheWeb.com hebt u hem zo. De processorbelasting bij vaste schijf benadering zou tijdens PIO acties ongeveer 40% zijn tegenover 25% bij busmaster DMA.
De kern van ieder PC vormt het BIOS. Iedere virtuele PC beschikt over zijn eigen PnP BIOS. Dit BIOS laat het booten van bootfloppies, bootbare CD's en hun image bestanden (virtual floppy disk, vfd en iso bestanden) toe. Vrijwel ieder mij bekend PC OS bleek ermee te booten. BEOS echter niet. Dat heeft met het BEOS' afwijkende geheugenbeheer te maken (deels 64 bits).
Voor ieder besturingssysteem dat u installeert zult u een virtuele PC moeten samenstellen. Dit gaat via de Wizard New PC. Eerst wordt het geheugen toegekend (4-181 MB). Omdat Virtual PC zelf al 40 MB RAM gebruikt, en het programma ervan uit gaat dat u meerdere besturingssystemen tegelijkertijd gaat draaien, wordt het RAM in eerste instantie wat zuinig toebedeeld. Maar dit kunt u voor iedere boot weer aanpassen (Settings). Ik heb wat werkbare minimum en maximum hoeveelheden geheugen aan Innoteks lijstje toegevoegd. Bedenk dat RAM niet alleen nodig is voor het besturingssysteem en de applicaties, maar ook gebruikt wordt door de cache van het gastsysteem. Sinds versie 4.3.2 wordt de vhd schijfmirror met de optie -usehostdiskcache door OS/2 gecacht. Om dubbele caching te voorkomen was dit eerder uitgezet.
Besturingssysteem |
Geheugen |
Min |
Max |
---|---|---|---|
DOS (met DOS extenders) |
16 MB |
4 MB? |
16 MB |
Dos/Windows 3.1(1) |
32 MB |
4 MB? |
32 MB |
Windows 95 |
32 MB |
16 MB? |
128 MB |
Windows NT |
64 MB |
|
|
Windows 98 |
64 MB |
32 MB? |
181 MB |
Windows ME, Windows 2000 |
96 MB |
64 MB? |
181 MB |
Windows XP |
128 MB |
128 MB? |
181 MB |
Linux, OS/2 |
64 MB |
16 MB? |
181 MB |
Netware |
200 MB |
|
|
Tijdens installaties, met altijd veel lees- en schrijfactiviteiten, is het verstandig het besturingssysteem tijdelijk extra RAM te geven.
Daarna kunt u een virtuele harddisk (vhd-bestand) voor de virtuele vaste schijf instellen. Ook hierin is Virtual PC zeer flexibel. Hierbij kan gekozen worden voor de aanmaak van een nieuwe partitie op een image bestand of installatie in een al bestaand vhd bestand (Dual Boot of update).
Voor Microsofts besturingssysteem verzorgt de New PC Wizard meteen ook de partitionering en formattering van de virtuele vaste schijf. Zo zal de Wizard voor DOS, Windows 95 en NT een virtuele 2 GB partitie met FAT16 aanmaken. Windows 9x en XP komen op 2 GB vFAT of 16 GB FAT32 schijven terecht. Omdat vFAT en FAT32 onder VPC sneller zijn, zal de Wizard geen NTFS voor NT en XP voorstellen.
In een later stadium kunnen andere vhd-bestanden als tweede of
derde schijf worden toegevoegd. In de afbeelding hieronder gebruikt
Windows 2000 de C van Windows 95 ("Winkukel") als tweede
vaste schijf. Op die manier kunnen ze net als op de echte PC
bestanden en programma's delen. Voor meer info zie: Over
partities en partitioneren.
Het
gaat steeds om partities op een virtuele vaste schijf. Het image
bestand is meestal iets van 2 GB. Maar omdat die virtualisatie zo
levensecht is zien de partitioneringsprogramma's een vaste schijf van
16 GB voor zich. Linux kan er moeiteloos Ext2, Ext3 of een Reiser op
aanmaken. Ook de voor het bestandssysteem ontworpen undelete en
defragmentatietools zullen het doen.
De ruimte die zo'n vhd-bestand op uw schijf inneemt, wordt bepaald door de vullingsgraad van de virtuele schijf. Denk hierbij niet alleen aan de zichtbare bestanden, maar ook aan recent gewiste bestanden en de overhead van het bestandssysteem. En als de hiervoor benodigde schijfruimte groter wordt dan de maximale bestandsgrootte van HPFS (2 GB), zal Virtual PC extra imagebestanden aanmaken.
De VPC Wizard maakt voor MS systemen standaard primaire FAT en FAT32 partities aan. FAT partities zijn maximaal 2 GB, maar FAT32 partities zullen op papier (virtueel) de hele schijf in beslag nemen (16 GB). FAT en FAT32 partities worden echter vooral aan het het begin van de partitie beschreven. De ruimte achterin wordt pas gebruikt als het eerste deel gevuld is. Hierdoor hoeft Virtual PC niet meteen de volle 16 GB voor met FAT32 geformatteerde virtuele schijf te reserveren. De door de VPC Wizard aangemaakte 16378.7 MB FAT32 partitie van Windows 2000 (Win2000.vhd) was 2 GB groot. Dat is de maximale bestandsgrootte van HPFS. Is er meer ruimte nodig, dan worden extra virtuele harddisk (Win2000.v01, Win2000.v02) aangemaakt.
Maar iemand die Windows 2000 Server met zijn eigen bestandssysteem installeerde kwam er achter dat NTFS 5.0 bij voorkeur ongebruikte blokken toewees. De ruimte die vrijkwam door het wissen van bestanden werd niet onmiddellijk hergebruikt. Vanuit het bestandssysteem gezien is dat een goede strategie, maar hierdoor gaat de virtuele schijf veel sterker groeien dan u op grond van de aanwezige bestanden mag verwachten. Iets soortgelijks zal zich met HPFS voordoen. HPFS zal een 16 GB schijf immers vanaf het midden beschrijven. Een 16 GB HPFS schijf neemt dan al meteen al 8 GB in beslag. In dergelijke gevallen kunt u de schijf maar het best zelf partitioneren of het onder VPC snellere FAT16 (met een grote FAT cache) gebruiken.
Voor DOS en Windows gasten levert Innotek VPC addities. Het gaat om stuurbestanden die in het gast OS geïnstalleerd moeten worden en bepaalde diensten leveren. Ze zijn als floppydrive image (DOS addities) of als CDRom images (Windows addities) te installeren. Dat kan vrij simpel door in het al geïnstalleerde OS op te starten en door Floppy of CD / Capture Image en DosAdditions.vfd of onder CD Additons/*.iso te openen. Onder DOS start de virtuele A: schijf DOSADD op en onder de virtuele Windows D:/setup.exe.
De belangrijkste addities zijn gedeelde mappen (Shared Folders). Daarnaast wordt het klembord ondersteund (Copy and Paste). Slepen en neerzetten (Drag and Drop) wordt onder VPC voor OS/2 niet ondersteund.
Gedeelde mappen zijn te vergelijken met netwerkdrives. Met dat verschil dat u er geen serversoftware voor hoeft te draaien. Een groot nadeel is dat ze traag zijn. In de praktijk zijn ze alleen voor te gebruiken voor het delen en uitwisselen van data. Maar het draaien van schijf-intensieve applicaties vanaf een gedeelde map gaat erg traag. Voor mij was het sneller om een grote applicaties vanuit een virtuele PC van en naar een OS/2 netwerkschijf te installeren, dan van en naar een gedeelde map.
Mits u over voldoende geheugen (256-512 MB) beschikt kunnen meerdere besturingssystemen naast elkaar op de Desktop draaien. Via met OS/2 gedeelde schijven (Shared Folders) en netwerkverbindingen kunnen ze met elkaar communiceren.
Daarnaast kunnen besturingssystemen elkaars de partities van hun virtuele schijven delen. Hierbij gelden dezelfde regels als in "Over partities en partitioneren". In feite is een Virtuele PC een ideale omgeving om het partitioneren te oefenen. Fdisks en Tools als PartitionMagic en DFSee zullen het gewoon doen.
Een prettig verschil met de echte PC is dat u uw vaste schijven kunt verwisselen zonder de systeemkast open te maken! Als u drie virtuele vaste schijven, bijv. een Windows NT, DOS en Windows 95 bootpartitie aan één virtuele PC koppelt kunnen ze elkaars primaire partities zien. Hieronder een schema met Windows 2000 als primaire (boot)partitie. Deze kan de primaire partities van de Dos en Windows 95 virtuele schijven als E en F gebruiken.
C |
Windows NT |
winnt.vhd |
IDE 1 |
D |
CD-ROM |
|
|
E |
Dos |
dos.vhd |
IDE 2 |
F |
Windows 95 |
w95.vhd |
IDE 3 |
Natuurlijk moeten de besturingssystemen elkaars bestandssystemen kunnen lezen. Windows 95, NT4 en DOS kunnen geen FAT32 lezen, maar Windows 95 OSR en opvolgers (incl. W2K en XP) wel. Als u met 2 GB uitkomt, installeert u de gedeelde Windows programma's op een vFAT schijf. Overigens mogen besturingssystemen die een virtuele schijf delen niet tegelijkertijd actief zijn. Probeert u het toch, dan geeft VPC een foutmelding. De reden is simpel: voor een snelle virtuele vaste schijf toegang moet het besturingssysteem exclusieve toegang hebben tot het gehele image bestand op de vaste schijf.
Voor de als addities geinstalleerde shared folders geldt dit niet. Hier beheert de OS/2 kernel in samenspraak met het gast OS de file locking van ieder bestand. Misschien verklaart dat hun traagheid.
Netwerkschijven zijn aanzienlijk sneller. Ze zijn voor bestandsdeling ontworpen. Hier handelt de server de file locking af. Bestanden die OS/2 via NetBIOS, NetBios via TCP/IP of NFS (eComStation) beschikbaar stelt, zijn met een flinke cache door vrijwel alle besturingssystemen snel te benaderen.
Er zijn verschillende mogelijkheden om Virtuele PC's met elkaar te laten samenwerken. U kunt dit voor ieder gastbesturingssysteem afzonderlijk instellen. De meeste mogelijkheden hebt u met Innoteks Virtual Switch onder de 32 bits TCP/IP stack van eComStation. Hiermee worden alle mogelijkheden van een ethernetwerk ondersteund.
Standaard biedt Virtual PC voor OS/2 haar gastbesturingssystemen Shared Networking aan. Hierbij treedt Virtual PC als een softwarerouter met netwerkadresvertaling (NAT) voor het gastbesturingssysteem op.
VPC biedt de virtuele netwerkkaart van het gastbesturingssysteem een virtuele DHCP server die hem met de gastheer verbindt. Door de netwerkvertaling ziet de buitenwereld het door de DHCP server verstrekte lokale IP adres van het gastbesturingssysteem niet en wordt u via het publieke IP adres van de gastheer op het internet verbonden. De servers van het gastbesturingssysteem zijn niet te zien: noch op het LAN, noch op het internet (firewall functie), maar het gastbesturingssysteem kan wel van de TCP/IP servers (proxy) op het LAN en van een dial-up verbinding van de gastheer met het internet profiteren.
Internet |
OS/2 |
|
---|---|---|
Router van de provider |
IP adres van de provider (vast, DHCP) |
|
IP adres op het LAN (vast, DHCP) |
LAN clients met elk hun eigen IP adres |
|
|
=====Netwerkadresvertaling====== DHCP server van VPC Het gastbesturingssysteem (DHCP client) kan via de default route van zijn gastheer het internet op. |
=====NETBIOS vertaling====== Het gastbesturingssysteem kan op het ethernet LAN zijn bestanden aanbieden via het NetBIOS. |
De netwerkadresvertaling beschermt de met het internet verbonden gastheer natuurlijk niet. Zet hier niet het onder VPC's shared networking toch niet werkende NetBIOS via TCP/IP in, maar het niet vanaf het internet te benaderen NetBIOS (NetBEUI). Dit protocol voor direct met elkaar verbonden ethernetkaarten wordt via een aparte NetBIOS vertaling ondersteund. Het stelt u in staat bestanden met andere OS/2 en Windows computers op uw LAN via hun NETBIOS namen te delen (bijv. \\ecs\data). De Window netwerkomgeving wordt onder Shared Networking niet ondersteund ("Unable to browse the network"). Deze werkt alleen met TCPBEUI.
Omdat ik op het netwerk vaste IP adressen gebruik koos ik voor de Virtual Switch optie. Hierbij kan iedere Virtuele PC onder zijn eigen IP adres functioneren. Dat kan een vast IP adres zijn of een door een DHCP server toegewezen adres. Ik koos voor vaste IP adressen. De virtuele switch kent aan iedere netwerkkaart van het gastbesturingssysteem een uniek, niet met ARP te achterhalen, MAC adres toe.
Internet |
OS/2 |
|
---|---|---|
Router van de provider |
IP adres van de provider |
|
Een vast of door DHCP toegewezen IP adres op het LAN |
LAN clients met elk hun eigen IP adres |
|
|
Virtual switch treedt op als een software switch. |
VPC clients met elk hun eigen IP adres |
Hiervoor moet u het stuurbestand SWITCH.OS2 installeren. Tijdens de installatie van VPC wordt dat voor u gedaan. U hoeft slechts de betreffende optie aan te vinken. Mocht er iets misgaan, dan kunt u het stuurbestand ook handmatig installeren. Het stuurbestand laadt een netwerkprotocol waarmee de virtuele netwerkaarten via een virtuele switch aan de interface van de OS/2 ethernetkaart worden gebonden. Hieronder ziet u een MPTS configuratie voor TCP/IP en NetBEUI op adapter 0 en TCPBEUI op logische adapter 1 . Let op de interface nummers (instellen met change numbers).
Bezit uw PC geen geconfigureerde netwerkaart dan kunt u gebruik maken van de loopbackinterface 127.0.0.1. Op dit adres kunt u vanaf een andere besturingssysteem de OS/2 PC weliswaar niet bereiken, maar met virtual switch optie "Local only" kunnen de gastbesturingssystemen elkaar toch zien. Ze beschikken immers over een gevirtualiseerde netwerkkaart.
Daarnaast bestaat de optie "Local and host" waarmee de gastbesturingssystemen elkaar en de gastheer kunnen benaderen. Voor de communicatie met de gastheer is een ethernetkaart vereist. Een voordeel van deze en de voorgaande instelling is dat de gastbesturingssystemen niet vanaf het internet zijn te zien.
De meest gebruikte instelling is "Local, host and external". Hierbij kunnen de virtuele PC's gebruik maken van de fysieke netwerkaart om andere PC's op het LAN te bereiken.
Bedenk op een met het internet verbonden PC steeds dat het delen van schijven risico's behelst. NetBios via TCP/IP en NFS shares zijn op het internet te zien. Maar via een Trojaans paard op een met het internet verbonden Windows PC staan ook de door Windows benaderde OS/2 NetBIOS shares te kijk.
Een duidelijk minpunt is dat de virtual switch soms de netwerktoegang tot externe shares enorm kan vertragen. Mijn Linux samba server werd eens een factor 30 trager. Later kwam dat niet terug. Bij slechte prestaties kan het zin hebben de bij uw versie geleverde switch.os2 door een oudere versie te vervangen. Zo levert het vervangen van switch.os2 uit versie 5.1 door die van 5.0 betere NetBIOs prestaties op (switch.os2).
Stuurbestanden voor de Intel netwerkkaart voor allerlei besturingssystemen: NCBB - Driver and Utilities
Als CAD onder Windows een reflex geworden is (bij mij op het werk), dan hebt u met VPC een probleem, want met Control-Alt-Del sluit u OS/2 af. OS/2 houdt het terecht het beheer over systeemtoetsen als Ctrl-Esc (Taakoverzicht) en Ctrl-Alt-Del. U kunt deze tijdelijk uitzetten het nocad.zip utility.
Hoe sluit u dan een virtuele PC af? Hiervoor gebruikt u de afsluitfuncties van het gastbesturingssysteem (Windows /Start...). Daarnaast kunt u net als met VNC het in het venster aanwezige gastbesturingsyteem met PC / Type Ctrl+Alt+Del een gericht afsluitsignaal sturen. Dit heeft de voorkeur boven PC / Shutdown / Turn off PC.
Een bijzonder prettige mogelijkheid is om de status van een actieve virtuele PC sessie op de vaste schijf op te slaan (PC / Shutdown / Save State PC). De functie is te vergelijken de Standbyknop en winterslaapfunctie van een laptop. Hiermee bespaart u zich trage opstart- en aanmeldingsprocedures. U gaat door met waar u gebleven was. Door de Virtuele PC met Shutdown / Save PC state af te sluiten, kon ik zelfs de installatie van OpenOffice onder Windows onderbreken (afbeelding). Maar net als bij de Power Off optie van een laptop raakt u wel actieve netwerksessies kwijt.
Innotek adviseert het 32 bits Windows NT 4 als Windows gastbesturingssysteem. Windows NT (64 MB aanbevolen) gebruikt veel minder overhead dan Windows XP (128 MB nodig), maar heeft wel de eigenschappen van een pre-emptive multitaskend 32 bits besturingssysteem. De Nieuwe Windows Technologie was niet voor niets op OS/2 gebaseerd.
Windows 95, 98 en ME zijn daarentegen hybride 16/32 bits besturingssystemen met een gebrekkige multitasking en onvoldoende geheugenprotectie om een stabiel werken te garanderen. De laatsten leiden tot blauwe schermen en andere vastlopers. Onder VPC valt hier beter mee te leven dan met een en echte PC: U reboot de gast en gaat gewoon met het gastheerbesturingssyteem door, maar prettig werken is het niet.
Het veelvuldig gebruik van 16 bits systeemaanroepen door Windows 9x vertraagt Virtual PC. Het in 32 bits protected mode draaiende Virtual PC kan de meeste 32 bits taken meteen naar de hardware processor delegeren, maar voor 8 en 16 bits applicaties gebruikt het 32 bits met de processor pratende VPC noodgedwongen de trukendoos. Maar de softwarematige aanpassingen van een in het dynamisch RAM geëmuleerde virtuele PC verlopen natuurlijk vele malen trager dan de hardware routines van een met statisch RAM uitgeruste hybride 16 en 32 bits Intel processor.
OS/2 en Windows NT kennen ook 16 bits onderdelen. Zo zijn veel OS/2 stuurbestanden 16 bits. Maar ze communiceren als het even kan 32 bits met de processor. En ze doen dit voor gewone programma's nooit coöperatief (Zie: Multitasking onder OS/2).
De gebrekkige multitasking en onvoldoende geheugenprotectie vormen het grootse probleem van de 16 en 32 bits Windows 9x/ME systemen. CPU intensieve applicaties (videoclips op de Windows MediaPlayer) draaien op het voor hen geoptimaliseerde Wintel platform bepaald niet slecht. Het probleem ontstaat echter als een applicatie enige CPU-tijd moet delen met een andere applicatie. Dan zijn Windows 9x/ME varianten niet in staat om de processortijd en het geheugen adequaat te verdelen. Die situatie doet zich al voor als u op een met 32 MB uitgeruste Windows 9x versie een virusscanner en een firewall installeert. De firewall, scanner en de netwerkapplicaties moeten dan samenwerken. Maar het tot dan toe nog werkende systeem wordt dan tergend traag. U moet dan meer (minimaal 64 MB) RAM installeren. Toch zou onder OS/2 of NT de "working set" van het systeem ver onder de 32 MB liggen. Maar omdat de op een veranderde situatie traag of niet reagerende Windows kernel de schaarse bronnen niet op het juiste moment aan de hierom vragende applicaties levert, wordt Windows traag en niet responsief. U ziet dan een zandloper of een blauw scherm.
Kortom: de processortijd die NT en Windows onder OS/2 krijgen (al gauw >95%), wordt door NT efficiënter over de applicaties verdeeld dan onder Windows 9x. Helaas heeft het gebruik van van de op NT gebaseerde Windows XP alleen zin als u over een snelle processor (> 1000 Mhz) en veel RAM (> 384 MB) beschikt. Windows 2000 gebruikt minder bronnen, mar hier kunt u beter van de bij VPC voor OS/2 Windows addities afzien, omdat die bij een update via de W2K service packs tot grote problemen leiden.
Op XP kan de productactivatie u in theorie in de problemen brengen. Ook al draait u XP slechts op een PC, de door XP bij de activatie onderzochte hardware is wel veranderd. Als u op een OEM uw moederbord en uw processor verwisselt, moet u de situatie uitleggen en het systeem dus telefonisch activeren.
Maar ik kon mijn Windows OEM XP Home Edition zowel onder de real PC als onder VPC voor OS/2 installeren. Het ging om dezelfde PC. Ik kan dus dezelfde OEM maar eenmaal draaien. Ik neem aan dat MS tijdens de internet activatie vooral naar de processor kijkt en in het geval van VPC de andere hardware voor lief neemt. Maar een mirror hiervan op mijn laptop (met een andere processor) deed het niet. Dat lijkt me een fair policy.
Voor Windows 2000 liggen de geheugenvereisten weer wat lager (92 MB). De Windows 2000 bèta liep hiermee bij mij naar tevredenheid (en dat zegt wat). En aanzienlijk beter dan het minder werkgeheugen vereisende 32 bits Windows 95 (16-32 MB, maar kreeg 64 MB). Maar met Windows 2000 ontstonden wel veel VPC problemen onder OS/2 na de updates.
Mijn tip: installeer de bij OS/2 geleverde VPC addities niet op Windows 2000. Het heeft er veel weg van dat die door recente service packs onderuit gehaald worden. Bug or feature?
Onder Windows XP kunt u in de Eigenschappen van Deze computer nog wat optimalisaties doen:
Onder Verbindingen van buitenaf kunt u Hulp op afstand uitschakelen.
Onder Systeemherstel vinkt u Systeemherstel uitschakelen aan ( dit bespaart veel ruimte en u verandert de VPC hardware toch niet!)
U zou Automatische updates kunnen uitschakelen (maar veilig is dit niet).
Onder Geavanceerd klikt u op de instellingen van Prestaties : Beste prestaties. De visuele effecten kosten immers processortijd. U moet dit per account instellen!
Windows XP is niet veilig zonder Service Pack 2 (SP2) te gebruiken. Maar de installatie van SP2 verloopt niet altijd vlekkeloos. Om die reden raadt Microsoft u aan om eerst een backup van uw systeem te maken. Onder VPC gaat dat gemakkelijkst door een kopie van de vhd bestanden te maken. Doe dat wel nadat u het besturingssysteem netjes hebt afgesloten.
De grootte van de virtuele vaste schijf voor de toepassing van SP2 was 1.014.043 kB. Hierop was alleen Windows XP Home geinstalleerd. Ik heb hier een backup XHomeSP0 van gemaakt. Tijdens de setup van SP2 controleert Windows de vaste schijfruimte. Windows kwam tot de conclusie dat er 1,5 GB gebruikt is (de vhd is dan 1.315.173 kB). Windows bepaalde dat er op de 2 GB partitie nog 453 MB beschikbaar is. Dat zou 17 MB te weinig zijn voor SP2, die bovendien 305 MB extra nodig heeft voor de archivering .
Na de update naar S2 en de verplichte security updates nam Windows XP Home 2,44 GB schijfruimte in. Na de installatie van een virusscanner een personal firewall (die van Windows is matig) kwam ik op 2,54 GB.
Conclusies: met minder dan 2 GB valt met XP weinig te beginnen. En 1,5 GB aan bestanden op NTFS (clustersize 4 KB), kunnen door VPC blijkbaar ook in een 1,3 G vhd bestand gepropt worden. Maar omdat SP3 niet verder kon, zat er niets anders op dan de NTFS partitie te vergroten. Hiervoor gebruikte ik Acronis Partitie Manager vanaf een Linux boot CD. Die vergroot de partitie in een paar seconden.
Daarna lukt de installatie wel. Het vhd bestand was inmiddels 2007567kB geworden. De installatie verloopt traag, maar u moet de verleiding weerstaan om tijdens de update video's e.d. op het gastbesturingsyssteem te draaien.
De verborgen map C:\WINDOWS\$NtServicePackUninstall$ bevatte 274 MB aan bestanden (tot 174 MB gecomprimeerd). U kunt deze map wissen als SP2 goed loopt.
Virtual PC voor OS/2 is een Windows applicatie die door Innotek naar OS/2 is geporteerd. Hierbij werd gebruik gemaakt van de Open32 Developer API Extensions for OS/2 Warp. Anders dan Odin is dit geen Win32 subsysteem onder OS/2, maar een OS/2 bibliotheek van honderden onder Windows gebruikte opdrachten die het compileren van code naar zowel Windows als OS/2 mogelijk moest maken. Lotus SmartSuite en Opera voor OS/2 zijn de bekendste voorbeelden, maar ook VirtualPC en Odin maken er gebruik van. Ook de OS/2 Warp registry editor is een voortvloeisel uit dit project.
Innotek adviseert het ODIN subsysteem zelf uit het LIBPATH te houden, omdat de huidige OS/2 VPC port nog pure Windows bibliotheken (DLLs) aanroept die in de ODIN systeemmap kunnen zitten. Bij mij leidde dat ertoe dat VPC na een ODIN update weliswaar opstartte, maar de knoppen niet reageerde op de klikken van de muis. Hiervoor was blijkbaar een Windows functie nodig. Na een reboot zonder ODIN in het LIBPATH werkte alles weer normaal.
In dit geval moet u het Odin subsysteem via een cmd aanroepen:
REM ODIN Subsysteem aanroepen SET BEGINLIBPATH=C:\ODIN\SYSTEM32 C:\ODIN\SYSTEM32\PE.EXE "%1 %2 %3"
Hiermee kunt u prima werken. Het programma object kunt u koppelen aan uw *.exe bestanden, zodat u met rechtsklikken "Openen als" een executable onder het Win32 subsysteem kunt opstarten. Voor Windows programma's die ik regelmatig onder OS/2 gebruik maak ik een apart CMD bestand aan.
SET BEGINLIBPATH=C:\ODIN\SYSTEM32 F: CD \ CD AGENT START C:\ODIN\SYSTEM32\PE.EXE "F:\AGENT\AGENT.EXE" EXIT
De nieuwslezer Free Agent behoort tot de programma's die met ODIN even gemakkelijk onder OS/2 als onder Window te installeren zijn. Misschien is het onder Windows zelfs wat lastiger omdat er meerdere Windows versies van bestaan. Maar veel Windows programma's laten zich niet onder OS/2 installeren. Hun 16 bits Windows Setup loopt niet onder het 32 bits Odin. Maar door het programma onder het hybride (16 en 32 bits) Windows zelf onder dezelfde letter in een met OS/2 gedeelde map (shared folder) te installeren krijgt u het vrij simpel op HPFS. Als de informatie in de INI registers beperkt is, kunt u het met regedit naar een reg bestand op de gedeelde map exporteren en zonder te rebooten onder OS/2 met regedit2 weer importeren.
Overigens viel op dat de shared folders wel erg langzaam werken. Het installeren van OpenOffice op HPFS kostte dan ook heel wat tijd (uren!!). Uiteindelijk bleek een netwerkinstallatie (met OS/2 als SMB server) nog het snelst.
Om maximaal met veel Windows programma's compatibel te zijn ondersteunt Virtual PC de Direct X API. Maar verwacht geen wonderen van een geëmuleerde S3 videochip. Spelletjes drijven op pure grafische processorkracht. De truc van Direct X is om de de grafische co-processor van de videokaart zoveel mogelijk het rekenwerk te laten doen, maar dit lukt natuurlijk niet op een software PC met een software S3 videokaart. Hier moeten VPC en OS/2 het werk doen. Om die reden heeft het ook geen zin om een snellere grafische kaart te emuleren. Alleen het versnellen van real PC heeft zin. Connectix raadt VPC dan ook nadrukkelijk af als Windows spelletjesplatform.
Overigens wil dat niet zeggen dat u geen multimedia applicaties kunt draaien. Of 2D spelletjes kunt draaien. Ze draaien alleen veel langzamer dan onder een echte PC. Van een direct aanspreken van de hardware is geen sprake. Er moet steeds een vertaalslag plaatsvinden tussen Microsofts Direct X en OS/2's Dive. Anderzijds hebben RealPlayer en Windows Media Player vaak eerder te lijden van de kwaliteit van de internetverbinding dan van de performance van VPC onder OS/2.
Standaard staat de geluidsondersteuning uit. Veel OS/2 drivers van gangbare PCI chipsets hebben buffers die te klein zijn om onder VPC te kunnen gebruiken (Timur Tabi). De van Linux geporteerde SoundBlaster Live! is een gunstige uitzondering.
Wilt u de gok wagen dan kan Virtual PC de geluidskaart als volgt aanspreken.
Open de OS/2 Warp Registry Editor (regedit2.exe). Selecteer de map SYSTEM in:
HKEY_LOCAL_MACHINE / SOFTWARE/ VPCWIN / REGROOT_HKEY_LOCALMACHINE / SYSTEM
Maak hier een sleutel (string value) "CustomBuild" aan (rechtsklikken NEW, KEY).
In de nieuwe map "CustomBuild" plaatst u een nieuw "DWORD" met de naam "DisableAudio" (rechtsklikken NEW, DWORD value) en laat de waarde op 0 staan.
Bij het opnieuw opstarten van de Virtuele PC zou het Soundblaster 16 stuurbestand van het gastbesturingssysteem de SoundBlaster Live! kaart van OS/2 moeten kunnen vinden.
Tip: met VPCSETUP /TWEAKVPC wordt de Virtual PC for OS/2 Tweaker opgestart, die de optie Enable sound in Virtual machines bevat.
De -fastbackground optie van VPC 4 zorgde ervoor dat een Virtuele PC die op de achtergrond draait steeds weer processortijd krijgt. Dat is handig als u de Windows MediaPlayer of een online update van een Linux server op de achtergrond draait. De tijdkritische MediaPlayer zal ononderbroken geluid geven en een YaST Online Updat (YOU) gaat vele malen sneller. Dit ging bij mij nauwelijks ten koste van een tijd-kritische OS/2 applicatie als Z! die streaming audio vanaf het internet draaide. Wel zag dat de download van een iso bestand door FTPBrowser sessie vertraging opliep.
Bij versie 5 kunt u onder VPC / File / Preferences / Performance de processortijd tussen de virtuele PC's onderling (Share time between multiple PC's) en ten opzichte van het gastbesturingssysteem (Virtual PC background performance) tijdens een VPC sessie regelen. Gedurende een spelletje kunt u een "Run at maximum speed" en bij meerdere VPC sessies "Give front PC more time" inschakelen. Maar de gastbesturingssystemen zullen bij "Run at maximum speed" ook als de actieve applicaties alleen maar op input wachten (W2k Task Manager 2% CPU-use), al aardig wat processortijd gebruiken. Draait zo'n Windows gast "at maximum speed" een online viruscanner en/of firewall dan zult u dat zeker merken.
Volgens top gebruikt Suse 8 met een op input wachtende StarOffice meer processortijd dan een actieve FTPBrowser sessie met prioriteit 3 op de achtergrond. De download liep vertraging op:
Proc:56 Thrd:201 Ready:4 Blocked:196 Frozen:0 Time 20:39:21 Up 4:52:14 Total CPU CPU% Avg% PID 0 20 40 60 80 Name 0:32:52,71 0.0<15.2 71 ...±................. XITAMI.EXE # 0:00:00,12 0.0 0.0 72 ..................... CDWPOPUP.EXE 0:11:24,29 0.0< 5.3 78 ...........±......... MOZILLA.EXE 0:00:00,03 0.0 0.0 82 ..................... MSRV.EXE 0:00:01,61 0.0 0.0 84 ..................... PEER.EXE 0:00:00,62 0.0 0.0 85 ..................... PEER.EXE 1:36:38,02 59.4>44.7 94 ±±±±±±±±±±±±......±.. VPC.EXE 0:00:02,41 0.0 0.0 130 ..................... FTPBADDR.EXE 0:00:10,78 0.0< 0.1 131 ..................... FTPBROWS.EXE 0:25:34,99 15.6>11.8 132 ±±±±...........±..... FTPBTRAN.EXE 0:00:00,27 0.0 0.0 133 ..................... FTPBTRAN.EXE 0:00:19,34 0.0< 0.1 134 ....±................ SSH.EXE 0:00:00,99 0.0 0.0 137 ..................... POSTROAD.EXE 0:01:30,39 0.0< 0.7 139 ......±.............. SOFFICE.EXE 0:00:02,97 0.0 0.0 147 ±.................... E.EXE 0:00:00,09 0.0 0.0 152 ..................... CMD.EXE 0:00:00,55 0.0 0.0 154 ±.................... TOP.EXE 0:00:25,54 4.7> 0.2 157 ±...........±........ Z.EXE 0:00:01,64 0.0 0.0 158 .±................... MPCPUMON.EXE
Met de optie "Give up time to other processes" kwamen de tijdskritische OS/2 achtergrondprocessen FTPBRAN en Z beter aan bod hoewel de CPU use van het systeem slechts daalde van van 30 naar 20% (Athlon 1700). MAXWAIT stond op 2 seconden.
Proc:56 Thrd:201 Ready:7 Blocked:193 Frozen:0 Time 20:38:07 Up 4:51:01 Total CPU CPU% Avg% PID 0 20 40 60 80 Name 0:32:52,12 0.0<15.3 71 ...±................. XITAMI.EXE 0:00:00,12 0.0 0.0 72 ..................... CDWPOPUP.EXE 0:11:24,29 0.0< 5.3 78 ...........±......... MOZILLA.EXE 0:00:00,03 0.0 0.0 82 ..................... MSRV.EXE 0:00:01,61 0.0 0.0 84 ..................... PEER.EXE 0:00:00,62 0.0 0.0 85 ..................... PEER.EXE 1:36:15,79 5.7<44.7 94 ±±................±.. VPC.EXE 0:00:02,41 0.0 0.0 130 ..................... FTPBADDR.EXE 0:00:10,78 0.0< 0.1 131 ..................... FTPBROWS.EXE 0:25:24,89 41.5>11.8 132 ±±±±±±±±±......±..... FTPBTRAN.EXE 0:00:00,27 0.0 0.0 133 ..................... FTPBTRAN.EXE 0:00:18,97 0.0< 0.1 134 ....±................ SSH.EXE 0:00:00,99 0.0 0.0 137 ..................... POSTROAD.EXE 0:01:27,54 0.0< 0.7 139 ......±.............. SOFFICE.EXE 0:00:02,97 0.0 0.0 147 ±.................... E.EXE 0:00:00,09 0.0 0.0 152 ..................... CMD.EXE 0:00:00,49 0.0 0.0 154 ±.................... TOP.EXE 0:00:18,81 24.5> 0.1 157 ±±±±±.......±........ Z.EXE 0:00:00,86 0.0 0.0 158 .±................... MPCPUMON.EXE
Linux is een ideaal besturingssysteem om in een virtuele PC te draaien. Al was het alleen maar omdat er veel gratis ISO bestanden voor te vinden zijn (o.a. op LinuxISO.org). Bovendien stelt Linux weinig eisen aan de hardware. U kunt de Linux kernel en configuratie immers aanpassen. Of meteen voor een mini distributie kiezen. Een Linux server of router kan bijvoorbeeld in tekstmodus draaien. X applicaties kunt u in een Linux venster (> 64 MB RAM) of met minder geheugen onder XFree86/OS2 of Hoblink X server draaien. In het laatste geval dient de Linux Virtual PC een soort applicatieserver voor de X servers van OS/2. Met drie virtuele vaste schijven van zestien GB kunt u een Linux systeem van max. 54 GB booten (mooie taak voor JFS). Bedenk wel dat veel OS/2 programma's niet met de > 2GB (HPFS limiet) bestanden kunnen omgaan.
SuSE linux 7.1 werd met Yast2 van CD geinstalleerd. Op langzame PC's (<400 MHz ) raad ik het niet grafische yast(1) aan. U kunt zowel een echte CD nemen of met VPC Menu/ CD / capture image een iso-bestand aankoppelen. Dat laatste instelleert een stuk sneller.
Als u eerder Linux kernels gecompileerd heeft kunt u de standaardkernel aan de Virtuele PC aanpassen. Vooral het processortype is van belang. De virtuele PC bleek zelfs Ultra DMA te ondersteunen. Dat geeft minder processor overhead.
De bootmeldingen bij het booten van de VPC door Linux kernel vindt u hier: bootmeldingen. Ze zijn van belang voor degenen die een voor VPC geoptimaliseerde Linux kernel willen compileren.
De rechter alt (grabber) toets wordt onder Linux veel gebruikt. Standaard activeert Virtual PC daarmee de PM Interface. Kies dus in Virtual PC \ PC \ Settings \ Keyboard een andere sneltoets voor VPC.
Een ander punt om in de gaten te houden is dat Linux een X server gebruikt. Hierop kunnen vele toetsenborden inloggen. Als u Nederlands als taal opgeeft zullen de meeste linux distributies een NL toetsenbord installeren. Maar Nederlanders gebruiken het us (of beter het uitgebreide usx) toetsenbord. En dan komt u in de problemen. Pas dit dus meteen aan.
De virtuele netwerkaart werd door SuSe 8 als een Tulip 21041 herkend. De generic DEC chip (de4x5) doet het ook en zou wel eens sneller kunnen zijn (ik moet ze nog testen).
NB Tijdens het installeren van Linux ontstaan vaak mount/umount problemen met de CD Rom.
Nieuw in de XFree86 versie 4 X server reeks is de hardwarematige ondersteuning van 3D. Hiervoor zijn speciale stuurstanden voor nodig. Momenteel worden maar een paar videokaarten ondersteund. Stuurbestanden voor de oude S3 chip ontbreken. Deze ondersteunt alleen 2D. Zonder hardwarematige 3D ondersteuning is het soepel draaien van Tuxcart op een snelle real PC al geen doen. Onder VPC kunt u 3D via de Direct Rendering Interface (DRI) dus wel vergeten. Hetzelfde ziet u ook met 3D spelen onder Windows.
Onder SuSe Linux v8 heb ik met xbench enige vergelijkende testen gedaan met XFree86 X Servers. De resultaten zijn prematuur, maar ze geven wel een indruk van de relatieve 2D performance van de "vrije" X servers:
X Server |
versie |
resolutie,bbp |
rate |
---|---|---|---|
The XFree86 Project, Inc |
11.3360 |
1024x768x16 |
93.60 runs/sec |
The XFree86 Project, Inc |
11.40200000 |
1024x768x16 |
89.90 runs/sec |
XFree86OS/2 (virtual switch, mga400 kaart) |
11.33 |
1024x768x16 |
140.60 runs/second |
Conclusie: De versie 3 X Server is op een VPC niet langzamer dan de versie 4 server van Sax2. De "oude" met sax in te stellen 11.3360 X server heeft mijn voorkeur aangezien die geen problemen met de beschrijving van het OS/2 beeldscherm geeft.
SuSe 8 maakt standaard gebruik van versie 4:
Verder bleek de van mijn "real" mga4000 chip gebruik makende XFree86OS/2 server niet zoveel sneller dan ik had verwacht.
Onder SuSE Linux kreeg ik het geluid niet zomaar voor elkaar. En het klinkt vooral midi nog nergens naar... Maar op de Loki port van het 2D spelletje Railroad Tycoon hoor ik de schaapjes blaren.
Het eerste probleem dat ik tegenkwam, was dat het niet duidelijk was welke geluidskaart geëmuleerd werd. Voor de drivers gaat het om de chip, maar je kunt niet in een virtuele PC kijken. Windows herkent de virtuele geluidskaart in Apparaatbeheer als Creative Labs Sound Blaster 16 of AWE 32. Dat kunnen volgens de ALSA Soundcard Matrix meerdere chips zijn. Ik neem echter aan dat het om de sb16 driver gaat.
Onder Windows 95 (SB16.VXD) werd de hardware als volgt ingesteld:
IRQ: 5 IO: 0220-022f, DMA 1, 8 bits IO: 0380-038f, DMA 5, 16 bits
Het handboek geeft de volgende informatie:
Emulates Creative Labs PCI Sound Blaster 16 card Supports both DSP (sound effects) and FM synthesis (music) Emulation includes two Yamaha OPL2 chips as well as a CT1345 mixer Sound card is configured to use a base port of 0x220, IRQ 5, and DMA channel 1 (for 8 bit) or 5 (for 16 bit) Supports 8-bit and 16-bit sound input and output
Nu bleek een SB16 met CT1345 mixer niet te bestaan (zie: sb-hardware-prog-guide.pdf). SB16 kaarten gebruiken CT1745 CT1345 mixer is onderdeel van de 8 bits SB Pro. Onder Windows en W2k was dat geen probleem (verbaast me niks), maar onder Linux kwam ik in de problemen (Ctrl-Alt-F10).
Op de Connectix site vond ik nog aanvullende informatie m.b.t. Red Hat Linux:
Sound may need to be configured manually using sndconfig. The sound card is a Sound Blaster 16, the setting are I/O Port: 220, IRQ:5, DMA1: 1, DMA2: 5, MPU: 330.
Daarom kwam ik op de SoundBlaster 16 drivers uit. Hiervoor zijn kernel drivers, Alsa en OSS modules beschikbaar. Mijn Alsa sb16 instellingen zijn:
Geavanceerde geluidskaartoptie ASP/CSP chip ondersteuning (snd_csp = 1) 16-bit DMA # voor SB16 driver (snd_dma = 5) 8-bit DMA # voor SB16 driver (snd_dma = 1) FM poort # voor SB16 driver (snd_fm_port = 0x388) IRQ # poort # voor SB16 driver (snd_irq = 5) ISA PnP detectie voor SoundBlaster 16 geluidskaart (snd_isapnp = 0) Mic Auto_gain_Control schakelaar (snd_mic_agc = 1) MPU-401 poort # voor SB16 driver (snd_mpu_port = 0x330) Poort # voor SB16 driver (snd_fm_port = 0x220)
ASP/CSP staat voor Creative's Advanced (Digital) Signal Processor (DSP chip) die op de SB16 ASP en AWE 32 (niet VE) zit. De gewone SB16 heeft een socket voor deze chip (zie: MC: AWE tech - a look under the cover.)
VPC simuleert een 32 bits PC, maar de huidige pC's hebben vaak een 64 bits processor. Of ze gebruiken een 32 bits processor met de Physical Address Extension (PAE) van de Pentium Pro en opvolgers. Hiermee kunnen ze tot 64 GB aan fysiek geheugen benaderen. Als het BIOS dit ondersteunt.
Nu is BIOS van VPC voor Windows niet in staat om dergelijke diensten te leveren. En zeker niet op een 32 bits besturingssysteem als OS/2. Het gevolg is dat de besturingssystemen die de mogelijkheden van de processor (lees moederbord, BIOS en processor) aan het CPU-type aflezen, de mist in kunnen gaan.
De 386 versie van Open BSD is technisch gezien goed onder VPC te installeren. Maar het is geen gemakkelijk besturingssysteem.
U kunt het cd41.iso bestand ophalen van bijv. ftp://ftp.nluug.nl/pub/OpenBSD/. Tijdens het booten worden de DEC 21140 netwerkkaart, de S3 videokaart en zelfs de geluidskaart herkend:
isapnp0 at isa0 port 0x279: read port 0x203 "Sound Blaster 16, PNPB003, PNPB003, " at isapnp0 port 0x220/16,0x380/16 irq 5 drq 1,5 not configured "Game Port, PNPB02F, PNPB02F, " at isapnp0 port 0x201/1 not configured
En dan is het :
(I)nstall, (U)pgrade or (S)hell? i Welcome to the OpenBSD/i386 4.1 install program. This program will help you install OpenBSD. At any prompt except password prompts you can escape to a shell by typing '!'. Default answers are shown in []'s and are selected by pressing RETURN. At any time you can exit this program by pressing Control-C, but exiting during an install can leave your system in an inconsistent state. Terminal type? [vt220] kbd(8) mapping? ('L' for list) [none] IS YOUR DATA BACKED UP? As with anything that modifies disk contents, this program can cause SIGNIFICANT data loss. It is often helpful to have the installation notes handy. For complex disk configurations, relevant disk hardware manuals and a calculator are useful. Terminal type? [vt220] kbd(8) mapping? ('L' for list) [none] IS YOUR DATA BACKED UP? As with anything that modifies disk contents, this program can cause SIGNIFICANT data loss. It is often helpful to have the installation notes handy. For complex disk configurations, relevant disk hardware manuals and a calculator are useful. Proceed with install? [no] y Cool! Let's get to it. You will now initialize the disk(s) that OpenBSD will use. To enable all available security features you should configure the disk(s) to allow the creation of separate filesystems for /, /tmp, /var, /usr, and /home. Available disks are: wd0. Which one is the root disk? (or 'done') [wd0] Do you want to use *all* of wd0 for OpenBSD? [no] n
No, want Yes zou 16 GB innnemen. En alle andere besturingssystemen naar de knoppen helpen. Gelukkig is dit maar VPC.
You will now create a single MBR partition to contain your OpenBSD data. This partition must have an id of 'A6'; must *NOT* overlap other partitions; and must be marked as the only active partition. The 'manual' command describes all the fdisk commands in detail. Disk: wd0 geometry: 2088/255/63 [33543720 Sectors] Offset: 0 Signature: 0x0 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------ 0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused Enter 'help' for information
Wat u ziet zijn 4 mogelijk op IDE schijf wd0 te maken partities, die hier helemaal nog niet ingevuld zijn.
Wat levert help op?
fdisk: 1> help help Command help list manual Show entire OpenBSD man page for fdisk reinit Re-initialize loaded MBR (to defaults) setpid Set the identifier of a given table entry disk Edit current drive stats edit Edit given table entry flag Flag given table entry as bootable update Update machine code in loaded MBR select Select extended partition table entry MBR swap Swap two partition entries print Print loaded MBR partition table write Write loaded MBR to disk exit Exit edit of current MBR, without saving changes quit Quit edit of current MBR, saving current changes abort Abort program without saving current changes
Hier wordt je niet veel wijzer van. Het is nu echt tijd om naar de OpenBSD 4.1 Installation Guide te gaan... En dat moet u zeker doen op een PC systeem waarop ook andere besturingssystemen staan. Maar hier is alles nog onbezet (unused). We beginnen dus ingang 0 te editen.
fdisk: 1> e 0 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------ 0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused Partition id ('0' to disable) [0 - FF]: [0] (? for help)
Het BSD fdisk programma vraagt om een partitienummer voor eenheid 0. We roepen hierbij hulp aan met '?'. .
Choose from the following Partition id values: 00 unused 1C Thinkpad Rec 65 NetWare 3.xx A8 MacOS X 01 DOS FAT-12 20 Willowsoft 66 NetWare 386 A9 NetBSD 02 XENIX / 24 NEC DOS 67 Novell AB MacOS X boot 03 XENIX /usr 38 Theos 68 Novell B7 BSDI filesy* 04 DOS FAT-16 39 Plan 9 69 Novell B8 BSDI swap 05 Extended DOS 40 VENIX 286 70 DiskSecure BF Solaris 06 DOS > 32MB 41 Lin/Minux DR 75 PCIX C0 CTOS 07 HPFS/QNX/AUX 42 LinuxSwap DR 80 Minix (old) C1 DRDOSs FAT12 08 AIX fs 43 Linux DR 81 Minix (new) C4 DRDOSs < 32M 09 AIX/Coherent 4D QNX 4.2 Pri 82 Linux swap C6 DRDOSs >=32M 0A OS/2 Bootmgr 4E QNX 4.2 Sec 83 Linux files* C7 HPFS Disbled 0B Win95 FAT-32 4F QNX 4.2 Ter 84 OS/2 hidden DB CPM/C.DOS/C* 0C Win95 FAT32L 50 DM 85 Linux ext. DE Dell Maint 0E DOS FAT-16 51 DM 86 NT FAT VS E1 SpeedStor 0F Extended LBA 52 CP/M or SysV 87 NTFS VS E3 SpeedStor 10 OPUS 53 DM 93 Amoeba FS E4 SpeedStor 11 OS/2 hidden 54 Ontrack 94 Amoeba BBT EB BeOS/i386 12 Compaq Diag. 55 EZ-Drive 99 Mylex EE EFI GPT 14 OS/2 hidden 56 Golden Bow 9F BSDI EF EFI Sys 16 OS/2 hidden 5C Priam A0 NotebookSave F1 SpeedStor 17 OS/2 hidden 61 SpeedStor A5 FreeBSD F2 DOS 3.3+ Sec 18 AST swap 63 ISC, HURD, * A6 OpenBSD F4 SpeedStor 19 Willowtech 64 NetWare 2.xx A7 NEXTSTEP FF Xenix BBT Partition id ('0' to disable) [0 - FF]: [0] (? for help)
Het gewenste partitietypenummer is A6 van OpenBSD.
Partition id ('0' to disable) [0 - FF]: [A6] (? for help) A6 Do you wish to edit in CHS mode? [n] Y BIOS Starting cylinder [0 - 2087]: [0] BIOS Starting head [0 - 254]: [0] BIOS Starting sector [1 - 63]: [1] BIOS Ending cylinder [0 - 2087]: [0]
Ik kies voor 2087/8 = 260 cylinders (16/8 = 2 GB) en laat BSD het hierop gebaseerde rekenwerk doen (Enter).
BIOS Ending cylinder [0 - 2087]: [0] 260 BIOS Ending head [0 - 254]: [31] BIOS Ending sector [1 - 63]: [47] fdisk:*1>
FDISK suggereert ons om eenheid 1 verder te gaan, maar we kunnen de huidige layout ook op het scherm afdrukken (p = print).
Disk: wd0 geometry: 2088/255/63 [33543720 Sectors] Offset: 0 Signature: 0x0 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------ 0: A6 0 0 1 - 260 31 47 [ 0: 4178900 ] OpenBSD 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
Een partitietabel weergave in megabytes gaat met 'p m'.
fdisk:*1> p m Disk: wd0 geometry: 2088/255/63 [16379 Megabytes] Offset: 0 Signature: 0x0 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------ 0: A6 0 0 1 - 260 31 47 [ 0: 2040M] OpenBSD 1: 00 0 0 0 - 0 0 0 [ 0: 0M] unused 2: 00 0 0 0 - 0 0 0 [ 0: 0M] unused 3: 00 0 0 0 - 0 0 0 [ 0: 0M] unused
De 2040 MB partitie kan via het OS/2 netwerk verzonden worden.
fdisk:*1>
Het sterretje op de prompt geeft aan dat fdisk de veranderingen nog niet naar de MBR heeft geschreven. Met w(rite) en q(uit) zullen we dat doen.
fdisk:*1> w Writing MBR at offset 0. fdisk:*1> q Disk: wd0 geometry: 2088/255/63 [33543720 Sectors] Offset: 0 Signature: 0x0 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------ 0: A6 0 0 1 - 260 89 4 [ 0: 4182511 ] OpenBSD 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused You will now create an OpenBSD disklabel inside the OpenBSD MBR partition. The disklabel defines how OpenBSD splits up the MBR partition into OpenBSD partitions in which filesystems and swap space are created. The offsets used in the disklabel are ABSOLUTE, i.e. relative to the start of the disk, NOT the start of the OpenBSD MBR partition. # Inside MBR partition 0: type A6 start 0 size 4182511 Treating sectors 0-4182511 as the OpenBSD portion of the disk. You can use the 'b' command to change this. Initial label editor (enter '?' for help at any prompt)
Ik ga hier uit van de CD installatie. Die kan helemaal van CD plaatsvinden met disk0.dsk, disk1_cd.dsk en disk2.dsk uit \DISKIMGS\OS2\35. Ik kopieerde ze naar de VPC map en kon daarna met Floppy / Capture image bestanden van de diskettes verwisselen. Aangezien Warp zowel de diskettes als de CD rom gebruikt is het niet slim om een diskimage op de echte CD aan te wijzen.
Er was geen voor > 4 GB schijven met idedasd.exe aangepaste Diskette 1 nodig: De VPC Wizard maakt voor OS/2 een 2 GB schijf aan. Daarom kon de disk1_cd.dsk zonder problemen worden gebruikt. Zowel de S3 videokaart als de DEC netwerkkaart werden herkend. De geëmuleerde Soundblaster 16 PnP geluidskaart kreeg meteen de goede instellingen (zie hieronder). Overigens kunt u onder Warp 4 ook voor de Soundblaster 16 PnP kiezen. Het was de snelste OS/2 installatie ooit door mij gedaan.
Tip: als het beeld stilstaat en OS/2 u om het verwisselen van diskettes vraagt:
Zorg ervoor dat u OS/2 de juiste installatiediskette voorschotelt: De installatiediskette heeft het nummer 0. Diskette 1 is dus de tweede diskette. Diskette 2 is de derde en laatste installetiediskette.
Als de juiste diskette na een uw Enter toch niet herkend word, kies dan voor Floppy / Release "A": en daarna voor Floppy / Capture Host drive "A". Doe daarna weer de Enter.
De tweede truc werkt natuurlijk ook met een niet (meer) herkende CD.
Sound Blaster 16 Device Driver. Version 3.20.7 Copyright (c) Creative Technology Ltd., 1995. All rights reserved. Card...........: 8 DMA 8-bit......: 1 DMA 16-bit.....: 5 IRQ............: 5 Base Address...: 220 MPU Port.......: 330 Buffer size....: 8KB
Ook de netwerkaart werd herkend en geladen, maar die bleek niet bijster snel.
Het stuurprogramma voor vergrendelde bestanden is geladen. Vergrendelde bestanden worden verwerkt... Verwerking voltooid. IBM OS/2 TCPBEUI 5.05.0 TCPBEUI: Gebruikt een 32-bit gegevenssegment. Digital DC21x4 NDIS 2 MAC Driver Version 2.21 (C) Copyright 1996 Digital Equipment Corporation. All rights reserved. DC21140 adapter PCI SLOT: 10 IRQ: 0B Operation Mode: AUTOSENSE
Achteraf bleek dit aan de trage NetBIOS emulatie van de Virtual Switch te liggen. Recentere stuurbestanden voor de DEC chip zijn te vinden op de Nic Pak Site van Chuck McKinnis: http://pws.prserv.net/mckinnis/nicpak/dec.zip.
Ik koos voor de Intel 2104x/2114x 10/100 mbps Ethernet Controller.
IBM OS/2 TCPBEUI 5.05.0 TCPBEUI: Gebruikt een 32-bit gegevenssegment. Intel 2104x/2114x 10/100 mbps Ethernet Controller v3.00 Copyright (c) 1998 Intel Corporation. All rights reserved. Working with Intel 21140 based 10/100 mpbs Ethernet Controller PCI SLOT: 01 IRQ: 0B Selected media: Autosense
Maar ook daarmee viel de lokale netwerkperformance van het NetBIOS bitter tegen (een paar k/s). Alleen met xcopy viel nog wat gereedschap te verplaatsen. Met Linux (NetBIOS via TCP/IP) en TCP/IP ging het goed, maar voor de Warp 4 eCS verbinding gebruikten beide OS/2-en het onder VPC trage NetBEUI protocol.
Een simpele truc zorgde ervoor dat ze via NetBIOS via TCP/IP gingen communiceren: het verwisselen van net 1 en net 2 in IBMLAM\IBMLAN.INI. Ik had in MPTS NetBIOS op logische adapter 0 gezet en NetBIOS via TCP/IP adapternummer 1 gegeven. Maar door dat om te draaien (TCP/IP mag op 0 of 1 blijven zitten) wordt standaard TCPBEUI gebruikt. En dat ging met 800k/s veel beter.
; OS/2 Peer initialization file [networks] net1 = TCPBEUI$,0,LM10,34,100,14 net2 = NETBEUI$,1,LM10,34,100,14 ; This information is read by the redirector at device initialization time.
NB Pas dit ook IBMCOM\PROTOCOL.INI aan:
[NETBIOS] DriverName = netbios$ ADAPTER0 = tcpbeui$,0 ADAPTER1 = netbeui$,1
Mocht dit niet werken, en ziet u nog steeds geen poort 139 verbinding met netstat -s, dan is mijn advies het NetBIOS (hier net 2) te deïnstalleren.
net1 = TCPBEUI$,0,LM10,34,100,14
en verder op:
SRVSERVICES = messenger,peer srvnets = net1
In protocol.ini:
[NETBIOS] DriverName = netbios$ ADAPTER0 = tcpbeui$,0
Voor de video in OS/2 Warp 4 en Connect (met recent fixpack) installeerde ik de IBM GRAD Driver. Let erop dat u dat het zelfuitpakkende zipbestand met de -d optie uitpakt (met subdirectories). Als de readme Spaans aandoet zit u verkeerd. Pas verder de taalinstelling in de CONFIG.SYS aan. Een goede Hollandse (Dutch) SET LANG=nl_NL (was NL_NL) of en_US. U kunt het ook in een venster doen. Daarna draait u "setup S3 [gradpad] [os2bootdrv]".
Hoe komt u hieraan? Als u beroerde videoinstellingen hebt, kunt u het beste maar weer teruggaan naar VGA.
Dit doet u door tijdens het opstarten van OS/2 onder de tekstmodus verschijnende OS/2 bootblob Alt-F1 te toetsen: Als het grafische OS/2 logo verschijnt bent u al te laat.
OS/2 's Alt-F1 doet hetzelfde als de Alt-F8 van Windows.
U ziet dan het volgende scherm en kiest voor VGA (F3).
Daarna worden de VGA drivers weer geladen.
Let er op dat u eerst Fixpack 5 moet installeren!
[I:\os2bin\drv\grad]setup S3 i:\os2bin\drv\grad c: s3grdbb wordt geïnstalleerd Het proces kan niet worden voltooid. U gebruikt een onjuiste versie van Operating System/2.
Ik gebruik de S3 GRAD driver met een verversingsfrequentie van 43 Hz (zonder flikker) en 16 bits kleuren. De WPS bitmap heb ik uitgezet.
Ook OS/2 Warp 3 is vrij gemakkelijk onder Virtual PC te installeren. Tenminste als u over een CD versie beschikt. Dan kunt u de diskimages disk0.dsk en disk1_cd.dsk uit \DISKIMGS\OS2\35\ gebruiken om de rest van de CD te installeren. Disk0.dsk en disk1_cd.dsk kopieert u naar de vaste schijf om lockup problemen te voorkomen.
Hiernaast ziet u de belangrijkste instellingen van de systeemconfiguratie:
Let op het juiste toetsenbord (bijna altijd Amerikaans in Nederland).
De PS/2 muis wordt standaard herkend.
De S3 videodrivers vielen me tegen. De veilige weg is om in eerste instantie voor SVGA te kiezen. Dat is de gewone Super VGA en dus niet de SVGA van Chips & Tech. Alternatieve drivers zijn de laatste S3 stuurbestanden uit het DD pack (geaccelereerde GRADD stuurbestanden) en mogelijk SciTech. Maar de SciTech Display Doctor vereist fixpacks en viel me onder VPC bij eCS 1.1 al tegen. SciTech op de real PC is natuurlijk een ander verhaal (snel en stabiel).
APM wordt geinstalleerd, maar ik het wijs deze later uit te zetten door de APM.SYS drivers in de CONFIG.SYS te remmen.
Voor de CD-ROM kiest u andere (IDE CD-ROm).
Onder Warp 3 mag u met de SBLive kaart een goede geluidsemulatie verwachten (Soundblaster 16). De standaard instellingen zullen voldoen.
Printerstuurbestanden kunt u beter later installeren. Tenzij uw printer in dit rijtje uit 1994 voorkomt.
U doet er wel wijs aan de Warp 3 partitie met een ander besturingssysteem te delen, zodat u niet van een modem afhankelijk bent om bestanden op te halen. U kunt hem bijv. als tweede vaste schijf aan een ander besturingssysteem hangen.
Voor het in real-time delen van schijven met de OS/2 PC is MS LAN Manager client zeer geschikt. Voorbeelden van de MPTS configuratie en en drivers vindt u in extra. De installatie van MS LAN manager staat in de OS/2 netwerksectie beschreven.
Voor het updaten van het systeem (noodzakelijk!) raadt ik Simply Fix aan (OS/2 Fixpacks).
De installatie van OS/2 Warp Connect lijkt op die van Warp 3. Als u geluk hebt kunt u tijdens de installatie het netwerk al configureren. Maar het stuurbestand van de Intel 2104x/2114x 10/100 mbps Ethernet Controller zit niet op de warp Connect CD. Houdt dus een diskette met stuurbestanden paraat.
Minimaal: De stuurbestanden voor de DEC chip: http://pws.prserv.net/mckinnis/nicpak/dec.zip en daniatapi0314.zip en een unzipper. U moet de bestanden uit daniatapi0314.zip in het DOS 8.3 formaat zetten. Anders gaat het lastig op FAT diskette. Nog beter is een diskette met File Commander/2 met unzip.exe in het pad.
De Daniella driver had ik nodig omdat tijdens de netwerkinstallatie ineens de CD niet meer werd herkent. Het invoeren van "basedev=ibm1s506.add /A:0 /U:1 /ATAPI" voor een CD als master (A:0) op 2e controller (U:1) hielp niet. Ook het van diskette installeren van de laatste IDE drivers van IBM hielp niet. Hierdoor liep de installatie vast. OS/2 deed het wel, maar het netwerk werd niet geïnstalleerd.
De startup.cmd met de volgende inhoud liep vast.
@C:\os2\install\LANCLTST.EXE C:\GRPWARE\CLIENTS\SHOWCID TUTOR D:\CID\LCU\CASAGENT.EXE /REQ:LADCLT /CMD:C:\GRPWARE\CLIENTS\LADCLT /D /L1:C:\GRPWARE\CLIENTS\LOGS\LCU\SRVIFS_REQ.L2 CMD EXIT
Als de installatie vastloopt kunt u via de Alt-F1 methode naar de OS/2 prompt booten.
RECOVERY CHOICES Select the system configuration file to be used, or enter the option corresponding to the archive desired. ESC - Continue the boot process using \CONFIG.SYS without changes C - Go to command line, (no files replaced, use original CONFIG.SYS) V - Reset primary video display to VGA and reboot M - Restart the system from the Maintenance Desktop (Selective Install) Choosing an archive from the list below replaces your current CONFIG.SYS, Desktop directory, and INI files with older versions. These older versions might be different from your current files. Your current files are saved in \OS2\ARCHIVES\CURRENT.
Aangezien het problematische deel van de installatie via startup.cmd liep, kon ik met " ren startup.cmd startup1.cmd" de installatie tijdelijk pauzeren om de CD weer aan de praat te krijgen. Hiervoor gebruikte ik Daniella's stuurbestand. Nadat de CD na een reboot weer herkent werd startte ik startup1.cmd weer op.
Overigens ging de netwerkinstallatie met Advanced Installation waarbij OS/2 op een kleine HPFS partitie gezet werd (standaard maakt VPC voor OS/2 een 2 MB FAT schijf aan) wel in een keer goed.
Kies ook hier voor de IBM GRADD drivers. Ze ondersteunen 1024 x 768 pixels. Maar kies wel voor een lage refresh grade (43 Hz) om het gast besturingssysteem niet onnodig te belasten. Want de werkelijke verversingstijd (bepalend voor het het geknipper aan uw ogen) wordt door het gastheer besturingssysteem bepaald. Dan krijgt u een rustig beeld. De S3 drivers van de OS/2 Device Driver Pak Online : Home deugen niet voor VPC. Althans niet onder mijn OS/2 Scitech real PC (en naar verluid ook niet onder andere besturingssystemen).
Na installatie kunt fixpacks toepassen. De reguliere Warp 3 fixpacks kunnen zowel onder OS/2 Connect als Warp 3 met Simply Fix via een netwerkmap worden geïnstalleerd.
Zie: ftp://service.boulder.ibm.com/ps/products/os2/fixes/v3.0warp en sfix41.zip op Hobbes.
De gedownloade bestanden kunt u via het netwerk, een extra virtuele vaste schijf of via een beschrijfbare CD aan VPC presenteren.
Voor internettoegang onder Warp Connect gebruikte ik Mozilla. Netscape en Opera vroegen om Warp 4. Mozilla en (de vrij onbruikbare) OS/2 Warp Explorer waren onder Warp Connect voor OS/2 begrippen (met 64 MB RAM) erg langzaam, maar een MPTS upgrade (WRU8421) bracht hier verandering in.
Zie: ftp://service.boulder.ibm.com/ps/products/mpts/fixes/english-uk/wru8421_conv. U kunt hiervan echte diskettes maken, maar u kunt er met VPC ook diskette-images van maken zonder een diskette te bezitten. Maar de gedownloade image bestanden zijn gecomprimeerd. U kunt ze dus niet zomaar onder VPC mounten.
Maak hiervoor een vpc_diskette.cmd aan. Kopieer eerst een 1474560 bytes groot *.dsk bestand (bijv. disk0.dsk van de Warp Conenct CD) naar de VPC map op de vaste schijf. Hernoem hem als tempflop.dsk o.i.d. en mount hem onder VPC als Diskette A (Floppy/ Capture image/bestand).
REM Gebruik alleen met onbelangrijke diskettes of REM (vele malen sneller) met VPC diskette-images! LoadDskF %1 a: /F /Y MAKEDSKF a: i:\img\%1
Plaats Loaddskf.exe en Makedskf.exe in het pad van de OS/2 gast (bijv. in \OS2). Sleep daarna onder de OS/2 gast het gedownloade image bestand naar het batchbestand. Let op dat er %**F in het parameterveld van het object staat. Hierdoor wordt het pad weggelaten (anders loopt makedskf niet).
Loaddskf (http://hobbes.nmsu.edu/pub/os2/system/patches/loaddskf.exe) zet het gedownloade image bestand op een virtuele diskette.
Makedskf (http://hobbes.nmsu.edu/pub/os2/util/disk/makedskf.zip) maakt er een ongecomprimeerd (1474560 bytes) image bestand van in de map i:\img op de vaste schijf. Deze diskette images kunnen door VPC gelezen worden.
De eerste diskette van de MPTS update WRU8421 bevat de install.cmd. Omdat de installatie verder via de vaste schijf verloopt, gaat het prettig snel.
Op de Master OS/2 Warp Update List vind u nog meer updates voor OS/2 Warp Connect. Maar voor hen geldt het aloude adagio: If it ain't broke, don't fix it!
OS/2 versie 2.1 is goed onder Virtual PC te installeren. Tenminste als u over images van de diskette beschikt. Maar het "Please wait while the installation partition is formatted..." duurt onder HPFS wel erg lang, tenzij u OS/2 in een kleinere (50-256 MB) partitie installeert. Dit 32 bits besturingssysteem heeft immers maar weinig vaste schijf ruimte nodig.
OS/2 2.1 ondersteunt DOS, Windows 3.1 en natuurlijk 16 en 32 bits OS/2 applicaties.
Om
een wat groter beeld te krijgen installeerde ik de S3 drivers van de
OS/2 Device Driver
Pak. Dat ging goed met 1024x 768 met 256 kleuren, maar met
grotere kleurdiepten kreeg ik een onleesbaar beeld.
Op Planet Mirror staan QNX versies die u zonder u te registreren downloaden kunt: Get QNX Realtime Platform. Helaas was het resultaat onder VPC 4 bedroevend.
Het besturingssysteem QNX is bedoeld voor real-time processen. Het vreet processortijd en draaide ongelooflijk traag onder Virtual PC. Toetsenbord en beeldscherm reageren alsof u telnet op nauwelijks bereikbare server. Ik vermoed dat het met de prioriteiten van de draden te maken heeft. Volgens een Innotek ontwikkelaar zou daar bij de volgende versie van VPC aan zijn gewerkt.
KNOPPIX - Live Linux Filesystem On CD is van CD (laptop!) te booten. Recent zijn er Knoppix CD's met virusscanners in omloop.
Ik heb de DOS-achtigen nog niet getest. Logisch, want OS/2 biedt een uitstekende DOS ondersteuning. DOS bootdiskettes vindt u op: BootDisks - PC Support - Essential Utilities , The DOS Page en ftp.lineo.com (Caldera's Dr Dos en OpenDos en CP/M 2.2) en The FreeDOS Project.
Zie ook: Bootdisk.Com
How to Install NexStep 3.3 on Virtual PC 4.2/5+
Retrocomputing (Gert-Jan C. Lokhorst)
Eric Smith's Retrocomputing page
The Hercules System/370, ESA/390, and z/Architecture Emulator
Ik kan niet onvermeld laten dat sinds 19 februari 2003 de toekomst van Virtual PC onduidelijk is geworden. Op die dag maakte Microsoft bekend dat het in januari 2003 de Virtual Machine Technologie van Connectix had opgekocht.
Microsoft zegt met de VPC technologie haar klanten te kunnen helpen om naar "moderne besturingssystemen" te migreren. Een bedrijf dat nu Windows NT 4 domeinservers gebruikt zou die met Virtual Server onder Windows Server 2003 kunnen draaien. Door meerdere server besturingssystemen (Novell Netware, IBM OS/2 LAN servers) in een krachtige server te concentreren, zouden ruimte en beheerskosten kunnen worden bespaard.
Connectix' Virtual PC emulatie techniek was een aanvaardbare software oplossing voor Macintosh, OS/2 en Windows gebruikers die met andere besturingssystemen wilden werken, zonder dat zij hiervoor hun favoriete platform hoefden te verlaten. Maar dat paste niet in Microsofts strategie. De OS/2 versie verdween als eerste van de markt. De Virtual PC for Mac kan nog worden gedownload. Microsoft verdient al jaren aan haar Macintosh software (MS Office). Maar Windows gebruikers moeten de keuze maken tussen Hyper-V van Windows Professional en Innoteks VirtualBox , die inmiddels door Oracle is opgekocht.
Op Windows Virtual PC - Win32 apps | Microsoft Docs lezen we:
Bob St.John van Serenity Systems gaf aan haar Serenity Virtual Station product naar OS/2 (eComStation) te willen porteren met behulp van Paralells. Maar eerlijk is eerlijk, tegenwoordig lijkt het veel logisceh om 32 bits Windows te draaien op een moderne processor onder Windows of Linux, dan de andere weg te begaan.
Microsoft Acquires Connectix Virtual Machine Technology
Future fuzzier for Mac, Linux as MS buys Connectix tech
Microsoft Eyes Virtual Server Space With Connectix Acquisition
The Life of Virtual PC for OS/2 - Brilliant but Short?
Microsoft Virtual PC 2004 kwam inmiddels gratis beschikbaar.
Connectix
Virtual PC For Windows: Technical Documents
Connectix
Knowledge Database
Installing RedHat 7.2 in Virtual PC 5 for Macintosh
Configuring the Sound Blaster card for Red Hat 7.x under KDE
The X Window User HOWTO: 9. Performance Considerations
NDIS2 MAC drivers for DOS, OS/2, WfW 3.1, WfW3.11, and Windows 95
Free Oses : een verzameling "vrije" besturingssystemen op een rijtje (niet allemaal!)
Virtual machines and OS emulators - twoOStwo.Org
QEMU emulator van Fabrice Bellard.
Computer Laboratory - Xen virtual machine monitor : open source emulator