Gestión de Memoria RAM

11

description

Basado en electronica :3

Transcript of Gestión de Memoria RAM

Page 1: Gestión de Memoria RAM
Page 2: Gestión de Memoria RAM

Concepto:

Una memoria RAM, es un dispositivo que se utiliza para el manejo de datos e información circunstancialmente con programas y software. Esta memoria permite el funcionamiento de dichas aplicaciones y, una vez, apagado o interrumpido el funcionamiento del sistema, la información se pierde, ya que no se trata de archivos datos guardados por relevancia, sino simplemente de datos necesarios para el desempeño del software en cuestión. Una característica diferencial de este tipo de memoria es que se trata de una memoria volátil, es decir, que pierde sus datos cuando deja de recibir energía.

También mantiene las cosas preparadas en un entorno gráfico para que la CPU nos las presente a través de nuestros ojos y oídos. O dicho de otra forma, es una memoria limitada, con la capacidad de ser escribir y reescribirse infinitamente, con el fin de “agilizar” los procesos de escritura en un entorno informático. La memoria RAM es muy rápida, debido a su estado sólido y a estar conectada directamente a la CPU, pero tiene un almacenamiento limitado. Sin la memoria RAM, los ordenadores de hoy en día serían mucho más lentos.

Ejemplo: Cuando damos doble clic a la aplicación Microsoft Word, el programa será leído desde el disco duro e inmediatamente la computadora buscará almacenarlo en la memoria RAM, ello para que el usuario lo utilice sin lentitud que implicaría trabajarlo desde el disco duro, y una vez terminada de usar la aplicación, la RAM se libera para poder cargar el próximo programa a utilizar.

Gestión de Memoria RAM

Page 3: Gestión de Memoria RAM

Expansión de memoria: Existen dos formas posibles de expandir la memoria:

Dividiendo un programa de modo que una parte permanezca en la memoria de acceso aleatorio y que una parte se cargue en la memoria cuando se necesite acceder a los datos.

Utilizando un mecanismo de memoria virtual que consiste en utilizar el disco duro como memoria principal y almacenar solamente las instrucciones y los datos utilizados por el procesador en la memoria RAM. El sistema operativo realiza esta operación creando un archivo temporal (conocido como SWAP o "archivo de intercambio") en el que se almacena la información cuando la memoria RAM ya no es suficiente. Es normal que al utilizar la memoria virtual el LED del disco duro permanezca encendido casi constantemente y, en el caso del sistema Microsoft Windows, es común que aparezca un archivo "win386.swp", de gran tamaño en proporción a las necesidades de la memoria de acceso aleatorio.

La Gestión de Memoria debe proporcionar: Protección.- Si varios procesos comparten la memoria principal, se

debe asegurar que ninguno de ellos pueda modificar posiciones de memoria de otro proceso. Debe disponerse de un sistema de permisos de acceso que especifique los derechos que tiene cada proceso en el acceso a zonas de memoria de otros procesos.

Compartimiento.- El compartimiento de la memoria parece estar en

contradicción con la protección pero es que a menudo también es

necesario que varios procesos puedan compartir y actualizar estructuras

de dato comunes, por ejemplo, en un sistema de bases de datos.

Reubicación.- La multiprogramación requiere que varios procesos

residan simultáneamente en memoria. Lo que no se puede saber es la

dirección absoluta en la que se va a cargar el proceso, por eso es

preferible realizar direccionamiento relativos para permitir que un

programa pueda ser cargado y ejecutado en cualquier parte de la

memoria.

Page 4: Gestión de Memoria RAM

Organización de la memoria.- La memoria se debe de organizar

tanto física como lógicamente.

Física.- La mayoría de las computadoras organizan los archivos en

jerarquías llamadas carpetas, directorios o catálogos.

Ejemplo.:

-Las Pilas

- Es la forma más fácil de organizar un archivo. Los datos se recogen

en el orden en que llegan.

- Su objetivo es simplemente acumular una masa de datos y

guardarla.

- Los registros pueden tener campos diferentes o similares en un

orden distinto. Cada campo debe ser auto descriptivo, incluyendo

tanto un campo de nombre como el valor. La longitud de cada

campo debe indicarse implícitamente con delimitadores,

explícitamente incluidos como un subcampo más.

- El acceso a los registros se hace por búsquedas exhaustiva y son

fáciles de actualizar. Si se quiere encontrar un registro que contiene

un campo particular y un valor determinado, es necesario examinar

cada registro de la pila hasta encontrar el registro deseado. Si se

quieren encontrar todos los registros que contienen un campo

particular o que tienen un valor determinado para ese campo, debe

buscarse el archivo entero.

Page 5: Gestión de Memoria RAM

Lógica.- Los datos son arreglados por su adyacencia física, es decir,

de acuerdo con el dispositivo de almacenamiento secundario. Los

registros son de tamaño fijo o de tamaño variable y pueden

organizarse de varias formas para constituir archivos físicos.

Ejemplo.:

-La Cinta Magnética

En este dispositivo el archivo físico está formado por un conjunto de registros físicos, y los bloques están organizados en forma consecutiva, ya que se asigna en igual forma.

Además tales registros puede contener etiquetas que permitan un mayor control sobre los datos almacenados, y son las siguientes:

- Etiqueta de volumen.- Contiene información que permite identificar la cinta, el nombre del propietario y cualquier información general requerida.

- Etiqueta de archivo.- Se utilizan por pares para indicar el inicio y fin del archivo, contiene información acerca del nombre del archivo, fecha de creación.

- Etiqueta de usuario.- Sirven para guardar información adicional de importancia para el usuario; no son procesados por el sistema operativo.

Page 6: Gestión de Memoria RAM

Gestión de memoria Sin Intercambio:En los sistemas de gestión de memoria sin intercambio, la idea básica consiste en cargar el programa e ejecutar en algún lugar de la memoria principal, donde permanece hasta que finaliza su ejecución, momento en el que abandona el espacio de memoria utilizado.

Veamos a continuación las técnicas más habituales para los diferentes modelos de programación sin intercambio de memoria.

Monoprogramación.- El esquema de memoria más simple consiste en mantener la memoria ocupada con un único proceso. Cuando se carga un programa que se hace cargo de toda la memoria y del control completo de la máquina, se dice que el programa se carga sobre una máquina desnuda, es decir, una maquina en la que solamente se ofrece el hardware puro, sin ninguna ayuda software que lo recubra.

Multiprogramación con particiones fijas.- Ya que, en general, es deseable que haya varios procesos de usuario residiendo en memoria

Page 7: Gestión de Memoria RAM

al mismo tiempo, se hace necesario considerar el problema de cómo asignar memoria disponible a varios de los procesos que están en la cola de espera para ser traídos a memoria principal. Lo más inmediato y simple es dividir la memoria en n particiones (posiblemente de distinto tamaño), de tal forma que en cada partición se mete un proceso, donde permanecerá hasta que finaliza su ejecución. Una vez terminado el proceso, la partición queda libre para acoger a un nuevo trabajo.Pero se debe de tener en cuenta algunas cuestiones:

- Planificación de procesos.-Un esquema posible para la planificación de procesos a largo plazo, o sea, para seleccionar los procesos que van a cargarse en la memoria para ser ejecutados.

- tamaño de partición.-El tamaño de cada una de las particiones lo puede establecer el operador en el momento de arranque del sistema o figurar en algún fichero de configuración del sistema.

- Reubicación de programas.-Cuando se monta o enlaza un programa compuesto por diferentes módulos, todos ellos se combinan en un módulo cargable, en el que las referencias a sus objetivos locales (rutinas o datos) son direcciones que van desde cero hasta la correspondiente al tamaño del módulo.

- Protección.-Se encarga de evitar el acceso indiscriminado a cualquier área de memoria.

Intercambio de memoria:En un sistema batch, la organización de la memoria en particiones fijas resulta simpley efectiva. Siempre que se puedan mantener en memoria suficientes trabajos como para mantener la CPU ocupada, no hay razón para complicar la organización.(Batch acepta tantos trabajos como quepan en memoria.)

Page 8: Gestión de Memoria RAM

En cambio, en un sistema de tiempo campartido la situacion es diferente, pues normalmente hay más usuarios que memoria para contener sus procesos, por lo que se hace necesario llevar a disco los procesos en exceso.(Tiempo compartido suele haber más procesos de usuarios que caben en memoria y hay que atenderlos a todos.)

El intercambio de memoria requiere un dispositivo de memoria secundaria. Normalmente, éste suele ser un disco rápido, debe tener suficiente capacidad para acoger la copias de todas las imágenes de memoria de todos los procesos y debe proporcionar un acceso rápido y directo a estas imágenes. El área del disco que contiene ente espacio de memoria virtual con el que se realiza el intercambio desde memoria principal, recibe el nombre de área de intercambio o área de swapping.

Multiprogramación con particiones variables.- En principio, un sistema de intercambio podría estar basado en particiones de tamaño fijo, de tal forma que cuando un proceso queda bloqueado en espera, se le puede mover al disco y traer otro a la partición que queda libre. Pero este sistema no es aconsejable cuando se dispone de poca memoria principal, pues los programas pequeños desperdician mucha memoria cuando ocupan particiones grandes (fragmentación interna).

Otro enfoque mejor es el basado en particiones de tamaño variable, que se utilizan cuando el número y tamaño de los procesos cargados en memoria varía con el tiempo.

Ejemplo.:

Como se puede ver en la imagen, al principio se carga el proceso A, seguidamente el B y el C. A continuación el proceso A termina (o se expulsa al disco) y se carga el proceso D, finaliza el B y se carga E…

Page 9: Gestión de Memoria RAM

La principal diferencia entre las particiones fijas y las de tamaño variable es que en estas últimas el número, la dirección y el tamaño de las particiones varía constantemente a medida que los procesos van y vienen; mientras que en las de tamaño fijo no varían, son fijos.

Memoria virtual.- Es una técnica que permite la ejecución de

procesos que pueden no estar completamente en memoria principal. La principal ventaja de este esquema es que los programas pueden ser mayores que la memoria principal. Esto se debe a que se crea una abstracción de la memoria principal, separando la memoria lógica, tal como la ve el usuario, de la memoria física de la que realmente se dispone.

Para implementar los sistemas de memoria virtual, normalmente se utiliza la paginación, también se puede implementar mediante segmentación, como lo hace el sistema OS/2 de IBM.

Paginación.- consiste en dividir la memoria en bloques y los programas en páginas de longitud fija.

Segmentación.- los programas se dividen en paquetes de longitudes variadas conocidos como "segmentos".

Una combinación de segmentación y paginación: algunas partes de la memoria se segmentan y otras se paginan.

Page 10: Gestión de Memoria RAM