Waarom kunnen 64-bits besturingssystemen geen 16-bits apps uitvoeren?

Waarom kunnen 64-bits besturingssystemen geen 16-bits apps uitvoeren?

Toen computers eenmaal de moderne 64-bits architectuur gingen gebruiken, realiseerden gebruikers zich al snel dat het draaien van die oude 16-bits applicaties niet zou werken. Waarom kunnen 64-bits machines geen 16-bits apps uitvoeren?





Het antwoord op die vraag kan verwarrend zijn, afhankelijk van aan wie je het vraagt. Om te beginnen is het niet echt onmogelijk om 16-bits apps uit te voeren. Het is gewoon moeilijk. Ten tweede ligt de reden voor deze moeilijkheid in zowel de CPU-architectuur en het besturingssysteem.





Nog in de war? Maak je geen zorgen, je bent niet de enige. Maar tegen de tijd dat je aan het einde van dit artikel bent, zul je niet meer in de war zijn.





De geschiedenis van CPU-architectuur

Ik weet het, het laatste wat je wilt lezen is een geschiedenisles, toch? Maak je geen zorgen, dit is een korte. Het is ook van cruciaal belang om te begrijpen waarom 64-bits systemen geen native 16-bits apps kunnen uitvoeren.

Als je de jaren 80 en 90 hebt meegemaakt, herinner je je waarschijnlijk die oude 16-bits dinosaurussen waarvan iedereen destijds dacht dat het de nieuwste technologie was.



In die tijd was het. Die oude machines liepen de Intel 8086 processor in 1978. De processor had toegang tot een adresruimte van 1Mb met 16-bits adressering. Met eerdere machines die 64 Kb geheugen gebruikten, was dit een enorme vooruitgang en markeerde het het begin van een nieuw tijdperk in personal computing.

In deze modus (genaamd Echte modus ), was een deel gereserveerd voor RAM en de rest werd gebruikt door het BIOS en computerhardware zoals de grafische kaart.





Iets later kwam er een verdere vooruitgang in de CPU-architectuur met de 80286-processor, die 16 Mb kan adresseren met 16-bits adressering. Met de 286-architectuur kwam 'Beschermde modus', met functies die niet alleen het adresseren van meer geheugen mogelijk maakten, maar ook multitasking. Het draaien van oudere 16-bit applicaties in 'real mode' was niet altijd gemakkelijk, maar het was mogelijk.

Het einde van 16-bit, soort van...

In 1985 introduceerde Intel zijn volgende generatie processor: de Intel 386. Dit was Intel's eerste CPU die geheugen kon adresseren met 32-bits tegelijk, en toegang had tot maar liefst 4 Gb adresseerbaar geheugen. Destijds leek dit voor computergebruikers een grote doorbraak. PC-gaming stond op het punt zijn hoogtijdagen in te gaan.





Samen met de komst van 32-bits architectuur kwam er een uitgebreide versie van Beveiligde modus dat zorgde niet alleen voor de mogelijkheid om toegang te krijgen tot meer geheugen, maar het bevatte ook een reeks functies waarmee software het systeem kon markeren, of het nu 16-bits of 32-bits code was. Dit werd mogelijk gemaakt door wat bekend staat als Virtuele 86-modus , wat in wezen een ingebouwd gevirtualiseerd 8086-systeem was.

Zoals u kunt zien, bleven zowel de hardware (CPU-programmering) als de software (besturingssystemen en applicaties) van de ene evolutie van de CPU-architectuur naar de volgende achterwaartse compatibiliteit voor al die gebruikers die nog steeds zeer oude software hadden die ze wilden loop. Voor individuele computergebruikers was dit handig, maar voor veel bedrijven en kleine bedrijven was het van cruciaal belang voor legacy-systemen.

64-bits architectuur heeft alles verpest

De limiet van 4 GB adresseerbaar geheugen bleef jarenlang een kruk voor 32-bits systemen. Met de uitvinding van 64-bits processors kwam er echter nog een doorbraak. Deze systemen bevatten een nieuwe modus (bekend als Lange modus ) die tot 16 miljoen terabyte aan geheugen kan adresseren. Het zal waarschijnlijk nog lang duren voordat dit een beperkende factor wordt voor computertoepassingen.

Met deze enorme vooruitgang kwam echter een belangrijke afweging. Toen gebruikers probeerden 16-bits applicaties uit te voeren waarvoor de lang ondersteunde 'real mode' of 'virtual 8086 mode' nodig was, ontdekten ze een foutmelding met de tekst 'Program.exe is geen geldige Win32-toepassing'.

Het was frustrerend, maar het was niet het einde van de wereld. Gebruikers zou emulators kunnen gebruiken of virtuele machines installeren met 32-bits architectuur en besturingssystemen die oudere 16-bits toepassingen kunnen ondersteunen.

Dus hoewel het 'onmogelijk' is voor 64-bits systemen om 16-bits MS-DOS-toepassingen te draaien, is het niet onmogelijk voor gebruikers om dit te doen met een tijdelijke oplossing. Maar waarom is dit gebeurd?

64-bits architectuur verwijdert de NTVDM

In elke generatie 32-bits processors door de jaren heen is er veel energie gestoken in het besturingssysteem om het systeem oudere 16-bits DOS-applicaties te laten verwerken. Het werd bereikt met behulp van wat bekend staat als de NTVDM, of NT Virtual DOS Machine.

