Varför kan 64-bitars operativsystem inte köra 16-bitars Apps?

Varför kan din 64-bitars dator inte köra dina gamla 16-bitars appar? Här är varför, plus några lösningar du kan använda ändå.

Varför kan din 64-bitars dator inte köra dina gamla 16-bitars appar?  Här är varför, plus några lösningar du kan använda ändå.
Annons

När datorer började använda den moderna 64-bitarsarkitekturen så upptäckte användarna snart att de gamla 16-bitarsprogrammen inte skulle fungera. Varför kan inte 64-bitars maskiner köras med 16-bitars apps?

Svaret på den frågan kan vara förvirrande, beroende på vem du frågar. För en sak är det egentligen inte möjligt att köra 16-bitars apps. Det är bara svårt. För det andra ligger orsaken till denna svårighet både i CPU-arkitekturen och operativsystemet.

Förvirrad än? Oroa dig inte, du är inte ensam. Men när du kommer till slutet av den här artikeln kommer du inte att förvirras längre.

Historien om CPU Arkitektur

Jag vet att det sista du vill läsa är en historielektion, eller hur? Oroa dig inte, det här är en kort. Det är också kritiskt att förstå varför 64-bitarssystem inte kan köra 16-bitars program inhemskt.

Om du bodde under 80-talet och 90-talet kommer du förmodligen ihåg de gamla 16-bitars dinosaurerna som alla trodde på den tiden var blödande teknik.

varför 64-bitars kan inte köra 16-bitars applikationer

Vid den tiden var det. De gamla maskinerna körde Intel 8086- processorn 1978. Processorn kunde få åtkomst till ett adressutrymme på 1 MB med 16-bitars adressering. Med tidigare maskiner som körde 64 kb minne, var detta en enorm framsteg och markerade början på en ny ålder i personlig datorbehandling.

I det här läget (kallat Real-läge ) reserverades en del för RAM, och resten användes av BIOS och datorhårdvara som grafikkortet.

Lite senare kom en ytterligare framsteg i CPU-arkitektur med 80286-processorn, som kunde adressera 16Mb med 16-bitars adressering. Med 286-arkitekturen kom "Skyddat läge" med funktioner som inte bara är tillåtna för adressering av mer minne, utan även multitasking. Att köra äldre 16-bitars applikationer i "real mode" var inte alltid lätt, men det var möjligt.

Slutet av 16-bitars, sort av ...

1985 introducerade Intel sin nästa generations processor: Intel 386. Detta var Intels första CPU som kunde adressera minnet med 32 bitar åt gången och kunde komma åt en hel del 4 GB adresserbart minne. Då verkade det som datanvändare som ett stort genombrott. PC-spel var på väg att gå in i sin högtidstid.

varför 64-bitars kan inte köra 16-bitars applikationer

Tillsammans med tillkomsten av 32-bitars arkitektur kom en utökad version av Skyddat läge som inte bara möjliggjorde möjligheten att komma åt mer minne, men det innehöll en uppsättning funktioner där programvaran kunde flagga till systemet om det var 16 bitar eller 32 -bit-kod. Detta möjliggjordes av det så kallade Virtual 86-läget, vilket i huvudsak var ett inbyggt virtualiserat 8086-system.

Som du kan se, från en utveckling av CPU-arkitekturen till nästa, behöll både hårdvaran (CPU-programmering) och mjukvaran (operativsystem och applikationer) bakåtkompatibilitet för alla användare som fortfarande hade mycket gammal programvara som de ville springa. För enskilda datoranvändare var detta användbart, men för många företag och småföretag var det kritiskt för äldre system.

64-bitars arkitektur förstört allt

Gränsen på 4 GB adresserbart minne förblev en krycka för 32-bitars system i många år. Emellertid med uppfinningen av 64-bitars processorer kom ett annat genombrott. Dessa system inkluderade ett nytt läge (känt som Long Mode ) som kan ta upp upp till 16 miljoner terabyte minne. Det kommer förmodligen vara lång tid innan det blir en begränsande faktor för datortillämpningar.

Men med denna enorma framsteg kom en stor avvägning. När användare försökte köra 16-bitars program som krävde det långvariga "reella läget" eller "virtuella 8086-läget" upptäckte de ett felmeddelande som läste "Program.exe är inte ett giltigt Win32-program."

varför 64-bitars kan inte köra 16-bitars applikationer

Det var frustrerande, men det var inte världens ände. Användare kan använda emulatorer Gör dina gamla spel och programvara köra i Windows 10 Gör dina gamla spel och programvara köra i Windows 10 De flesta Windows-program kommer att fungera på Windows 10. Men program som är utformade för Windows XP och tidigare kan sluta fungera. Innan du ger upp hopp, prova våra tips att få den gamla applikationen igång. Läs mer eller installera virtuella maskiner VirtualBox vs VMware Player: Den bästa virtuella maskinen för Windows VirtualBox vs VMware Player: Den bästa virtuella maskinen för Windows Kämpar du för att bestämma vilken virtuell maskinvara som ska användas? VirtualBox och VMware Workstation Player är båda gratis. Men vilken är bäst för dig? Låt oss hjälpa dig att ta reda på det! Läs mer Köra 32-bitars arkitektur och operativsystem som kan stödja äldre 16-bitars applikationer.

Så medan det är "omöjligt" för 64-bitars system att köra 16-bitars MS-DOS-applikationer, är det inte omöjligt för användarna att göra det med en lösning. Men varför hände det här?

64-bitars arkitektur tar bort NTVDM

I alla generationer av 32-bitars processor genom åren har det gjorts mycket arbete i operativsystemet för att systemet ska hantera äldre 16-bitars DOS-applikationer. Det uppnåddes med det som kallas NTVDM eller NT Virtual DOS Machine.

Denna 32-bitars applikation sprang i Windows-operativsystemet och simulerade en 486-arkitektur som kunde hantera 16-bitars adressering med virtuell 8086. Tyvärr kunde "long-mode" adressering inte passa det på ett säkert sätt. Istället skulle det ha krävt att emulera en full 8086-processor helt enkelt för att stödja körbara DOS-applikationer.

varför 64-bitars kan inte köra 16-bitars applikationer

Microsoft fattade tydligt ett beslut att dölja denna insats för att stödja snabb utgivning av sitt första 64-bitars operativsystem. På dess support sida säger Microsoft klart att "16-bitars MS-DOS och Microsoft Windows 3.x verktyg inte startar."

Inga ursäkter. Det stöds helt enkelt inte.

Med de många virtualiseringsprodukterna på marknaden som kunde göra detta ändå, kände Microsoft helt klart inte att det var i sitt bästa intresse att återuppfinna hjulet.

Så här kör du 16-bitars program på 64-bitars system

Bara för att 16-bitars DOS-applikationer inte stöds native på 64-bitars Windows-system betyder det inte att det är omöjligt. Du behöver bara installera några extra verktyg för att ställa upp saker.

Om du gillar klassiska DOS-spel 7 platser för att hitta de bästa klassiska DOS-spelen 7 webbplatser för att hitta de bästa klassiska DOS-spelen Läs mer eller använd andra retroapplikationer från de gamla goda datorerna, det finns alternativ. Här är fyra sätt att köra dem på din nya Windows-maskin.

1. Spela Retro-spel med DOSBox

Ett av de enklaste sätten att köra gamla DOS-appar på datorn är att använda en emulator. En av de mest populära av dem är DOSBox.

Christian detaljerad hur man installerar och konfigurerar DOSBox för att köra gamla retrospel Så spelar man Retro-spel på vilken plattform som helst med DOSBox Hur man spelar Retro-spel på vilken plattform som helst med DOSBox Vill du spela retro PC-spel på din dator, telefon eller spelkonsol? Här är allt du behöver veta för att komma igång med DOSBox, inklusive de bästa spelen att emulera! Läs mer på din Windows-maskin.

varför 64-bitars kan inte köra 16-bitars applikationer

Det stora med det här är att de flesta av dessa spel är så gamla att de anses vara abandonware 7 webbplatser för att hitta de bästa klassiska DOS-spelen 7 webbplatser för att hitta de bästa klassiska DOS-spelen Läs mer så att du kan lagligt ladda ner och spela dem för fri.

2. Kör Apps Inside VirtualBox

Eftersom operativsystem som Windows XP och Windows 7 kan köra 16-bitars program inhemskt kan du köra samma program på ditt 64-bitars system genom att bygga en virtuell maskin med ett av de operativsystem som finns på det.

En av de mest kända och enkla inställningarna för detta är VirtualBox. Vi har en komplett guide till hur du konfigurerar och använder VirtualBox Så här använder du VirtualBox: Användarhandbok Så här använder du VirtualBox: Användarhandbok Med VirtualBox kan du enkelt installera och testa flera operativsystem. Vi visar hur du konfigurerar Windows 10 och Ubuntu Linux som en virtuell maskin. Läs mer, så du kan börja använda detta tillvägagångssätt just nu.

varför 64-bitars kan inte köra 16-bitars applikationer

Var noga med att välja rätt operativsystem att installera. Stick med Windows 7 eller tidigare, och du kan ladda ner och installera gamla DOS-appar på ditt virtuella system på nolltid.

3. Använd Linux

Säg vad du ska om Linux, en sak som de flesta Linux distros har rätt är stöd för 16-bitars applikationer. Distros med PAE kernal, du är inte begränsad till 4GB 32-bitars system, så kör en riktig Linux distro som en dubbelstart på ditt system är ett annat alternativ.

varför 64-bitars kan inte köra 16-bitars applikationer

Två alternativ för att göra detta: en dual-boot-lösning eller en virtuell maskin Vad är det bästa sättet att köra flera operativsystem på datorn? Vad är det bästa sättet att köra flera operativsystem på din dator? Oavgjort mellan Windows och Linux? Det är möjligt att köra flera operativsystem på en enda maskin, antingen genom dubbla uppstart eller med en virtuell maskin. Låt oss ta reda på vilken som är bäst för dig. Läs mer . Eller du kan bara dumpa Windows helt och gå med Linux 6 saker som Ubuntu gör bättre än Windows 6 saker som Ubuntu gör bättre än Windows Några tycker att Ubuntu är för nördar - men sanningen är att Ubuntu är lika lätt att använda som Windows . Faktum är att det finns flera saker Ubuntu gör det bättre än Windows 10. Läs mer. Vad som helst för dig.

4. Använd emulatorer

DOSBox är inte den enda emulatorn som är tillgänglig för att driva gamla DOS-appar. Det finns många bra emulatorer där ute som fungerar lika bra. Detta gäller speciellt om du är en spelare.

Christian har täckt hur man efterliknar en Commodore Amiga, en Raspberry Pi, en Android och även klassisk SNES på vilken dator som helst.

varför 64-bitars kan inte köra 16-bitars applikationer

Detta är bara toppen av iceburg. Om du söker på nätet hittar du ett helt bibliotek med olika emulatorer där ute som låter dig springa nästan alla retro-apper du kan tänka dig. Microsoft kanske har gett upp gamla 16-bitars applikationer från och med dagen, men du har fortfarande alternativ.

Ge inte upp på 16 bitar

Det finns ingen anledning att du tror att det är omöjligt att köra 16-bitars program på en 64-bitars maskin. Det kan vara omöjligt nationellt, men som du kan se finns det många lösningar för att uppnå uppgiften.

In this article