¿Otros beneficios del sistema operativo de 64 bits aparte de la expansión de memoria?

40

Estoy tratando de convencer a alguien de los beneficios de cambiar a un sistema operativo de 64 bits, pero me cuesta encontrar argumentos distintos a "puedes usar más de 3 GB de RAM". ¿Hay otros beneficios claramente comunicables en tener un sistema operativo de 64 bits?

Jonathan Prior
fuente
1
Buena pregunta, he estado pensando lo mismo. Tal vez debería aclarar a qué tipo de persona está tratando de convencer, porque algunas de las respuestas a continuación serían demasiado técnicas si hablamos de un usuario informal de computadoras.
Ash
1
ashh: eso se debe a que los beneficios y los inconvenientes de los sistemas operativos de 64 bits son muy técnicos. Al menos en Linux, para los usuarios finales no técnicos casi no hay una diferencia notable (incluso yo olvido constantemente si la máquina que estoy usando es de 64 bits o de 32 bits); en Windows, hay más incompatibilidades y rarezas con las que lidiar en 64 bits, pero aparte de eso, un usuario final no técnico difícilmente notará la diferencia.
CesarB el

Respuestas:

27
  • Para x86-64 en comparación con IA-32, hay el doble de registros, lo que permite a los compiladores generar un mejor código.
  • En la mayoría de los sistemas operativos, la ABI de 64 bits permite generar un código mejor que la ABI de 32 bits (por ejemplo, al pasar parámetros en los registros en lugar de en la pila).
  • Algunas cosas que son extensiones en IA-32 siempre están presentes en x86-64, por lo que los programas pueden usarlas sin necesidad de codificar una reserva (por ejemplo, un cierto nivel de SSE).
  • Por último, pero no menos importante, 64 bits time_t, que será cada vez más importante a medida que nos acerquemos a 2038.
CesarB
fuente
2
Debe explicar lo que quiere decir con: "el doble de registros, lo que permite a los compiladores generar un mejor código". ¿Qué es "mejor código"?
Ash
1
También he notado que las operaciones con enteros de 64 bits son aproximadamente cuatro veces más rápidas en el código de 64 bits en comparación con el código de 32 bits (regularmente elijo el compilador de C incorrecto aquí y luego me pregunto por qué Lua es más rápido que C :))
Joey
44
ashh: los registros son las ubicaciones de almacenamiento a las que la CPU tiene acceso más rápido, pero en x86 son un recurso muy limitado. Entonces, si necesita muchas variables locales, tendría que cambiarlas constantemente de registros a la pila y viceversa, lo que lleva tiempo. Con más registros, puede tener más de ellos a la vez sin necesidad de usar la pila. Compara con solo tener dos manos: solo puedes manipular dos cosas a la vez; con cuatro manos, puedes hacer el doble (si tu cerebro sigue el ritmo, pero aparte de eso por ahora).
Joey el
@Johannes, ¡debes agregar tu comentario como respuesta a esta pregunta! Estaba preguntando retóricamente para que César agregara tal aclaración.
Ash
1
Usted dio varias razones técnicas sin explicar lo que significan. ¿Qué es "mejor código" y cómo beneficia al usuario?
Igby Largeman
7

De hecho, puede ejecutar más de 3 GB (o más de 4 GB) de RAM en sistemas operativos de 32 bits. PAE proporciona un medio para que un procesador x86 o x86-64 acceda a hasta 64 GB de memoria incluso en un sistema operativo de 32 bits. No es tan sencillo como solo ejecutar un sistema operativo de 64 bits, eso sí. La memoria está paginada, por lo que cada proceso todavía está limitado a un máximo de 4 GB. Además, no todos los sistemas operativos lo admiten. Algunas versiones de Windows de 32 bits hicieron uso de PAE, pero desafortunadamente, por lo que podían admitir controladores mal escritos, la mayoría de las versiones limitaba el soporte a 4 GB de memoria. Por ejemplo, Windows XP y Windows Vista están limitados a 4 GB (y, como se señaló, tienden a exponer solo alrededor de 3 GB). Por otro lado, Windows Server 2008 Enterprise, Datacenter admite 64 GB de RAM.

El kernel de Linux soportaba más de 4 GB como parte del kernel 2.6 . Sin embargo, las distribuciones de Linux a veces hacen que instale una imagen del núcleo del "servidor" para hacer uso de esta función.

ChrisInEdmonton
fuente
Buen punto. Realmente no puedo entender por qué las personas todavía creen que necesitan un sistema operativo de 64 bits para utilizar más de 4 GB de RAM.
neu242
Con Linux, otra opción es ejecutar un kernel de 64 bits y un espacio de usuario de 32 bits, que le brinda acceso completo a> = 4 GB de RAM, aunque los procesos todavía están limitados a 4 GB cada uno.
TRS-80 el
5

Realmente depende de para qué quieres usar el sistema operativo. Para la gran mayoría de los usuarios "normales", el cambio a 64 bits realmente no les da mucho de nada. Actualmente, las únicas áreas en las que 64 bits son realmente útiles son si desea utilizar más de 4 GB de memoria (como usted indicó), o hacer cálculos con números que no caben en 32 bits.

Eventualmente, todas las PC y sistemas operativos solo vendrán en variedades de 64 bits, pero por ahora si todo lo que quieren hacer es navegar por Internet o consultar el correo electrónico, no hay una necesidad apremiante de pasar a 64 bits.

Andy
fuente
Para mí, el soporte de memoria adicional realmente ya es una razón suficiente para actualizar. Apuesto a lo largo del tiempo, la mayoría de los usuarios ocasionales se sentirán esa manera, también :-)
marc_s
2
@marc, la mayoría de los usuarios casuales no se sentirán así a menos que los proveedores de software comiencen a escribir clientes de correo electrónico, navegadores web y programas de procesadores de texto que necesitan> 4 GB de RAM. Por otra parte, estoy seguro de que no pasará mucho tiempo antes de que eso suceda.
Ash
@ashh mi Firefox ya le gusta usar ~ 2 GB de RAM. No tomará tanto tiempo :)
Quiark
4

No solo puede tener más de 3 GB de RAM, cualquier software compilado / escrito con 64 bits en mente puede usar registros de 64 bits y tipos de datos que definitivamente pueden acelerar las aplicaciones que mueven enormes cantidades de datos, como programas 3D, CAD, Photoshop, etc.

Sin embargo, si solo eres un Joe promedio que no trabaja con programas creativos, y solo lee correo electrónico, navega por la web, mira videos de YouTube, probablemente ni siquiera lo notarás a menos que enchufes un dispositivo que requiera 64 controladores de bits, pero el vendedor no ha lanzado ninguno.

Steven DeWitt
fuente
2
He tenido este problema en muchas ocasiones. Si usa un sistema x-64 bit que tiene como servidor, es posible que encuentre una desagradable sorpresa cuando comience a agregar hardware adicional. Un buen ejemplo ilustrativo del dilema que experimenté fue cuando intenté agregar una tarjeta NIC 3COM 3c509 al sistema. NO hay controladores para hardware heredado. Descubrí que estaba por encima del barril y tuve que comprar una tarjeta Intel NIC premium para obtener un controlador de 64 bits que funcionara. Este problema desaparecerá con el tiempo. No hay incentivos suficientes para que los proveedores admitan hardware antiguo.
Axxmasterr
@Axxmasterr: ranuras ISA y soporte de CPU x64 en la misma placa base? ¿Seriamente? No puede haber tantos de esos por ahí. ¿Es esta una especie de PC industrial?
bk1e
3

El motor .NET JIT (Just-In-Time) contiene optimizaciones más avanzadas en la versión x64 (optimización de recursión de cola, por ejemplo). Esto significa que las aplicaciones .NET tienen potencial para ejecutarse más rápido en sistemas de 64 bits.

Milan Gardian
fuente
0

No. Eso es todo.

Para usuarios domésticos generales, x64 no tiene ninguna ventaja. En todo caso, debido a todos sus punteros y ahora a 64 bits, puede encontrar que usa más memoria para hacer lo mismo.

La única ventaja significativa de x64 es más memoria, y actualmente solo la utilizan los servidores.

Simon P Stevens
fuente
0

Si puede encontrar algunas buenas versiones de 64 bits de su popular software, entonces sí, la actualización a 64 bits será una ventaja. Y hay versiones de 64 bits de ciertas aplicaciones disponibles. Sin embargo, estas aplicaciones tienden a estar relacionadas con la manipulación de imágenes, la edición de películas y, por supuesto, la edición de sonido. Básicamente, solo aplicaciones que manejarán cargas de datos. La calidad de ver una película de DVD en su PC también aumentará ya que el sistema puede manejar los datos un poco más rápido y también puede almacenar más datos, si su sistema tiene más RAM disponible.

También hay una pequeña ganancia de rendimiento si tiende a ejecutar muchas aplicaciones simultáneamente. (¡Incluso si todas esas aplicaciones son versiones de 32 bits!) ¿Por qué? Debido a que el sistema operativo en sí puede manejar la memoria adicional un poco más fácil, lo que permite que más aplicaciones permanezcan en la memoria, lo que resulta en menos intercambio al archivo de intercambio. (¡Y también puede tener un archivo de intercambio mucho más grande!)

Pero me actualicé a 64 bits porque hago muchas manipulaciones de imágenes, lo que requiere un sistema potente y mucha memoria. (Bueno, al menos necesito mucha memoria).

Wim ten Brink
fuente