Memoria real
1.- Introducción a Memoria Real. (Generalidades)
¿Qué es la memoria?
La memoria es un dispositivo donde se almacenan datos. En los sistemas de cómputo hay dos
varios tipos de memoria, de los que destacan: la memoria principal (RAM) y la memoria secundaria (discos).
El procesador puede usar directamente la memoria principal, por lo que los programas deben ser cargados en
memoria antes de ser utilizados. La MMU (Unidad de manejo de memoria) es el hardware que se utiliza para trabajar
con la memoria.
¿De que forma se administra la memoria?
Ada que se requiere el hardware entrega un conjunto de bits (8, 16,32,64) según la arquitectura.
De forma que:
Una arquitectura de 8 bits, puede direccionar 2^8 direcciones (256)Una de 16 bits = 65536 bytes (64 KB).
Una de 32 bits = 4294967269 bytes ( 4096 MB = 4 GB)
Una de 64 bits puede direccionar hasta 16 exabytes
MMU
Es la encargada de verificar que un proceso no lea o modifique los datos de otroEl sistema operativo no podría encargarse de ésta verificación, o, si lo hiciera el retraso sería mayor.¿Cómo lo hace?El SO le da a un proceso un registro base y un registro límite.Ejemplo: Si a un proceso le asignan 64kb (65536), a partir de la dirección 504214, el registro base es 504212 y el registro límite es 65536. Si una instrucción de ese proceso desea acceder a una dirección inferior a 504212 o superior a 569749, la MMU interrumpe el proceso y le indica al SO. El SO deberá terminar el proceso y notificar al usuario.
es uno de los recursos con los que cuenta una CPU (Unidad Central de Procesamiento) para almacenar temporalmente datos recientemente procesados en una memoria auxiliar. Se trata de lo que se conoce como una memoria estática de acceso aleatorio (SRAM) muy rápida y colocada cerca de la CPU.
Así, pese a su pequeño tamaño, la memoria caché opera con mayor velocidad, dotando al microprocesador de un tiempo extra para acceder a los datos que se usan con más frecuencia.
¿Para que sirve la memoria cache?
La principal función de la memoria caché es almacenar datos o instrucciones que la CPU va a necesitar en un futuro inmediato, de manera que se gana velocidad en la ejecución de procesos, evitando que la CPU tenga que esperar y aumentando así el rendimiento del equipo.
De manera que la memoria caché sirve para mejorar el rendimiento y velocidad de la CPU en la ejecución de las tareas cotidianas.
Tipos de memoria cache
- Caché de disco: Se trata de utilizar una porción de memoria RAM asociada a un disco particular, en la que se almacenan los datos de reciente acceso para agilizar su carga.
- Caché de pista: Es un tipo de memoria caché sólida (similar a la RAM), que se emplea en supercomputadores.
- Caché de web: Es la memoria caché que se ocupa de guardar los datos de las páginas web que hemos visitado de manera reciente, así se agiliza la carga en siguientes visitas y se ahorra ancho de banda. Esta caché puede ser privada (para un solo usuario), compartida (para varios usuarios a la vez) o en pasarela (para toda la red administrada por un servidor).
¿Cómo funciona la memoria cache?El funcionamiento de la memoria caché es bastante sencillo; cuando iniciamos un proceso o programa en nuestro ordenador, este empieza a ejecutar una serie de instrucciones que son gestionadas por el procesador. Esa información se carga primero en la RAM y luego pasa al procesador, de manera que para agilizar este proceso, las instrucciones principales y las que más se utilizan se copian en la memoria caché, así el procesador podrá tener acceso inmediato a ellas y no tener que ir a buscar las originales almacenadas en la RAM.
Esto ahorra tiempo de procesamiento y hacer que el equipo sea más rápido a la hora de ejecutar ciertas instrucciones disponibles en la memoria caché. Por eso, la memoria caché es un elemento fundamental en los procesadores actuales.
2.-Jerarquía de Almacenamiento
3.-Estrategias de Administración del Almacenamiento
-Se dividen en las siguientes categorías:
Estrategias de búsqueda:
- Tratan de los casos en que una página o segmento deben ser traídos del almacenamiento secundario al primario.
- Las estrategias de “búsqueda por demanda” esperan a que se haga referencia a una página o segmento por un proceso antes de traerlos al almacenamiento primario.
- Los esquemas de “búsqueda anticipada” intentan determinar por adelantado a qué páginas o segmentos hará referencia un proceso para traerlos al almacenamiento primario antes de ser explícitamente referenciados.
-Estrategias de búsqueda anticipada.
puede producir un mejor rendimiento del sistema.
Las “estrategias de colocación” están
relacionadas con la determinación del lugar de la memoria donde se colocará
(cargará) un programa nuevo.
Estrategias de colocación.
- Tratan del lugar del almacenamiento primario donde se colocará una nueva página o segmento.
- Los sistemas toman las decisiones de colocación de una forma trivial ya que una nueva página puede ser colocada dentro de cualquier marco de página disponible.
Estrategias de reposición.
Asignación Contigua
La asignación de memoria contigua es un modelo clásico de asignación de memoria. Aquí, un sistema asigna bloques de memoria consecutivos (es decir, bloques de memoria que tienen direcciones consecutivas) a un proceso.
La asignación de memoria contigua es uno de los métodos de asignación de memoria más antiguos. Así es como funciona: cuando un proceso necesita ejecutarse, el proceso solicita memoria. El tamaño del proceso se compara con la cantidad de memoria principal contigua disponible para ejecutar el proceso.
Si se encuentra suficiente memoria contigua, la memoria se asigna y el proceso comienza su ejecución. De lo contrario, el proceso se agrega a una cola de procesos en espera hasta que haya suficiente memoria contigua libre disponible.
4.- Multiprogramación de Partición Fija
Aunque a veces se usa la monoprogramación en computadoras pequeñas con sistemas operativos sencillos, hay muchos casos en que es deseable permitir la ejecución de múltiples procesos a la vez. En los sistemas de tiempo compartido, tener varios procesos en la memoria a la vez implica que cuando un proceso está bloqueado esperando que termine una E/S, otro puede usar el CPU. Así, la multiprogramación aumenta el aprovechamiento del CPU. Sin embargo, incluso en computadoras personales hay ocasiones en las que resulta útil poder ejecutar dos o más programas a la vez.
La forma más fácil de lograr la multiprogramación consiste simplemente en dividir la memoria en n particiones, posiblemente desiguales. Esta división puede, por ejemplo, efectuarse manualmente cuando se inicia el sistema.
5.- Multiprogramación de Partición Variable
6.- Multiprogramación con Intercambio de Almacenamiento
En el esquema de “intercambio” los programas del usuario no requieren permanecer en la memoria principal hasta su terminación.
Una variante consiste en que un trabajo se ejecuta hasta que ya no puede continuar:
- Cede el almacenamiento y la cpu al siguiente trabajo.
- La totalidad del almacenamiento se dedica a un trabajo durante un breve periodo de tiempo.
- Los trabajos son “intercambiados”, dándose que un trabajo puede ser intercambiado varias veces antes de llegar a su terminación.
Es un esquema razonable y eficiente para un numero relativamente reducido de procesos de usuarios.
Los sistemas de intercambio fueron los predecesores de los sistemas de paginación.
El rendimiento de los sistemas de intercambio mejora al reducir el tiempo de intercambio:
- Manteniendo al mismo tiempo varias “imágenes de usuario o imágenes de memoria” en la memoria principal.
- Retirando una imagen de usuario de la memoria principal solo cuando es necesario su almacenamiento para una nueva imagen.
- Incrementando la cantidad de memoria principal disponible en el sistema.
Las imágenes de usuario (imágenes de memoria) retiradas del almacenamiento principal se graban en el almacenamiento secundario (discos).
Referencias:











