Altri vantaggi del sistema operativo a 64 bit oltre all'espansione della memoria?


40

Sto cercando di convincere qualcuno dei vantaggi del passaggio a un sistema operativo a 64 bit, ma ho difficoltà a trovare argomenti diversi da "puoi usare più di 3 GB di RAM". Ci sono altri vantaggi chiaramente trasmissibili nell'avere un sistema operativo a 64 bit?


1
Bella domanda, ho pensato lo stesso. Forse dovresti chiarire che tipo di persona stai cercando di convincere, perché alcune delle risposte di seguito sarebbero troppo tecniche se stiamo parlando di un utente informale.
Ash,

1
ashh: questo perché i vantaggi e gli svantaggi dei sistemi operativi a 64 bit sono tutti molto tecnici. Almeno su Linux, per gli utenti finali non tecnici non c'è quasi nessuna differenza evidente (anche io dimentico costantemente se la macchina che sto usando è a 64-bit o 32-bit); su Windows, ci sono più incompatibilità e stranezze da affrontare su 64-bit, ma a parte questo un utente non tecnico difficilmente noterà la differenza.
CesarB,

Risposte:


27
  • Per x86-64 rispetto a IA-32, esiste un numero doppio di registri, che consente ai compilatori di generare codice migliore.
  • Sulla maggior parte dei sistemi operativi, l'ABI a 64 bit consente la generazione di codice migliore rispetto all'ABI a 32 bit (passando, ad esempio, i parametri sui registri anziché sullo stack).
  • Alcune cose che sono estensioni su IA-32 sono sempre presenti su x86-64, quindi i programmi possono usarle senza la necessità di codificare un fallback (ad esempio un certo livello di SSE).
  • Ultimo ma non meno importante, a 64 bit time_t, che sarà sempre più importante man mano che ci avvicineremo al 2038.

2
Devi spiegare cosa intendi con "il doppio dei registri, che consente ai compilatori di generare codice migliore". Che cos'è il "codice migliore"?
Ash,

1
Inoltre ho notato che le operazioni con numeri interi a 64 bit sono circa quattro volte più veloci nel codice a 64 bit rispetto al codice a 32 bit (seleziono regolarmente il compilatore C sbagliato qui e quindi mi chiedo perché Lua sia più veloce di C :))
Joey

4
ashh: i registri sono le posizioni di archiviazione a cui la CPU ha accesso più veloce, ma su x86 sono una risorsa molto limitata. Quindi, se hai molte variabili locali di cui hai bisogno, dovresti spostarle costantemente dai registri allo stack e viceversa, il che richiede tempo. Con più registri puoi tenerne più a portata di mano alla volta senza dover usare la pila. Confronta con te che hai solo due mani: puoi manipolare solo due cose alla volta; con fourhands, puoi fare il doppio (se il tuo cervello sta al passo, ma per ora a parte).
Joey,

@Johannes, dovresti aggiungere il tuo commento come risposta a questa domanda! Lo stavo chiedendo retoricamente in modo che Cesar aggiungesse un tale chiarimento.
Ash,

1
Hai fornito diversi motivi tecnici senza spiegare il significato di nessuno di essi. Che cos'è il "codice migliore" e come va a beneficio dell'utente?
Igby Largeman,

7

In effetti, è possibile eseguire più di 3 GB (o più di 4 GB) di RAM su sistemi operativi a 32 bit. PAE fornisce un mezzo per un processore x86 o x86-64 per accedere fino a 64 GB di memoria anche su un sistema operativo a 32 bit. Non è così semplice come solo un sistema operativo a 64 bit, intendiamoci. La memoria è paginata, quindi ogni processo è ancora limitato a un massimo di 4 GB. Inoltre, non tutti i sistemi operativi supportano questo. Alcune versioni di Windows a 32 bit utilizzavano PAE, ma sfortunatamente, quindi potevano supportare driver scritti male, la maggior parte delle versioni limitava il supporto a 4 GB di memoria. Ad esempio, Windows XP e Windows Vista sono limitati a 4 GB (e, come notato, tendono ad esporre solo circa 3 GB). D'altra parte, Windows Server 2008 Enterprise, Datacenter supporta 64 GB di RAM.

Il kernel Linux ha supportato più di 4 GB come parte del kernel 2.6 . Tuttavia, le distribuzioni Linux a volte ti fanno installare un'immagine del kernel "server" al fine di utilizzare questa funzione.


Buon punto. Non riesco davvero a capire perché le persone credono ancora di aver bisogno di un sistema operativo a 64 bit per utilizzare più di 4 GB di RAM.
neu242,

Con Linux un'altra opzione è quella di eseguire un kernel a 64 bit e uno spazio utente a 32 bit, che ti dà pieno accesso a> = 4 GB di RAM, sebbene i processi siano ancora limitati a 4 GB ciascuno.
TRS-80,

5

Dipende davvero da cosa si desidera utilizzare il sistema operativo. Per la stragrande maggioranza degli utenti "normali", il passaggio a 64 bit non dà loro molto di tutto. Le uniche aree attualmente in cui 64 bit è davvero utile è se si desidera utilizzare più di 4 GB di memoria (come indicato) o fare calcoli con numeri che non rientrano in 32 bit.

Alla fine, tutti i PC e i sistemi operativi arriveranno solo in varietà a 64 bit, ma per ora se tutto ciò che vogliono fare è navigare in Internet o controllare la posta elettronica, non è necessario passare a 64 bit.


Per me, il supporto di memoria aggiuntiva è già un buon motivo per l'aggiornamento. Scommetto che col tempo, anche la maggior parte degli utenti occasionali si sentirà così :-)
marc_s

2
@marc, la maggior parte degli utenti occasionali non si sentirà in questo modo a meno che i produttori di software non inizino a scrivere client di posta elettronica, browser Web e programmi di elaborazione testi che richiedono> 4 GB di RAM. Poi di nuovo, sono sicuro che non passerà molto tempo prima che ciò accada.
Ash,

@ashh mio Firefox piace già usare ~ 2 GB di RAM. Non ci vorrà molto :)
Quiark,

4

Non solo puoi avere più di 3 GB di RAM, qualsiasi software compilato / scritto pensando a 64 bit può utilizzare registri e tipi di dati a 64 bit che possono sicuramente accelerare le applicazioni che spostano enormi quantità di dati, come programmi 3D, CAD, Photoshop, ecc.

Tuttavia, se sei solo un Joe medio che non lavora con programmi creativi e legge e-mail, naviga sul web, guarda video di YouTube, probabilmente non noterai nemmeno se non colleghi un dispositivo che richiede 64 bit driver, ma il fornitore non ne ha rilasciato nessuno.


2
Ho avuto questo problema in molte occasioni. Se usi un sistema x-64 bit che hai in giro come server, potresti scoprire una brutta sorpresa quando inizi ad aggiungere hardware aggiuntivo che hai in giro. Un buon esempio illustrativo del dilemma che ho riscontrato è stato quando ho tentato di aggiungere una scheda NIC 3COM 3c509 al sistema. Non ci sono driver anywehre per hardware legacy. Ho scoperto che ero sopra un barile e ho dovuto acquistare una scheda NIC Intel premium per ottenere un driver a 64 bit che funzionasse. Questo problema andrà via nel tempo. Non vi è incentivo sufficiente per i fornitori a supportare il vecchio hardware.
Axxmasterr,

@Axxmasterr: slot ISA e supporto CPU x64 sulla stessa scheda madre? Sul serio? Non ci possono essere molti di quelli là fuori. È una specie di PC industriale?
bk1e

3

Il motore .NET JIT (Just-In-Time) contiene ottimizzazioni più avanzate nella versione x64 (ottimizzazione della ricorsione della coda, ad esempio). Ciò significa che le applicazioni .NET hanno il potenziale per funzionare più velocemente su sistemi a 64 bit.


0

No. Questo è tutto.

Per gli utenti domestici generici non c'è alcun vantaggio su x64. Semmai, perché tutti i tuoi puntatori e ora a 64 bit, potresti trovare più memoria per fare la stessa cosa.

L'unico vantaggio significativo di x64 è più memoria e attualmente viene utilizzato solo dai server.


0

Se riesci a trovare alcune buone versioni a 64 bit del tuo software popolare, sì, l'aggiornamento a 64 bit sarà un vantaggio. E ci sono versioni a 64 bit di alcune applicazioni disponibili. Tuttavia, queste applicazioni tendono ad essere correlate a manipolazioni di immagini, editing di filmati e, naturalmente, editing di suoni. Fondamentalmente, solo le applicazioni che gestiranno un sacco di dati. Anche la qualità della visione di un film in DVD sul tuo PC aumenterà poiché il sistema può gestire i dati un po 'più velocemente e può anche archiviare più dati, se il tuo sistema ha più RAM disponibile.

C'è anche un piccolo aumento delle prestazioni se si tende a eseguire molte applicazioni contemporaneamente. (Anche se tutte quelle applicazioni sono versioni a 32 bit!) Perché? Poiché il sistema operativo stesso è in grado di gestire un po 'più facilmente la memoria aggiuntiva, permettendo così a più applicazioni di rimanere in memoria, il che si traduce in una minore sostituzione del file di scambio. (E puoi avere anche file di scambio molto più grandi!)

Ma sono passato a 64 bit perché eseguo molte manipolazioni delle immagini, il che richiede un sistema potente e molta memoria. (Beh, ho bisogno di molta memoria, almeno.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.