Annons

När datorer började använda den moderna 64-bitarsarkitekturen insåg användare snart att det inte skulle fungera att köra de gamla 16-bitarsapplikationerna. Varför kan inte 64-bitars maskiner köra 16-bitars appar?

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

Förvirrad ännu? Oroa dig inte, du är inte ensam. Men när du kommer till slutet av denna artikel kommer du inte att bli förvirrad längre.

CPU-arkitekturens historia

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

Om du levde genom 80- och 90-talet, kommer du ihåg förmodligen de gamla 16-bitars dinosaurierna som alla vid den tiden trodde var blödande teknik.

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

Då var det. De gamla maskinerna körde

instagram viewer
Intel 8086 1978. Processorn kunde komma åt ett adressutrymme på 1 MB med 16-bitars adressering. Med tidigare maskiner som körde på 64 Kb minne var detta en enorm framsteg och markerade början på en ny tid i personlig datoranvändning.

I detta läge (kallas Riktigt läge), en del reserverades för RAM, och resten användes av BIOS och datormaskinvara som grafikkortet.

Lite senare kom en ytterligare utveckling i CPU-arkitektur med 80286-processorn, som kan adressera 16Mb med 16-bitars adressering. Med 286-arkitekturen kom "Skyddat läge" med funktioner som inte bara möjliggjorde adressering av mer minne, utan också multitasking. Att köra äldre 16-bitarsapplikationer i ”riktigt läge” var inte alltid lätt, men det var möjligt.

Slutet av 16-bitars, sort av ...

1985 introducerade Intel dess nästa generations processor: Intel 386. Detta var Intels första CPU som kunde adressera minnet med 32-bitar i taget och kunde komma åt ett enormt 4 GB adresserbart minne. Då tycktes detta för datoranvändare som ett stort genombrott. PC-spel var på väg att gå in i sin storhetstid.

varför 64-bitars inte kan 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 åtkomst till mer minne, utan det inkluderade en uppsättning funktioner där programvara kunde flagga till systemet oavsett om det var 16-bitars eller 32-bitars kod. Detta möjliggjordes av vad som kallas Virtuellt 86-läge, som i huvudsak var ett inbyggt virtualiserat 8086-system.

Som du kan se, från en utveckling av CPU-arkitektur till nästa, både hårdvaran (CPU-programmering) och programvaran (fungerar system och applikationer), upprätthöll bakåtkompatibilitet för alla de 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 avgörande för äldre system.

64-bitars arkitektur förstörde allt

Gränsen för 4 GB adresserbart minne förblev en krycka för 32-bitars system under många år. Men med uppfinningen av 64-bitars processorer kom ännu ett genombrott. Dessa system inkluderade ett nytt läge (känd som Långt läge) som kan hantera upp till 16 miljoner terabyte minne. Det kommer nog att ta lång tid innan detta blir en begränsande faktor för datorprogram.

Men med denna enorma framsteg kom en betydande avvägning. När användare försökte köra 16-bitars applikationer som krävde det långstödda "riktiga läget" eller "Virtuella 8086-läget", upptäckte de ett felmeddelande som läste, "Program.exe är inte ett giltigt Win32 Ansökan."

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

Det var frustrerande, men det var inte slutet på världen. användare kan använda emulatorer Hur man kör gamla spel och programvara på Windows 10Gamla PC-spel och programvara kan kämpa på Windows 10. Prova dessa tips för att få dina gamla Windows-spel och program som körs på Windows 10. Läs mer eller installera virtuella maskiner VirtualBox vs. VMware Player: Den bästa virtuella maskinen för WindowsKämpar du för att bestämma vilken virtuell maskinvara du ska använda? VirtualBox och VMware Workstation Player är båda gratis. Men vilken är bäst för dig? Låt oss hjälpa dig ta reda på det! Läs mer kör 32-bitars arkitektur och operativsystem som kan stödja gamla 16-bitars applikationer.

Så även om 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ändare att göra det med en lösning. Men varför hände detta?

64-bitars arkitektur tar bort NTVDM

I varje generation av 32-bitars-processorer genom åren har man lagt ned mycket arbete i operativsystemet för att systemet skulle kunna hantera äldre 16-bitars DOS-applikationer. Det gjordes med hjälp av så kallad NTVDM eller NT Virtual DOS-maskin.

Denna 32-bitars applikation kördes i Windows-operativsystemet och simulerade en 486-arkitektur som kan hantera 16-bitars adressering med virtuella 8086. Tyvärr kunde adressering med "långt läge" inte hysa detta säkert. Istället skulle det ha krävt att emulera en fullständig 8086-processor helt enkelt för att stödja körning av DOS-applikationer.

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

Microsoft fattade tydligt ett beslut att släppa denna ansträngning för att stödja den snabba lanseringen av sitt första 64-bitars operativsystem. På sin supportsida, Microsoft säger tydligt att "16-bitars MS-DOS och Microsoft Windows 3.x-verktyg inte kommer att starta."

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

Med en mängd virtualiseringsprodukter på marknaden som kan göra det ändå, kände Microsoft helt klart inte att det var i sitt bästa intresse att återuppfinna hjulet.

Hur man kör 16-bitars applikationer på 64-bitars system

Bara för att köra 16-bitars DOS-applikationer inte stöds naturligt i 64-bitars Windows-system, betyder det inte att det är omöjligt. Du behöver bara installera några extra verktyg för att konfigurera saker.

Om du tycker om det klassiska DOS-spel 7 webbplatser för att hitta de bästa klassiska DOS-spelen Läs mer eller använda andra retroapplikationer från de goda datorerna i datorn, det finns alternativ. Här är fyra sätt du kan 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å din dator är att använda en emulator. En av de mest populära av dem är DOSBox.

Christian detaljerade hur du installerar och konfigurerar DOSBox till kör gamla retro-spel Hur man spelar retro-spel på alla plattformar med DOSBoxVill 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 inte kan köra 16-bitars applikationer

Det fantastiska med detta är att de flesta av dessa spel är så gamla att de betraktas som övergivande program 7 webbplatser för att hitta de bästa klassiska DOS-spelen Läs mer , så att du lagligt kan ladda ner och spela dem gratis.

2. Kör appar inuti VirtualBox

Eftersom operativsystem som Windows XP och Windows 7 kan köra 16-bitars applikationer naturligt, kan du köra samma applikationer på ditt 64-bitarssystem genom att bygga en virtuell maskin med ett av dessa operativsystem på den.

En av de mest kända och enkla att installera applikationer för detta är VirtualBox. Vi har en komplett guide om hur man ställer in och använder VirtualBox Hur man använder VirtualBox: AnvändarhandbokMed VirtualBox kan du enkelt installera och testa flera operativsystem. Vi visar hur du ställer in Windows 10 och Ubuntu Linux som en virtuell maskin. Läs mer , så att du kan komma igång med den här metoden just nu.

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

Se bara till att välja rätt operativsystem att installera. Håll fast vid 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 kommer till Linux, en sak som de flesta Linuxdistros har rätt är stöd för 16-bitars applikationer. Distros med PAE-kernal är du inte begränsad till 4 GB 32-bitars-system, så att köra en ordentlig Linux-distro som en dual-boot på ditt system är ett annat alternativ.

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

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

4. Använd emulatorer

DOSBox är inte den enda tillgängliga emulatorn för att köra gamla DOS-appar. Det finns massor av fantastiska emulatorer där ute som fungerar lika bra. Detta gäller särskilt om du är en spelare.

Christian har täckt hur man emulerar a Commodore Amiga, a Raspberry Pi, ett Android, och även klassiska SNES på vilken dator som helst.

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

Detta är bara toppen av isbergen. Om du söker på nätet hittar du ett helt bibliotek med olika emulatorer där ute som låter dig köra nästan alla retro-appar du kan föreställa dig. Microsoft kan ha gett upp gamla 16-bitarsapplikationer tillbaka från dagen, men du har fortfarande alternativ.

Ge inte upp på 16-bitars

Det finns ingen som helst anledning att du ska tro att det är omöjlig för att köra 16-bitars applikationer på en 64-bitars maskin. Det kan vara omöjligt nativt, men som ni ser finns det många lösningar för att utföra uppgiften.

Ryan har en kandidatexamen i elektroteknik. Han har arbetat 13 år inom automationsteknik, 5 år inom IT och är nu en applikationsingenjör. Han var tidigare chefredaktör för MakeUseOf och talade vid nationella konferenser om datavisualisering och har varit med på nationell TV och radio.