• Viernes 8 de Noviembre de 2024, 16:31

Autor Tema:  Linux 64 bits memoria virtual  (Leído 4297 veces)

aguila3000

  • Miembro activo
  • **
  • Mensajes: 26
  • Nacionalidad: pe
    • Ver Perfil
    • http://www.conoce3000.com
Linux 64 bits memoria virtual
« en: Lunes 7 de Febrero de 2011, 23:06 »
0
Hola.

Tengo entendido que el espacio de memoria virtual direccionable por un S.O. Linux de 32 bits, es de 4GiB, en donde 1GiB es usado por el kernel y 3GiB para los procesos.
En el caso de un S.O. Linux de 64bits, por lógica el espacio de memoria virtual direccionable es de : 17179869184 GiB, me interesa saber o donde puedo encontrar información de ¿Como se gestiona la memoria Linux 64 bits ?. Es decir cuanta memoria se usa para el kernel y cuanta para los procesos.
Si es igual al de 32bits entonces debería ser así: 1 GiB para el kernel y el resto para los procesos 17179869183 GiB, pero realmente no estoy seguro y me parece que es distinto.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Linux 64 bits memoria virtual
« Respuesta #1 en: Martes 8 de Febrero de 2011, 09:46 »
0
Cita de: "aguila3000"
Tengo entendido que el espacio de memoria virtual direccionable por un S.O. Linux de 32 bits, es de 4GiB, en donde 1GiB es usado por el kernel y 3GiB para los procesos.
Estás equivocado. Linux funciona en sistemas con 256 MiB y menos. Además, 1 GiB para el kernel es excesivamente demasiado.

Cita de: "aguila3000"
me interesa saber o donde puedo encontrar información de ¿Como se gestiona la memoria Linux 64 bits ?
Tienes el código fuente en kernel.org. Más detallado que eso, imposible.

aguila3000

  • Miembro activo
  • **
  • Mensajes: 26
  • Nacionalidad: pe
    • Ver Perfil
    • http://www.conoce3000.com
Re: Linux 64 bits memoria virtual
« Respuesta #2 en: Martes 8 de Febrero de 2011, 13:50 »
0
Citar
Estás equivocado. Linux funciona en sistemas con 256 MiB y menos. Además, 1 GiB para el kernel es excesivamente demasiado.

Me baso en estos documentos :

http://www.linuxdriver.co.il/ldd3/chp-15-sect-1.shtml
http://linux-mm.org/LinuxMMDocumentation
http://www.win.tue.nl/~aeb/linux/lk/lk-9.html

En donde explican la diferencia entre memoria física y virtual.
Encontre este documento http://www.informit.com/articles/article.aspx?p=29961&seqNum=2, en donde explican la gestión de memoria en los S.O. de 64 bits.
Al parecer dicen segun el cuadro: http://ptgmedia.pearsoncmg.com/images/chap4_0130610143/elementLinks/04fig11.gif
que esta dividido en regiones, en donde cada region tiene un tamaño de 2^61, con lo cual deduzco que:
El espacio direccionable para el kernel sería de : (2^61)*3, y para los proceso sería de : (2^61)*5.

Citar
Tienes el código fuente en kernel.org. Más detallado que eso, imposible.

Tambien lo tengo, pero siempre es necesario tener un marco teorico al respecto que ayuden a comprender más rápido algunas cosas, y es lo que estoy buscando.
Me faltan despejar algunas dudas pero ya estoy encontrando lo que necesito.

Gracias por tu ayuda.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Linux 64 bits memoria virtual
« Respuesta #3 en: Martes 8 de Febrero de 2011, 14:21 »
0
Ah disculpa, te refieres a la memoria virtual, me había confundido.

aguila3000

  • Miembro activo
  • **
  • Mensajes: 26
  • Nacionalidad: pe
    • Ver Perfil
    • http://www.conoce3000.com
Re: Linux 64 bits memoria virtual
« Respuesta #4 en: Martes 8 de Febrero de 2011, 15:57 »
0
No hay problema, disculpa aceptada :).

Una de las dudas que tengo es que obviamente no creo sea posible direccionar 2^64=16 EiB de memoria virtual, a menos que existan discos duros en donde se puedan crear 2^64=16 EiB o más de espacio de intercambio (swap), al menos no se si existan esos discos duros o se tengan que emular usando varios discos duros. En fin seguire investigando a ver que encuentro. como dice el dicho: preguntando se llega a Roma.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Linux 64 bits memoria virtual
« Respuesta #5 en: Martes 8 de Febrero de 2011, 16:06 »
0
Sí se pueden direccionar 2^64 direcciones. Eso no quiere decir que realmente tenga que existir dicho espacio. Es menester del SO administrar dicho espacio de direcciones correctamente con la RAM y el swap disponible. Eso es un máximo, no un exigible. Es decir, el procesador es capaz de direccionar dicho espacio de direcciones porque físicamente se puede (hay un bus de direcciones de 64 bits). Eso no implica que realmente haya tal espacio de direcciones físicamente. Lo mismo pasaba cuando surgió el 386, que permitía 4 GiB de direccionamiento cuando en esa época era impensable tal cantidad de memoria. De ahí el nombre memoria "virtual".

Saludos.

aguila3000

  • Miembro activo
  • **
  • Mensajes: 26
  • Nacionalidad: pe
    • Ver Perfil
    • http://www.conoce3000.com
Re: Linux 64 bits memoria virtual
« Respuesta #6 en: Miércoles 9 de Febrero de 2011, 02:10 »
0
Gracias, es lo que habia leído.
Al parecer el uso de esas caracteristicas aun no es alcanzable por las supercomputadoras,
http://en.wikipedia.org/wiki/Jaguar_(computer), en este artículo mencionan el uso de Linux con una memoria de 360 TiB, aunque no mencionan si es física o virtual, me imagino debe ser física. Me imagino que con la memorias de intercambio con discos duros, si pueden llegar a los 16 EiB, facilmente.
Y muchas gracias por tus comentarios. :)

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Linux 64 bits memoria virtual
« Respuesta #7 en: Miércoles 9 de Febrero de 2011, 13:06 »
0
Buen artículo, gracias por compartirlo.