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

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

När datorer började använda den moderna 64-bitarsarkitekturen insåg användarna snart att det inte gick att köra de gamla 16-bitars programmen. 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 frågar. För det första ä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 i både 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 bli förvirrad längre.





Historien om CPU -arkitektur

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å viktigt för att förstå varför 64-bitars system inte kan köra 16-bitars appar inbyggt.

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



På den tiden var det. De gamla maskinerna körde Intel 8086 processor 1978. Processorn kunde komma åt ett adressutrymme på 1Mb med 16-bitars adressering. Med tidigare maskiner som körde 64 Kb minne, var detta ett enormt framsteg och markerade början på en ny tid inom personlig databehandling.

I det här läget (kallas Verkligt läge ), var en del reserverad för RAM, och resten användes av BIOS och datorhårdvara som grafikkortet.





Lite senare kom ett ytterligare framsteg inom CPU-arkitekturen med 80286-processorn, som kan adressera 16Mb med 16-bitars adressering. Med 286 -arkitekturen kom 'Skyddat läge', med funktioner som inte bara tillät adressering av mer minne, utan också multitasking. Att köra äldre 16-bitars applikationer i 'riktigt läge' var inte alltid lätt, men det var möjligt.

Slutet på 16-bitars, typ ...

1985 introducerade Intel sin nästa generations processor: Intel 386. Detta var Intels första CPU som kunde ta emot minne med 32-bitar åt gången och kunde komma åt enorma 4 Gb adresserbart minne. På den tiden verkade detta för datoranvändare som ett stort genombrott. PC -spel var på väg att gå in i sin storhetstid.





Tillsammans med tillkomsten av 32-bitars arkitektur kom en utökad version av Skyddat läge som inte bara möjliggjorde möjligheten att få åtkomst till mer minne, utan den 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 det 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, bibehöll både hårdvaran (CPU -programmering) och programvaran (operativsystem och applikationer) 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 på 4 GB adresserbart minne förblev en krycka för 32-bitars system i många år. Men med uppfinningen av 64-bitars processorer kom ett annat genombrott. Dessa system inkluderade ett nytt läge (känt som Långt läge ) som kan hantera upp till 16 miljoner terabyte minne. Det kommer förmodligen att dröja länge 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 'riktiga läget' eller 'virtuella 8086-läget som stöds länge', upptäckte de ett felmeddelande med texten 'Program.exe är inte ett giltigt Win32-program.'

Det var frustrerande, men det var inte världens ände. Användare kan använda emulatorer eller installera virtuella maskiner kör 32-bitars arkitektur och operativsystem som kan stödja äldre 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 hjälp av en lösning. Men varför hände detta?

64-bitars arkitektur tar bort NTVDM

I varje generation av 32-bitars processor genom åren har det lagts mycket på operativsystemet för att systemet ska hantera äldre 16-bitars DOS-applikationer. Det uppnåddes med hjälp av det som kallas NTVDM eller NT Virtual DOS Machine.

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

Microsoft fattade tydligt ett beslut om att släppa denna ansträngning för att stödja snabbversionen av sitt första 64-bitars operativsystem. På sin supportsida säger Microsoft tydligt att '16-bitars MS-DOS och Microsoft Windows 3.x-verktyg inte startar. '

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

Med den uppsjö av virtualiseringsprodukter på marknaden som kan uppnå detta i alla fall, kände Microsoft uppenbarligen 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 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 in saker.

Om du gillar klassiska DOS -spel eller använda andra retroapplikationer från den gamla gamla databehandlingstiden, 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å din dator är att använda en emulator. En av de mest populära av dem är DOSBox .

hur vet jag om min telefon är hackad

Christian detaljerade hur man installerar och konfigurerar DOSBox till kör gamla retrospel på din Windows -maskin.

Det fina med det här är att de flesta av dessa spel är så gamla att de anses överge programvara , så att du lagligt kan ladda ner och spela dem gratis.

2. Kör appar i VirtualBox

Eftersom operativsystem som Windows XP och Windows 7 kan köra 16-bitars applikationer inbyggt kan du köra samma program på ditt 64-bitars system 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 på hur du konfigurerar och använder VirtualBox , så att du kan komma igång med detta tillvägagångssätt just nu.

Se bara till att välja rätt operativsystem att installera. Håll dig till Windows 7 eller tidigare, så kan du ladda ner och installera gamla DOS -appar på ditt virtuella system på nolltid.

3. Använd Linux

Säg vad du vill 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 4 GB 32-bitars system, så att köra en riktig Linux-distro som en dubbelstart på ditt system är ett annat alternativ.

Två alternativ för att göra detta: en dual-boot-lösning eller en virtuell maskin. Eller så kan du bara dumpa Windows helt och gå med Linux . Vad som fungerar för dig.

4. Använd emulatorer

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

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

Detta är bara toppen av isburg. 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 tänka dig. Microsoft kan ha gett upp gamla 16-bitars applikationer från förr, men du har fortfarande alternativ.

Ge inte upp på 16-bitars

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

Dela med sig Dela med sig Tweet E-post 12 videosajter som är bättre än YouTube

Här är några alternativa videosajter till YouTube. De har alla en annan nisch, men är värda att lägga till dina bokmärken.

Läs Nästa
Relaterade ämnen
  • Spel
  • Teknik förklaras
  • Tävlan
  • Windows 10
  • 64-bitars
Om författaren Ryan Dube(942 artiklar publicerade)

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

Mer från Ryan Dube

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera