Virtuaalinen DOS-kone (Virtual DOS machine, VDM) antaa tietokoneiden käyttäjille mahdollisuuden suorittaa 16- tai 32-bittisiä DOS- ja 16-bittisiä Windows-ohjelmia 32-bittisillä tietokoneilla, kun laitteistoa käyttää jo toinen käyttöjärjestelmä. VDM on ohjelmistotason ratkaisu, joka tarjoaa vanhoille ohjelmille ympäristön, jossa ne uskovat ajavansa aitoa DOS- tai 16-bittistä Windows-ympäristöä, vaikka taustalla pyörisi nykyaikainen 32-bittinen Windows-käyttöjärjestelmä.
Miten VDM toimii
Windows-ympäristössä VDM:t toteutetaan yleensä osana käyttöjärjestelmän ydinrakennetta (esimerkiksi Windows NT -sarjassa NTVDM, NT Virtual DOS Machine). Perusperiaatteet:
- VDM luo ohjelmistollisen "virtuaalisen koneen", jossa sovellukset saavat omat muistialueensa ja tuntevat ajavansa DOS:ia tai 16-bittistä Windowsia.
- Yhteiskäyttö resurssien kanssa: VDM välittää sovelluksen I/O-kutsut, keskeytykset ja muistikyselyt isäntäkäyttöjärjestelmälle, jolloin laitteisiin (levyt, näytöt, näppäimistö) päästään käsiksi hallitusti.
- Tekniset apukeinot: virtuaalinen 8086-tila (v86), suojattu tila ja DPMI/XMS/EMS -rajapinnat antavat vanhoille ohjelmille tarvitsemiaan palveluja ja muistinhallintaa.
Milloin VDM on kätevä
- Liiketoimintasovellusten ja vanhojen yritysohjelmien ajamiseen, joita ei ole saatavilla uudelleen koodattuina.
- Nopeatestaukseen ja korjaukseen, kun halutaan säilyttää vanha ohjelma toiminnassa samalla kun ympäristö päivitetään.
- Kokeiluihin, jolloin ohjelman suoritusympäristön täydellinen emulointi ei ole välttämätöntä.
Rajoitukset ja huomioitavaa
- 64-bittisissä Windows-versioissa (x64) NTVDM/VDM-tuki puuttuu, joten 16-bittisiä DOS- ja Windows-sovelluksia ei voi suorittaa suoraan. Tällöin tarvitaan vaihtoehtoja (ks. alla).
- Laitteistotason pääsy on rajatumpaa: suorat laiteajurit, erikoisäänikortit tai vanhat grafiikkarit eivät välttämättä toimi oikein VDM:n kautta.
- Yhteensopivuus ei ole täydellinen — erityisesti pelit ja multimediaohjelmat, jotka käyttävät matalaa laitteistokontrollia, voivat kaatua tai toimia virheellisesti.
- Turvallisuus: vanhat 16-bittiset ohjelmat voivat sisältää haavoittuvuuksia. Ajettuna VDM:ssä ne voivat saada laajemman pääsyn järjestelmään kuin puhtaasti käyttäjätason sovellukset.
Vaihtoehdot ja käytännön ratkaisut
- DOSBox — suosittu avoimen lähdekoodin DOS-emulaattori, joka on optimoitu erityisesti vanhoille peleille ja multimediaohjelmille; tarjoaa paremman laiteemuloinnin äänen ja grafiikan suhteen.
- Virtuaalikoneet (esim. VirtualBox, VMware) — luovat kokonaan erillisen 32- tai 16-bittisen käyttöjärjestelmän vieraskoneeseen; toimivat hyvin yrityssovellusten kanssa, kun tarvitaan parempaa laitetuen tasoa.
- Migraatio ja uudelleenkirjoitus — pitkällä aikavälillä usein paras ratkaisu on päivittää tai korvata vanhat ohjelmat nykyaikaisilla versioilla.
Käytännön vinkkejä
- Jos käytät 32-bittistä Windowsia, tarkista, löytyykö käyttöjärjestelmästäsi NTVDM ja voisiko se mahdollisesti aktivoida erityisominaisuutena (joissain Windows-versioissa VDM/NTVDM löytyy osana "Legacy Components" tai vastaavaa valintaa).
- Ennen vanhojen ohjelmien ajoa tee varmuuskopio tärkeistä tiedostoista ja käytä tarvittaessa eristettyä ympäristöä (esim. virtuaalikone), jotta vähennät riskejä.
- Jos ohjelma tarvitsee ääntä, grafiikkaa tai suoraa laitteistokontrollia, testaa se etukäteen DOSBoxilla tai virtuaalikoneella — ne tarjoavat usein parempaa yhteensopivuutta kuin käyttöjärjestelmän oma VDM.
Yhteenvetona: VDM tarjoaa kätevän tavan pitää yllä vanhoja DOS- ja 16-bittisiä Windows-sovelluksia nykyaikaisessa 32-bittisessä ympäristössä, mutta sillä on selkeitä rajoituksia ja turvallisuusnäkökohtia. Usein paras lähestymistapa on arvioida sovelluksen vaatimukset ja valita sen perusteella joko NTVDM, DOSBox, virtuaalikone tai sovelluksen uudistaminen.