Capítulo 4. Memoria física y virtual

Todas las computadoras de propósito general de hoy día, son del tipo conocido como computadoras de almacenamiento de programas. Como su nombre lo implica, las computadoras de programas almacenados cargan las instrucciones (los bloques de construcción de programas) en algún tipo de almacenamiento interno, donde son subsecuentemente ejecutadas.

Las computadoras de programas almacenados también utilizan el mismo almacenamiento para los datos. Esto es en contraste con las computadoras que utilizan su configuración de hardware para controlar sus operaciones (tales como las computadoras más antiguas basadas en la conexión de tarjetas).

El lugar donde los programas eran almacenados en las primeras computadoras de programas almacenados se llamó de varias formas y utilizó tecnologías diferentes, desde manchas en un tubo de rayos catódicos, hasta pulsos de presión en columnas de mercurio. Afortunadamente, los computadores de hoy en día utilizan tecnologías con mayores capacidades de almacenamiento y de menor tamaño que antes.

4.1. Patrones de acceso a almacenamiento

Una cosa a recordar a lo largo de este capítulo es que los computadores tienden a acceder al almacenamiento en formas particulares. De hecho, la mayoría del acceso a almacenamiento tiende a exhibir uno (o ambos) de los siguientes atributos:

El acceso secuencial significa que, si el CPU accede a la dirección N, es muy probable que la dirección N+1 sea la próxima a acceder. Esto tiene sentido, ya que muchos programas consisten de grandes secciones de instrucciones que ejecutan — en orden — una instrucción tras la otra.

El acceso localizado significa que, si se accede a la dirección X, es muy probable que otras direcciones alrededor de X también serán accedidas en el futuro.

Estos atributos son cruciales, debido a que permite que unidades de almacenamiento pequeña y más rápida, coloque efectivamente en memoria temporal almacenamiento más grande y lento. Esto es lo básico para implementar la memoria virtual. Pero antes de que discutamos la memoria virtual, debemos examinar las diferentes tecnologías de almacenamiento usadas actualmente.