Tecnología, Internet y juegos
11 meneos
152 clics

Memoria virtual con 256 bytes de RAM [ENG]

Acabo de actualizar mi propio compilador de C y mi especificación básica de una CPU para que soporten memoria virtual. El proceso de añadir soporte para la memoria virtual a un compilador, un kernel y una CPU ha hecho que me de cuenta de que hay una gran falta de explicaciones de cómo estas partes encajan entre ellas o del tipo de decisiones que se toman dependiendo de si tienes experiencia o no. Es por esto que he hecho esta explicación interactiva sobre la inclusión de memoria virtual en nuestros sistemas.

| etiquetas: memoria virtual , memoria ram , 256 bytes
  1. 256 bytes deben ser suficientes para cualquier persona
  2. Gracias al concepto de memoria virtual (que se desarrolló ante el problema de ejecutar programas más grandes que la propia memoria en entornos multiproceso -en entornos monoproceso ya existía aquello de partir el programa en cachitos más pequeños e irlos des/cargando cuando hicieran falta-) tenemos otros conceptos tanto o más interesantes como aislar procesos entre si (page faults cuando vas a acceder a trozos de memoria que no son de tu programa), cambios de contexto (necesarios para que otro proceso pueda "ver su memoria", cacheado y memoria compartida (si una librería es usada por más de un proceso, no retirarla de memoria y colocarla en un lugar donde ambos procesos tengan permisos de lectura), etc. muchos de los cuales podían existir antes pero que en un entorno con memoria virtual tienen muchísimo más sentido y aportan un beneficio mucho mayor.

    Hacerte tu propio sistema virtual para cacharrear y probar en tus propias carnes toda esa teoría que te dan en la carrera es un trabajo interesante y muy didáctico.
comentarios cerrados

menéame