darksch escribió:Xlooser escribió:¿Y tú como programador tienes acceso a la paginación de Windows o swap de Linux? La memoria virtual, la de verdad, sólo la he visto en zOS.
Si se tiene. Al menos en Windows y estoy seguro que en Linux existen 2 modos de reserva de memoria:
- Reservar: se le dice al sistema que voy a necesitar ese espacio, pero sin hacer la reserva físicamente.
- Commit: se hace la reserva físicamente en la RAM.
Tu puedes reservar 30GB sin hacer un commit, en un sistema con 16GB de RAM, y el SO ya va preparando el terreno como quien dice, pero sin hacer la reserva física, aunque puede ir moviendo páginas de RAM y haciendo alguna reserva en el swap de manera poco intrusiva. A medida que vas haciendo el commit, ya se ejecuta la reserva real de todo el espacio que se va requiriendo.
No nos engañemos, no se tienen 80GB, se tienen lo que se tengan de RAM, y la parte virtual está para facilitar el excederse de esa RAM, dicho de otra forma, no necesitar hacerse sistemas propios de streaming de datos.
Se nota que no soy desarrollador..........¿Entonces, tú en el programa direccionas 30 GB? Me refiero a ¿trabajarías como si tuvieras 30 GB disponibles?
En mi trabajo, todo es un espacio de memoria, desde un usuario a un programa. Cada espacio de memoria tiene disponibles 16 Exabytes de memoria, y para ese espacio, la memoria es real, aunque para el administrador la realidad sea que cuenta con una memoria mucho menor. Así, los datos tienen que estar continuamente en movimiento dependiendo de su uso.
Lo que yo tenía entendido de la "memoria virtual" de Windows y Linux era que sólo se utilizaba una vez superado el límite de la memoria real. Si un desarrollador trabaja con una aplicación que requiere 30 GB, ¿cómo controlaría entonces qué datos se mantienen en memoria real y qué en memoria auxiliar? ¿Cómo le afectaría el resto de aplicaciones?
No nos engañemos, no se tienen 80GB, se tienen lo que se tengan de RAM, y la parte virtual está para facilitar el excederse de esa RAM, dicho de otra forma, no necesitar hacerse sistemas propios de streaming de datos.
He ahí la gran diferencia de lo que yo creo que es memoria virtual y las implementaciones de Windows y Linux.
Para mi, la memoria virtual son 80 GB, que se compone de 16 GB de memoria real y 64 de auxiliar. El otro enfoque, son 16 GB de memoria y 64 GB de "memoria virtual".
@Cordovader indudablemente, ese sería el gran problema de no tener todo el juego en el SSD.
- O los viajes rápidos serían tan "rápidos" como ahora.
- O está cargado ya en memoria reduciendo así el espacio disponible para otras cosas.
Por supuesto, como bien dices, con un SSD de 1 TB no se tendría ese problema.
Si al final Scarlett tuviera 256 GB de SSD, a lo mejor Microsoft dejaría disponibles para el desarrollador más de 64 GB disponibles. Una distribución buena, a mi juicio, podría ser:
- 96 GB para trabajo.
- 16 GB para el SO.
- 96 GB para archivos de carga de los últimos 8 juegos usados (12 cada uno).
- 48 GB para archivos de carga varios.
Con 96 GB disponibles, un viaje rápido, incluso en un AAA futuro, no llevaría mucho.