Hvorfor kan ikke 64-biters operativsystemer kjøre 16-biters apper?

Hvorfor kan ikke 64-biters operativsystemer kjøre 16-biters apper?

Når datamaskiner begynte å bruke den moderne 64-biters arkitekturen, innså brukerne snart at det ikke ville fungere å kjøre de gamle 16-biters applikasjonene. Hvorfor kan ikke 64-biters maskiner kjøre 16-biters apper?





Svaret på det spørsmålet kan være forvirrende, avhengig av hvem du spør. For det første er det faktisk ikke umulig å kjøre 16-biters apper. Det er bare vanskelig. For det andre ligger årsaken til denne vanskeligheten i både CPU -arkitekturen og operativsystemet.





Forvirret ennå? Ikke bekymre deg, du er ikke alene. Men når du kommer til slutten av denne artikkelen, vil du ikke bli forvirret lenger.





Historien om CPU -arkitektur

Jeg vet, det siste du vil lese er en historietime, ikke sant? Ikke bekymre deg, dette er en kort. Det er også kritisk for å forstå hvorfor 64-biters systemer ikke kan kjøre 16-biters apper opprinnelig.

Hvis du levde gjennom 80- og 90-tallet, husker du sannsynligvis de gamle 16-biters dinosaurene som alle på den tiden trodde var en teknologi som blødde ut.



På den tiden var det. De gamle maskinene kjørte Intel 8086 prosessor i 1978. Prosessoren fikk tilgang til et adresserom på 1Mb ved hjelp av 16-biters adressering. Med tidligere maskiner med 64 Kb minne, var dette en enorm fremgang og markerte begynnelsen på en ny tidsalder innen personlig databehandling.

I denne modusen (kalt Ekte modus ), var en del reservert for RAM, og resten ble brukt av BIOS og maskinvare som grafikkortet.





Litt senere kom et ytterligere fremskritt innen CPU-arkitektur med 80286-prosessoren, som var i stand til å adressere 16Mb ved hjelp av 16-biters adressering. Med 286 arkitekturen kom 'Beskyttet modus' med funksjoner som ikke bare tillot adressering av mer minne, men også multitasking. Å kjøre eldre 16-biters programmer i 'ekte modus' var ikke alltid lett, men det var mulig.

Slutten på 16-biters, slags ...

I 1985 introduserte Intel sin neste generasjons prosessor: Intel 386. Dette var Intels første CPU som kunne adressere minne ved hjelp av 32-bits om gangen, og kunne få tilgang til hele 4 Gb adresserbart minne. På den tiden virket dette for databrukere som et stort gjennombrudd. PC -spill var i ferd med å gå inn i sin storhetstid.





Sammen med ankomsten av 32-biters arkitektur kom en utvidet versjon av Beskyttet modus det ga ikke bare muligheten til å få tilgang til mer minne, men det inkluderte et sett med funksjoner der programvare kunne flagge systemet om det var 16-biters eller 32-biters kode. Dette ble muliggjort av det som er kjent som Virtuell 86 -modus , som egentlig var et innebygd virtualisert 8086-system.

Som du kan se, fra den ene utviklingen av CPU -arkitekturen til den neste, opprettholdt både maskinvaren (CPU -programmering) og programvaren (operativsystemer og applikasjoner) bakoverkompatibilitet for alle de brukerne som fremdeles hadde veldig gammel programvare som de ønsket å løpe. For individuelle databrukere var dette nyttig, men for mange selskaper og små bedrifter var det kritisk for eldre systemer.

64-biters arkitektur ødela alt

Grensen på 4 GB adresserbart minne forble en krykke for 32-biters systemer i mange år. Men med oppfinnelsen av 64-biters prosessorer kom et nytt gjennombrudd. Disse systemene inkluderte en ny modus (kjent som Lang modus ) som kan adressere opptil 16 millioner terabyte minne. Det vil sannsynligvis ta lang tid før dette blir en begrensende faktor for dataprogrammer.

Men med denne enorme fremskritt kom det en betydelig avveining. Når brukere forsøkte å kjøre 16-biters applikasjoner som krevde den 'riktige modusen' eller 'virtuell 8086-modusen som lenge støttes', oppdaget de en feilmelding som sa: 'Program.exe er ikke et gyldig Win32-program.'

Det var frustrerende, men det var ikke verdens ende. Brukere kunne bruke emulatorer eller installere virtuelle maskiner kjører 32-biters arkitektur og operativsystemer som kan støtte eldre 16-biters applikasjoner.

Så selv om det er 'umulig' for 64-biters systemer å kjøre 16-biters MS-DOS-applikasjoner, er det ikke umulig for brukere å gjøre det ved hjelp av en løsning. Men hvorfor skjedde dette?

64-biters arkitektur fjerner NTVDM

I hver generasjon med 32-biters prosessor gjennom årene har det blitt lagt mye arbeid i operativsystemet for at systemet skal håndtere eldre 16-biters DOS-applikasjoner. Det ble oppnådd med det som kalles NTVDM, eller NT Virtual DOS Machine.

Denne 32-biters applikasjonen kjørte i Windows-operativsystemet og simulerte en 486-arkitektur som var i stand til å håndtere 16-biters adressering ved hjelp av virtuell 8086. Dessverre kunne 'langmodus'-adressering ikke imøtekomme dette trygt. I stedet ville det ha krevd å etterligne en full 8086 -prosessor bare for å støtte kjøring av DOS -applikasjoner.

Microsoft tok tydelig en beslutning om å droppe denne innsatsen for å støtte rask utgivelse av det første 64-biters operativsystemet. På støttesiden sier Microsoft tydelig at '16-biters MS-DOS og Microsoft Windows 3.x-verktøy ikke starter. '

Ingen unnskyldninger. Det støttes rett og slett ikke.

Med overflod av virtualiseringsprodukter på markedet som var i stand til å oppnå dette uansett, følte Microsoft tydeligvis ikke at det var i sin beste interesse å finne opp hjulet på nytt.

Slik kjører du 16-biters programmer på 64-biters systemer

Bare fordi kjøring av 16-biters DOS-applikasjoner ikke støttes naturlig på 64-biters Windows-systemer, betyr det ikke at det er umulig. Du trenger bare å installere noen ekstra verktøy for å sette opp ting.

Hvis du liker klassiske DOS -spill eller bruk andre retroapplikasjoner fra de gamle gamle datidagene, det er alternativer. Her er fire måter du kan kjøre dem på din nye Windows -maskin.

1. Spill Retro -spill med DOSBox

En av de enkleste måtene å kjøre gamle DOS -apper på din PC er å bruke en emulator. En av de mest populære av dem er DOSBox .

hvordan spare batteri på apple watch

Christian detaljerte hvordan du installerer og konfigurerer DOSBox til kjøre gamle retro spill på Windows -maskinen.

Det flotte med dette er at de fleste av disse spillene er så gamle at de regnes som forlaterprogram , slik at du kan laste ned og spille dem lovlig gratis.

2. Kjør apper inne i VirtualBox

Siden operativsystemer som Windows XP og Windows 7 kan kjøre 16-biters programmer naturlig, kan du kjøre de samme programmene på ditt 64-biters system ved å bygge en virtuell maskin med et av disse operativsystemene på den.

En av de mest kjente og enkle å sette opp applikasjoner for dette er VirtualBox . Vi har en komplett guide på hvordan du konfigurerer og bruker VirtualBox , slik at du kan komme i gang med å bruke denne tilnærmingen akkurat nå.

Bare sørg for å velge riktig operativsystem for å installere. Hold deg til Windows 7 eller tidligere, så kan du laste ned og installere gamle DOS -apper på det virtuelle systemet på kort tid.

3. Bruk Linux

Si hva du vil om Linux, en ting de fleste Linux-distroene har rett i er støtte for 16-biters applikasjoner. Distros med PAE-kjernen, du er ikke begrenset til 4 GB 32-biters systemer, så det er et annet alternativ å kjøre en skikkelig Linux-distro som en dual-boot på systemet ditt.

To alternativer for å gjøre dette: en dual-boot-løsning eller en virtuell maskin. Eller du kan bare dumpe Windows helt, og gå med Linux . Uansett hva som fungerer for deg.

4. Bruk emulatorer

DOSBox er ikke den eneste emulatoren som er tilgjengelig for å kjøre gamle DOS -apper. Det er mange flotte emulatorer der ute som fungerer like bra. Dette gjelder spesielt hvis du er en spiller.

Christian har dekket hvordan han kan etterligne a Commodore Friend , til Bringebær Pi , en Android , Til og med klassisk SNES på hvilken som helst PC.

Dette er bare toppen av isen. Hvis du søker på nettet, finner du et helt bibliotek med forskjellige emulatorer der ute som lar deg kjøre omtrent hvilken som helst retro -app du kan forestille deg. Microsoft kan ha gitt opp gamle 16-biters applikasjoner fra da av, men du har fortsatt alternativer.

Ikke gi opp på 16-bit

Det er ingen grunn til at du skal tro det umulig å kjøre 16-biters applikasjoner på en 64-biters maskin. Det kan være umulig i utgangspunktet, men som du kan se er det mange løsninger for å utføre oppgaven.

Dele Dele kvitring E -post 12 videosider som er bedre enn YouTube

Her er noen alternative videosider til YouTube. De har hver sin nisje, men er verdt å legge til i bokmerkene dine.

Les neste
Relaterte temaer
  • Spill
  • Teknologi forklart
  • Emulering
  • Windows 10
  • 64-bit
Om forfatteren Ryan Dube(942 artikler publisert)

Ryan har en bachelorgrad i elektroteknikk. Han har jobbet 13 år innen automasjonsteknikk, 5 år innen IT, og er nå en Apps Engineer. En tidligere administrerende redaktør for MakeUseOf, han har talt på nasjonale konferanser om datavisualisering og har blitt omtalt på nasjonal TV og radio.

Mer fra Ryan Dube

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere