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?

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 è effettivamente impossibile eseguire app a 16 bit. È solo difficile. In secondo luogo, la ragione di questa difficoltà risiede sia nell'architettura della CPU e il sistema operativo.





Confuso ancora? Non preoccuparti, non sei solo. Ma quando arriverai 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 preoccuparti, questo è breve. È anche fondamentale capire perché i sistemi a 64 bit non possono eseguire app a 16 bit in modo nativo.

Se hai vissuto negli anni '80 e '90, probabilmente ricorderai quei vecchi dinosauri a 16 bit che tutti all'epoca credevano fossero una tecnologia all'avanguardia.



All'epoca lo era. Quelle vecchie macchine funzionavano Intel 8086 processore nel 1978. Il processore è stato in grado di accedere a uno spazio di indirizzi di 1 Mb utilizzando l'indirizzamento a 16 bit. Con le macchine precedenti che utilizzavano 64 Kb di memoria, questo è stato un enorme progresso e ha segnato l'inizio di una nuova era nell'informatica personale.

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





Poco dopo è arrivato un ulteriore progresso nell'architettura della CPU con il processore 80286, in grado di indirizzare 16 Mb utilizzando l'indirizzamento a 16 bit. Con l'architettura 286 è arrivata la 'modalità protetta', con funzionalità che non solo consentivano l'indirizzamento di più memoria, ma anche il multitasking. L'esecuzione di vecchie applicazioni a 16 bit in 'modalità reale' non era sempre facile, ma era possibile.

La fine dei 16 bit, una specie di...

Nel 1985, Intel ha introdotto il suo processore di nuova generazione: l'Intel 386. Questa è stata la prima CPU di Intel in grado di indirizzare la memoria utilizzando 32 bit alla volta e di 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 loro periodo di massimo splendore.





Insieme all'avvento dell'architettura a 32 bit è arrivata una versione estesa di Modalità protetta ciò 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 bit o 32 bit. Ciò è stato reso possibile da ciò che è noto come Modalità virtuale 86 , che era essenzialmente un sistema 8086 virtualizzato integrato.

Come puoi vedere, da un'evoluzione dell'architettura della CPU all'altra, sia l'hardware (programmazione CPU) che il software (sistemi operativi e applicazioni), hanno mantenuto la retrocompatibilità per tutti quegli utenti che avevano ancora un software molto vecchio 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 per molti anni una stampella per i sistemi a 32 bit. Tuttavia, con l'invenzione dei processori a 64 bit è arrivata un'altra svolta. Questi sistemi includevano una nuova modalità (nota come Modalità lunga ) in grado di indirizzare 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 è arrivato un compromesso significativo. Quando gli utenti hanno tentato di eseguire applicazioni a 16 bit che richiedevano la 'modalità reale' o la 'modalità 8086 virtuale' supportata da tempo, hanno scoperto un messaggio di errore che diceva 'Program.exe non è un'applicazione Win32 valida'.

È stato frustrante, ma non è stata la fine del mondo. Utenti potrebbe usare gli emulatori o installare macchine virtuali con architettura a 32 bit e sistemi operativi in ​​grado di supportare applicazioni legacy a 16 bit.

Quindi, mentre è 'impossibile' per i sistemi a 64 bit eseguire applicazioni MS-DOS a 16 bit, non è impossibile per gli utenti farlo utilizzando una soluzione alternativa. Ma perché è successo questo?

L'architettura a 64 bit rimuove NTVDM

In ogni generazione di processori a 32 bit nel corso degli anni, c'è stato un grande sforzo nel sistema operativo affinché il sistema gestisse le vecchie applicazioni DOS a 16 bit. È stato realizzato utilizzando ciò che è noto come NTVDM o NT Virtual DOS Machine.

Questa applicazione a 32 bit funzionava nel sistema operativo Windows e simulava un'architettura 486 in grado di gestire l'indirizzamento a 16 bit utilizzando l'8086 virtuale. Sfortunatamente, l'indirizzamento in 'modalità lunga' non poteva farlo in modo sicuro. Invece, avrebbe richiesto l'emulazione di un processore 8086 completo semplicemente per supportare l'esecuzione di applicazioni DOS.

Microsoft ha chiaramente deciso di abbandonare questo sforzo per supportare il pronto rilascio del suo primo sistema operativo a 64 bit. Nella sua pagina di supporto, Microsoft afferma chiaramente che 'le utility MS-DOS e Microsoft Windows 3.x a 16 bit non verranno avviate'.

Niente scuse. Semplicemente non è supportato.

Con la pletora di prodotti di virtualizzazione sul mercato in grado di raggiungere comunque questo obiettivo, Microsoft chiaramente non sentiva 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 sui 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 piace giochi DOS classici o utilizzare qualsiasi altra applicazione retrò dei bei vecchi tempi dell'informatica, ci sono opzioni. Ecco quattro modi per eseguirli sul tuo nuovo computer Windows.

1. Gioca a giochi retrò con DOSBox

Uno dei modi più semplici per eseguire vecchie app DOS sul tuo PC è utilizzare un emulatore. Uno dei più popolari di questi è DOSBox .

sposta il backup dell'iPhone su un'unità esterna

Christian ha spiegato come installare e configurare DOSBox per esegui vecchi giochi retrò sulla tua macchina Windows.

La cosa grandiosa di questo è che la maggior parte di questi giochi sono così vecchi che sono considerati abbandonati , quindi puoi scaricarli legalmente e riprodurli gratuitamente.

2. Esegui app all'interno di VirtualBox

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

Una delle applicazioni più conosciute e facili da configurare per questo è VirtualBox . Abbiamo una guida completa su come configurare e utilizzare VirtualBox , quindi puoi iniziare subito a utilizzare questo approccio.

Assicurati solo di scegliere il sistema operativo giusto da installare. Usa 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 distribuzioni Linux ha ragione è il supporto per le applicazioni a 16 bit. Distro con il kernel PAE, non sei limitato ai 4 GB di sistemi a 32 bit, quindi eseguire una corretta distribuzione Linux come dual-boot sul tuo sistema è un'altra opzione.

Due opzioni per farlo: una soluzione dual-boot o una macchina virtuale . Oppure potresti semplicemente scaricare completamente Windows e vai con Linux . Qualunque cosa funzioni per te.

4. Usa gli emulatori

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

Christian ha spiegato come emulare a Commodoro amico , a Lampone Pi , un Android , e persino SNES classico su qualsiasi PC.

Questa è solo la punta dell'iceburg. Se cerchi online troverai un'intera libreria di diversi emulatori che ti permetteranno di eseguire praticamente qualsiasi app retrò che puoi immaginare. Microsoft potrebbe aver rinunciato alle vecchie applicazioni a 16 bit del passato, ma hai ancora delle opzioni.

Non rinunciare a 16 bit

Non c'è alcun motivo per cui dovresti pensare che lo 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 l'attività.

Condividere Condividere Tweet E-mail 12 siti di video migliori di YouTube

Ecco alcuni siti di video alternativi a YouTube. Ognuno di essi occupa una nicchia diversa, ma vale la pena aggiungerlo ai tuoi segnalibri.

Leggi Avanti
Argomenti correlati
  • Gioco
  • La tecnologia spiegata
  • Emulazione
  • Windows 10
  • 64 bit
Circa l'autore Ryan Dube(942 articoli pubblicati)

Ryan ha una laurea in ingegneria elettrica. Ha lavorato 13 anni nell'ingegneria dell'automazione, 5 anni nell'IT e ora è un ingegnere delle app. Ex caporedattore di MakeUseOf, ha parlato a conferenze nazionali sulla visualizzazione dei dati ed è apparso su TV e radio nazionali.

Altro da Ryan Dube

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti