![]() |
|
|
|
Si buscas
hosting web,
dominios web,
correos empresariales o
crear páginas web gratis,
ingresa a
PaginaMX
![]() ![]() ADMINISTRACION DE MEMORIA El único espacio de almacenamiento que el procesador puede utilizar directamente, más allá de los registros (que si bien le son internos y sumamente rápidos, pero de capacidad muy escasa) es la memoria física. Todas las arquitecturas de procesador tienen instrucciones para interactuar con la memoria, pero ninguna lo tiene para hacerlo con medios persistentes de almacenamiento, como las unidades de disco1. Cabe mencionar que cuando veamos en un texto referencia al almacenamiento primario siempre se referirá a la memoria, mientras que el almacenamiento secundario se refiere a los discos u otros medios de almacenamiento persistente. Todos los programas que deseemos ejecutar deben cargarse a la memoria del sistema antes de ser utilizados. En esta unidad veremos cómo administra el sistema operativo a la memoria para permitir que varios procesos la compartan — Esta tarea debe preverse desde el proceso de compilación de nuestros programas (en particular, la fase de ligado). Hoy en día, además, casi todos los sistemas operativos emplean implementaciones que requieren de hardware especializado — La Unidad de Manejo de Memoria (MMU). Hablaremos de cómo se manejaban los sistemas multitarea antes de la universalización de los MMU, y qué rol juegan hoy en día. En esta primer sección, veremos algunos conceptos base que iremos hilando y empleando en las secciones subsecuentes. PAGINACION DE MEMORIA La fragmentación externa y, por tanto, la necesidad de compactación pueden evitarse por completo empleando la paginación. Esta consiste en que cada proceso esté compuesto por una serie de páginas, dejando de requerir que la asignación sea de un área contigua de memoria. Claro está, esto requiere de mayor espacialización por parte del hardware, y mayor información relacionada a cada uno de los procesos: No nos basta ya con indicar dónde inicia y dónde termina el área de memoria de cada proceso, sino que debemos hacer un mapeo entre la ubicación real (física) y la presentada a cada uno de los procesos (lógica). La memoria se presentará a cada proceso como si fuera de su uso exclusivo. La memoria física se divide en una serie de marcos (frames), todos ellos del mismo tamaño, y el espacio cada proceso se divide en una serie de páginas (pages), del mismo tamaño que los marcos. El MMU se se encarga del mapeo entre páginas y marcos a través de tablas de páginas. Las direcciones que maneja el CPU ya no son presentadas de forma absoluta, sino que como la combinación de un identificador de página y un desplazamiento — De forma similar a lo que presentamos al hablar de resolución de instrucciones en tiempo de ejecución. |