Deze 32-bits applicatie draaide in het Windows-besturingssysteem en simuleerde een 486-architectuur die 16-bits adressering aankan met behulp van virtuele 8086. Helaas kon de 'long-mode'-adressering dit niet veilig accommoderen. In plaats daarvan zou een volledige 8086-processor moeten worden geëmuleerd om alleen draaiende DOS-toepassingen te ondersteunen.

Microsoft heeft duidelijk besloten deze inspanning te staken om de snelle release van zijn eerste 64-bits besturingssysteem te ondersteunen. Op de ondersteuningspagina stelt Microsoft duidelijk dat '16-bit MS-DOS en Microsoft Windows 3.x hulpprogramma's niet starten.'

Geen excuses. Het wordt gewoon niet ondersteund.

Met de overvloed aan virtualisatieproducten op de markt die dit toch kunnen bereiken, had Microsoft duidelijk niet het gevoel dat het in zijn eigen belang was om het wiel opnieuw uit te vinden.

16-bits toepassingen uitvoeren op 64-bits systemen

Dat het draaien van 16-bits DOS-toepassingen niet standaard wordt ondersteund op 64-bits Windows-systemen, betekent niet dat het onmogelijk is. U hoeft alleen wat extra hulpmiddelen te installeren om dingen in te stellen.

Als je geniet klassieke DOS-spellen of andere retro-applicaties uit de goede oude tijd van computers gebruiken, er zijn opties. Hier zijn vier manieren waarop u ze op uw nieuwe Windows-machine kunt uitvoeren.

1. Speel retro-games met DOSBox

Een van de gemakkelijkste manieren om oude DOS-apps op uw pc uit te voeren, is door een emulator te gebruiken. Een van de meest populaire daarvan is DOSBox .

kan ik een bluetooth-hoofdtelefoon aansluiten op xbox one?

Christian heeft uitgelegd hoe u DOSBox kunt installeren en configureren om speel oude retro-games op uw Windows-computer.

Het mooie hiervan is dat de meeste van deze spellen zo oud zijn dat ze worden beschouwd als leaveware , zodat u ze legaal gratis kunt downloaden en spelen.

2. Voer apps uit in VirtualBox

Aangezien besturingssystemen zoals Windows XP en Windows 7 native 16-bits applicaties kunnen uitvoeren, kunt u dezelfde applicaties op uw 64-bits systeem uitvoeren door een virtuele machine te bouwen met een van die besturingssystemen erop.

Een van de meest bekende en gemakkelijk in te stellen applicaties hiervoor is VirtualBox . We hebben een complete gids over hoe VirtualBox in te stellen en te gebruiken , dus u kunt nu meteen aan de slag met deze aanpak.

Zorg ervoor dat u het juiste besturingssysteem kiest om te installeren. Blijf bij Windows 7 of eerder en u kunt in een mum van tijd oude DOS-apps downloaden en installeren op uw virtuele systeem.

3. Gebruik Linux

Zeg wat je wilt over Linux, een ding dat de meeste Linux-distributies goed hebben, is ondersteuning voor 16-bit-applicaties. Distro's met de PAE-kernal, je bent niet beperkt tot de 4 GB 32-bits systemen, dus het uitvoeren van een goede Linux-distro als dual-boot op je systeem is een andere optie.

Twee opties om dit te doen: een dual-boot oplossing of een virtuele machine. Of je kunt Windows gewoon helemaal dumpen, en ga met Linux . Wat voor jou ook werkt.

4. Gebruik emulators

DOSBox is niet de enige emulator die beschikbaar is voor het uitvoeren van oude DOS-apps. Er zijn veel geweldige emulators die net zo goed werken. Dit geldt vooral als je een gamer bent.

Christian heeft besproken hoe je a . kunt emuleren Commodore vriend , tot Raspberry Pi , een Android , en zelfs klassieke SNES op elke pc.

Dit is nog maar het topje van de ijsberg. Als u online zoekt, vindt u een hele bibliotheek met verschillende emulators waarmee u zowat elke retro-app kunt uitvoeren die u maar kunt bedenken. Microsoft heeft misschien de oude 16-bits applicaties van vroeger opgegeven, maar je hebt nog steeds opties.

Geef niet op met 16-bits

Er is geen enkele reden om te denken dat het zo is onmogelijk om 16-bits toepassingen op een 64-bits machine uit te voeren. Het kan native onmogelijk zijn, maar zoals je kunt zien, zijn er veel oplossingen om de taak te volbrengen.

Deel Deel Tweeten E-mail 12 videosites die beter zijn dan YouTube

Hier zijn enkele alternatieve videosites voor YouTube. Ze bezetten elk een andere niche, maar zijn de moeite waard om aan uw bladwijzers toe te voegen.

Lees volgende
Gerelateerde onderwerpen
  • Gamen
  • Technologie uitgelegd
  • emulatie
  • Windows 10
  • 64-bit
Over de auteur Ryan Dube(942 artikelen gepubliceerd)

Ryan heeft een BSc-graad in Elektrotechniek. Hij heeft 13 jaar in de automatiseringstechniek gewerkt, 5 jaar in de IT en is nu een Apps Engineer. Als voormalig hoofdredacteur van MakeUseOf heeft hij gesproken op nationale conferenties over datavisualisatie en is hij te zien geweest op nationale tv en radio.

Meer van Ryan Dube

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren