Perché i sistemi operativi a 64 bit non possono eseguire app a 16 bit?

Perché i sistemi operativi a 64 bit non possono eseguire app a 16 bit? / Spiegazione della tecnologia

Una volta che i computer hanno iniziato a utilizzare la moderna architettura a 64 bit, gli utenti si sono presto resi conto che l'esecuzione di quelle vecchie applicazioni a 16 bit non avrebbe funzionato. Perché le macchine a 64 bit non possono eseguire app a 16 bit?

La risposta a questa domanda può essere fonte di confusione, a seconda di chi chiedi. Per prima cosa, non è in realtà impossibile eseguire app a 16 bit. È solo difficile. In secondo luogo, la ragione di questa difficoltà risiede nell'architettura della CPU e il sistema operativo.

Confuso ancora? Non ti preoccupare, non sei solo. Ma quando arrivi alla fine di questo articolo, non sarai più confuso.

La storia dell'architettura della CPU

Lo so, l'ultima cosa che vuoi leggere è una lezione di storia, giusto? Non ti preoccupare, questo è breve. È anche fondamentale capire perché i sistemi a 64 bit non possono eseguire applicazioni a 16 bit in modo nativo.

Se hai vissuto negli anni '80 e '90, allora probabilmente ti ricordi quei vecchi dinosauri a 16 bit che a quel tempo tutti credevano fosse una tecnologia all'avanguardia.

Al momento, lo era. Quelle vecchie macchine gestivano il Intel 8086 processore nel 1978. Il processore è stato in grado di accedere a uno spazio di indirizzamento di 1 Mb utilizzando l'indirizzamento a 16 bit. Con le macchine precedenti con 64 Kb di memoria, questo è stato un enorme progresso e ha segnato l'inizio di una nuova era nel personal computing.

In questa modalità (chiamata Modalità reale), una parte era riservata alla RAM e il resto era utilizzato dal BIOS e dall'hardware del computer come la scheda grafica.

Un po 'più tardi è arrivato un ulteriore progresso nell'architettura della CPU con il processore 80286, in grado di indirizzare 16 Mb usando l'indirizzamento a 16 bit. Con l'architettura 286 è venuto “Modalità protetta,” con funzionalità che non solo consentivano l'indirizzamento di più memoria, ma anche il multitasking. Esecuzione di applicazioni a 16 bit più vecchie in “modalità reale” non era sempre facile, ma era possibile.

The End of 16-Bit, Sort Of ...

Nel 1985, Intel introdusse il suo processore di prossima generazione: Intel 386. Questa era la prima CPU di Intel che poteva indirizzare la memoria usando 32 bit alla volta e poteva accedere a ben 4 Gb di memoria indirizzabile. A quel tempo, questo sembrava agli utenti di computer come un importante passo avanti. I giochi per PC stavano per entrare nel suo periodo di massimo splendore.

Insieme all'avvento dell'architettura a 32 bit è arrivata una versione estesa di Modalità protetta che non solo consentiva la possibilità di accedere a più memoria, ma includeva una serie di funzionalità in cui il software poteva segnalare al sistema se si trattava di codice a 16 o 32 bit. Ciò è stato reso possibile da ciò che è noto come Modalità Virtual 86, che era essenzialmente un sistema 8086 virtualizzato integrato.

Come potete vedere, da un'evoluzione dell'architettura della CPU all'altra, sia l'hardware (programmazione della CPU) che il software (sistemi operativi e applicazioni) hanno mantenuto la retrocompatibilità per tutti quegli utenti che avevano ancora software molto vecchi che volevano correre. Per i singoli utenti di computer, questo era utile, ma per molte aziende e piccole imprese, era fondamentale per i sistemi legacy.

L'architettura a 64 bit ha rovinato tutto

Il limite di 4 GB di memoria indirizzabile è rimasto una stampella per sistemi a 32 bit per molti anni. Tuttavia, con l'invenzione dei processori a 64 bit è arrivato un altro passo avanti. Questi sistemi includevano una nuova modalità (conosciuta come Modalità lunga) in grado di gestire fino a 16 milioni di terabyte di memoria. Probabilmente passerà molto tempo prima che questo diventi un fattore limitante per le applicazioni informatiche.

Tuttavia, con questo enorme progresso è venuto un compromesso significativo. Quando gli utenti hanno tentato di eseguire applicazioni a 16 bit che richiedevano il supporto lungo “modalità reale” o “modalità 8086 virtuale,” hanno scoperto un messaggio di errore che leggeva, “Program.exe non è un'applicazione di Win32 valida.”

Era frustrante, ma non era la fine del mondo. Gli utenti possono usare gli emulatori Realizza i tuoi vecchi giochi e software in Windows 10 Fai girare vecchi giochi e software in Windows 10 La maggior parte delle applicazioni Windows funzionerà su Windows 10. Tuttavia, le applicazioni progettate per Windows XP e precedenti potrebbero smettere di funzionare. Prima di rinunciare alla speranza, prova i nostri suggerimenti per far funzionare la vecchia applicazione. Ulteriori informazioni o installazione di macchine virtuali VirtualBox vs VMware Player: la migliore macchina virtuale per Windows VirtualBox rispetto a VMware Player: la migliore macchina virtuale per Windows State faticando a decidere quale software della macchina virtuale utilizzare? VirtualBox e VMware Workstation Player sono entrambi gratuiti. Ma qual è il migliore per te? Lascia che ti aiutiamo a scoprirlo! Leggi di più architettura e sistemi operativi a 32 bit in grado di supportare applicazioni legacy a 16 bit.

Così mentre è “impossibile” per i sistemi a 64 bit per l'esecuzione di applicazioni MS-DOS a 16 bit, non è impossibile per gli utenti farlo utilizzando una soluzione alternativa. Ma perché è successo?

Architettura a 64 bit Rimuove NTVDM

In ogni generazione di processori a 32 bit nel corso degli anni, il sistema operativo impiegava molto per gestire le vecchie applicazioni DOS a 16 bit. È stato realizzato utilizzando il cosiddetto NTVDM o NT Virtual DOS Machine.

Questa applicazione a 32 bit è stata eseguita nel sistema operativo Windows e ha simulato un'architettura 486 in grado di gestire l'indirizzamento a 16 bit utilizzando l'8086 virtuale. Sfortunatamente, “A lungo in modalità” l'indirizzamento non potrebbe accogliere questo in modo sicuro. Invece, avrebbe dovuto emulare un processore 8086 completo semplicemente per supportare l'esecuzione di applicazioni DOS.

Microsoft ha chiaramente preso la decisione di abbandonare questo sforzo per supportare il rilascio immediato del suo primo sistema operativo a 64 bit. Sulla sua pagina di supporto, Microsoft afferma chiaramente che “Le utilità MS-DOS a 16 bit e Microsoft Windows 3.x non verranno avviate.”

Niente scuse. Semplicemente non è supportato.

Con la pletora di prodotti di virtualizzazione sul mercato in grado di raggiungere questo obiettivo, Microsoft chiaramente non pensava che fosse nel suo interesse reinventare la ruota.

Come eseguire applicazioni a 16 bit su sistemi a 64 bit

Solo perché l'esecuzione di applicazioni DOS a 16 bit non è supportata in modo nativo su sistemi Windows a 64 bit, ciò non significa che sia impossibile. Hai solo bisogno di installare alcuni strumenti extra per impostare le cose.

Se ti piacciono i classici giochi DOS 7 siti per trovare i migliori giochi DOS classici 7 siti per trovare i migliori giochi DOS classici Leggi di più o usa qualsiasi altra applicazione retro dai bei vecchi tempi dell'informatica, ci sono opzioni. Ecco quattro modi per eseguirli sul tuo nuovo computer Windows.

1. Gioca a Retro Games con DOSBox

Uno dei modi più semplici per eseguire vecchie applicazioni DOS sul PC è utilizzare un emulatore. Uno dei più popolari è DOSBox.

Christian spiega come installare e configurare DOSBox per eseguire vecchi giochi retrò Come giocare a giochi retrò su qualsiasi piattaforma con DOSBox Come giocare a giochi retrò su qualsiasi piattaforma con DOSBox Vuoi giocare a giochi per PC retrò sul tuo computer, telefono o console di gioco? Ecco tutto quello che devi sapere per iniziare con DOSBox, inclusi i migliori giochi da emulare! Leggi di più sul tuo computer Windows.

La cosa grandiosa di questo è che la maggior parte di questi giochi sono così vecchi da essere considerati abbandonware 7 Siti per trovare i migliori giochi DOS classici 7 siti per trovare i migliori giochi DOS classici Ulteriori informazioni, quindi puoi scaricarli e giocarli legalmente gratuito.

2. Esegui App Inside VirtualBox

Poiché i sistemi operativi come Windows XP e Windows 7 possono eseguire applicazioni a 16 bit in modo nativo, è possibile eseguire le stesse applicazioni sul sistema a 64 bit creando una macchina virtuale con uno di quei sistemi operativi su di esso.

Una delle applicazioni più conosciute e facili da configurare per questo è VirtualBox. Abbiamo una guida completa su come impostare e utilizzare VirtualBox Come utilizzare VirtualBox: Guida per l'utente Come utilizzare VirtualBox: Guida per l'utente Con VirtualBox è possibile installare e testare più sistemi operativi. Ti mostreremo come configurare Windows 10 e Ubuntu Linux come macchina virtuale. Leggi di più, in modo da poter iniziare a utilizzare questo approccio al momento.

Assicurati di scegliere il sistema operativo giusto da installare. Segui Windows 7 o versioni precedenti e puoi scaricare e installare vecchie app DOS sul tuo sistema virtuale in pochissimo tempo.

3. Usa Linux

Dì quello che vuoi su Linux, una cosa che la maggior parte delle distro Linux ha ragione è il supporto per le applicazioni a 16 bit. Distribuzioni con il PAE kernal, non sei limitato ai 4GB di sistemi a 32 bit, quindi eseguire una distro Linux corretta come dual-boot sul tuo sistema è un'altra opzione.

Due opzioni per farlo: una soluzione dual-boot o una macchina virtuale Qual è il modo migliore per eseguire più sistemi operativi sul PC? Qual è il modo migliore per eseguire più sistemi operativi sul tuo PC? Indeciso tra Windows e Linux? È possibile eseguire più SO su una singola macchina con il doppio avvio o utilizzando una macchina virtuale. Scopriamo qual è il migliore per te. Leggi di più . Oppure puoi semplicemente scaricare Windows interamente, e andare con Linux 6 cose che Ubuntu fa meglio di Windows 6 cose che Ubuntu fa meglio di Windows Alcuni pensano che Ubuntu sia per nerd - ma la verità è che Ubuntu è altrettanto facile da usare come Windows . In effetti, ci sono molte cose che Ubuntu fa meglio di Windows 10. Per saperne di più. Qualunque cosa funzioni per te.

4. Usa gli emulatori

DOSBox non è l'unico emulatore disponibile allo scopo di eseguire vecchie applicazioni DOS. Ci sono un sacco di fantastici emulatori là fuori che funzionano altrettanto bene. Questo è particolarmente vero se sei un giocatore.

Christian ha spiegato come emulare un Commodore Amiga, un Raspberry Pi, un Android e persino un SNES classico su qualsiasi PC.

Questa è solo la punta dell'iceberg. Se esegui una ricerca online, troverai una vasta libreria di emulatori diversi che ti consentiranno di eseguire praticamente qualsiasi app retrò che tu possa immaginare. Microsoft potrebbe aver rinunciato alle vecchie applicazioni a 16 bit dal passato, ma hai ancora delle opzioni.

Non arrenderti a 16 bit

Non c'è alcuna ragione per cui dovresti pensare che sia impossibile per eseguire applicazioni a 16 bit su una macchina a 64 bit. Potrebbe essere impossibile in modo nativo, ma come puoi vedere ci sono molte soluzioni per portare a termine il compito.

Scopri di più su: 64-Bit, Emulazione, Windows 10.