Hvorfor kan 64-bit operativsystemer ikke køre 16-bit apps?

Hvorfor kan 64-bit operativsystemer ikke køre 16-bit apps?

Når computere begyndte at bruge den moderne 64-bit arkitektur, indså brugerne hurtigt, at det ikke ville fungere at køre de gamle 16-bit applikationer. Hvorfor kan 64-bit maskiner ikke køre 16-bit apps?





Svaret på det spørgsmål kan være forvirrende, afhængigt af hvem du stiller. For det første er det faktisk ikke umuligt at køre 16-bit apps. Det er bare svært. For det andet ligger årsagen til denne vanskelighed i både CPU -arkitekturen og operativsystemet.





Forvirret endnu? Bare rolig, du er ikke alene. Men når du kommer til slutningen af ​​denne artikel, bliver du ikke mere forvirret.





Historien om CPU -arkitektur

Jeg ved, det sidste du vil læse er en historielektion, ikke? Bare rolig, dette er en kort. Det er også vigtigt at forstå, hvorfor 64-bit systemer ikke kan køre 16-bit apps indbygget.

Hvis du levede igennem 80'erne og 90'erne, så husker du sikkert de gamle 16-bit dinosaurer, som alle dengang troede var blødende teknologi.



På det tidspunkt var det. De gamle maskiner kørte Intel 8086 processor i 1978. Processoren kunne få adgang til et adresserum på 1Mb ved hjælp af 16-bit adressering. Da tidligere maskiner kørte 64 Kb hukommelse, var dette en enorm fremgang og markerede begyndelsen på en ny tidsalder inden for personlig computing.

I denne tilstand (kaldet Ægte tilstand ), var en portion forbeholdt RAM, og resten blev brugt af BIOS og computerhardware som grafikkortet.





Lidt senere kom et yderligere fremskridt inden for CPU-arkitektur med 80286-processoren, der kunne adressere 16Mb ved hjælp af 16-bit adressering. Med 286 arkitekturen kom 'Beskyttet tilstand' med funktioner, der ikke kun tillod adressering af mere hukommelse, men også multitasking. Det var ikke altid let at køre ældre 16-bit applikationer i 'real mode', men det var muligt.

Slutningen på 16-bit, slags ...

I 1985 introducerede Intel sin næste generations processor: Intel 386. Dette var Intels første CPU, der kunne adressere hukommelse ved hjælp af 32-bit ad gangen og kunne få adgang til hele 4 Gb adresserbar hukommelse. På det tidspunkt virkede dette for computerbrugere som et stort gennembrud. PC -spil var ved at gå ind i sin storhedstid.





Sammen med fremkomsten af ​​32-bit arkitektur kom en udvidet version af Beskyttet tilstand det gav ikke kun mulighed for at få adgang til mere hukommelse, men det inkluderede et sæt funktioner, hvor software kunne markere til systemet, om det var 16-bit eller 32-bit kode. Dette blev muliggjort af det, man kender som Virtuel 86 -tilstand , som i det væsentlige var et indbygget virtualiseret 8086-system.

Som du kan se, fra den ene udvikling af CPU -arkitekturen til den næste, bevarede både hardware (CPU -programmering) og softwaren (operativsystemer og applikationer) bagudkompatibilitet for alle de brugere, der stadig havde meget gammel software, som de ville løb. For individuelle computerbrugere var dette nyttigt, men for mange virksomheder og små virksomheder var det afgørende for ældre systemer.

64-bit arkitektur ødelagde alt

Grænsen på 4 GB adresserbar hukommelse forblev en krykke for 32-bit systemer i mange år. Men med opfindelsen af ​​64-bit processorer kom der endnu et gennembrud. Disse systemer inkluderede en ny tilstand (kendt som Lang tilstand ) i stand til at adressere op til 16 millioner terabyte hukommelse. Det vil sandsynligvis tage lang tid, før dette bliver en begrænsende faktor for computerprogrammer.

Men med denne enorme fremgang kom der en betydelig afvejning. Når brugere forsøgte at køre 16-bit applikationer, der krævede den længe understøttede 'rigtige tilstand' eller 'virtuelle 8086-tilstand', opdagede de en fejlmeddelelse, der lød, 'Program.exe er ikke et gyldigt Win32-program.'

Det var frustrerende, men det var ikke verdens ende. Brugere kunne bruge emulatorer eller installere virtuelle maskiner kører 32-bit arkitektur og operativsystemer, der er i stand til at understøtte ældre 16-bit applikationer.

Så selvom det er 'umuligt' for 64-bit systemer at køre 16-bit MS-DOS-applikationer, er det ikke umuligt for brugerne at gøre det ved hjælp af en løsning. Men hvorfor skete dette?

64-bit arkitektur fjerner NTVDM

I hver generation af 32-bit processor gennem årene var der lagt en stor indsats i operativsystemet for, at systemet kunne håndtere ældre 16-bit DOS-applikationer. Det blev opnået ved hjælp af det, der er kendt som NTVDM eller NT Virtual DOS Machine.

Denne 32-bit applikation kørte i Windows-operativsystemet og simulerede en 486-arkitektur, der var i stand til at håndtere 16-bit adressering ved hjælp af virtuel 8086. Desværre kunne 'long-mode' adressering ikke imødekomme dette sikkert. I stedet ville det have krævet at efterligne en fuld 8086 -processor simpelthen for at understøtte kørende DOS -applikationer.

Microsoft tog klart en beslutning om at droppe denne indsats for at understøtte hurtig frigivelse af sit første 64-bit operativsystem. På sin supportside oplyser Microsoft klart, at '16-bit MS-DOS og Microsoft Windows 3.x-værktøjer ikke starter. '

Ingen undskyldninger. Det understøttes simpelthen ikke.

Med overflod af virtualiseringsprodukter på markedet, der alligevel kunne opnå dette, følte Microsoft tydeligvis ikke, at det var i sin bedste interesse at genopfinde hjulet.

Sådan køres 16-bit applikationer på 64-bit systemer

Bare fordi at køre 16-bit DOS-applikationer ikke understøttes indbygget på 64-bit Windows-systemer, betyder det ikke, at det er umuligt. Du skal bare installere nogle ekstra værktøjer til at konfigurere tingene.

Hvis du nyder klassiske DOS -spil eller brug andre retro -applikationer fra de gamle gamle computere, der er muligheder. Her er fire måder, du kan køre dem på din nye Windows -maskine.

1. Spil Retro -spil med DOSBox

En af de nemmeste måder at køre gamle DOS -apps på din pc er at bruge en emulator. En af de mest populære af dem er DOSBox .

hvordan man deaktiverer lydbeskrivelse på prime

Christian detaljerede, hvordan man installerer og konfigurerer DOSBox til køre gamle retro spil på din Windows -maskine.

Det gode ved dette er, at de fleste af disse spil er så gamle, at de betragtes som opgivelsesprogram , så du lovligt kan downloade og afspille dem gratis.

2. Kør apps inde i VirtualBox

Da operativsystemer som Windows XP og Windows 7 kunne køre 16-bit applikationer indbygget, kan du køre de samme applikationer på dit 64-bit system ved at opbygge en virtuel maskine med et af disse operativsystemer på det.

En af de mest kendte og lette at konfigurere applikationer til dette er VirtualBox . Vi har en komplet guide til hvordan du konfigurerer og bruger VirtualBox , så du kan komme i gang med at bruge denne fremgangsmåde lige nu.

Bare sørg for at vælge det rigtige operativsystem, der skal installeres. Hold dig til Windows 7 eller tidligere, og du kan downloade og installere gamle DOS -apps på dit virtuelle system på ingen tid.

3. Brug Linux

Sig, hvad du vil om Linux, en ting, som de fleste Linux-distros har det rigtige, er understøttelse af 16-bit applikationer. Distros med PAE kernal, du er ikke begrænset til 4 GB 32-bit systemer, så det er en anden mulighed at køre en ordentlig Linux distro som en dual-boot på dit system.

To muligheder for at gøre dette: en dual-boot løsning eller en virtuel maskine. Eller du kan bare dumpe Windows helt, og gå med Linux . Uanset hvad der virker for dig.

4. Brug emulatorer

DOSBox er ikke den eneste tilgængelige emulator med det formål at køre gamle DOS -apps. Der er masser af gode emulatorer derude, der fungerer lige så godt. Dette gælder især, hvis du er en spiller.

Christian har dækket, hvordan man efterligner en Commodore Friend , til Hindbær Pi , en Android , og endda klassisk SNES på enhver pc.

Dette er bare toppen af ​​isburen. Hvis du søger online, finder du et helt bibliotek med forskellige emulatorer derude, der lader dig køre næsten enhver retro -app, du kan forestille dig. Microsoft har muligvis opgivet gamle 16-bit applikationer fra dengang, men du har stadig muligheder.

Giv ikke op på 16-bit

Der er ingen som helst grund til at du skulle tro det umulig at køre 16-bit applikationer på en 64-bit maskine. Det kan være umuligt indfødt, men som du kan se, er der masser af løsninger til at udføre opgaven.

Del Del Tweet E -mail 12 videosider, der er bedre end YouTube

Her er nogle alternative videosider til YouTube. De indtager hver sin forskellige niche, men er værd at tilføje til dine bogmærker.

Læs Næste
Relaterede emner
  • Spil
  • Teknologi forklaret
  • Emulering
  • Windows 10
  • 64-bit
Om forfatteren Ryan Dube(942 artikler udgivet)

Ryan har en bachelorgrad i elektroteknik. Han har arbejdet 13 år inden for automationsteknik, 5 år inden for IT, og er nu Apps Engineer. Tidligere administrerende redaktør for MakeUseOf har han talt på nationale konferencer om datavisualisering og er blevet vist på nationalt tv og radio.

Mere fra Ryan Dube

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere