JlA 9×15 Protección de memoria con páginas y TLB

Para que los programas no toquen lo que no deben, el sistema operativo usa modo supervisor, páginas y traducciones de direcciones para controlar cada acceso. Así conseguimos proteccion de memoria sin desperdiciar recursos.

Imaginemos un portero en la puerta de la discoteca de la memoria. Cada vez que un programa intenta entrar a una dirección, el portero pregunta si viene con invitación del sistema. Si no la tiene, no pasa. Este modo supervisor decide quién entra, cuándo entra y con qué permisos entra. Nosotros, como usuarios, seguimos bailando sin preocuparnos de lo que ocurre detrás del telón.

Para no llenar la agenda del portero con una lista infinita, agrupamos la memoria en páginas. En lugar de marcar celda a celda, marcamos bloques. Con una tabla de control única, el sistema señala qué páginas son accesibles y con qué permisos. Resultado práctico: gastamos una proporción pequeña de memoria en vigilar el resto y evitamos un papeleo digital innecesario.

Además, el sistema remezcla direcciones. El programa ve una zona ordenada y continua, pero físicamente puede estar repartida. Esto nos permite ejecutar muchos programas a la vez, recolocar sus datos sin drama y aprovechar huecos sueltos. Para cada acceso, se traduce de dirección lógica a física con ayuda de tablas que indican el camino correcto.

Para acelerar esa traducción está la TLB, una memoria muy rápida que recuerda las últimas rutas usadas. Si la TLB acierta, entramos al instante. Si falla, consultamos las tablas por niveles, como en un libro de Elige tu propia aventura que nos guía hasta la página exacta. Pese a la aparente complejidad, el rendimiento se mantiene alto gracias a que repetimos accesos similares y la TLB los clava una y otra vez.

Esta proteccion de memoria, además, permite compartir páginas entre procesos con permisos finos. Podemos crear áreas solo lectura para bibliotecas comunes, zonas privadas que se copian al escribir y segmentos mapeados para intercambiar mensajes. Seguridad y eficiencia de la mano, sin que una aplicación curioseé donde no debe.

Juego, luego aprendo: montamos un tablero con tarjetas de colores para páginas y un sombrero TLB con pocas tarjetas. Jugamos a portero, aceptamos o denegamos accesos y medimos cuántos aciertos de TLB logramos seguidos.

¿Seguimos aprendiendo con ideas claras y juegos sencillos? Pasémonos por JeiJoLand.