Admi Memoria

17
INSTITUTO TECNOLOGICO De Tuxtepec “INVESTIGACIÓN CARRERA: INGENIERÍA EN INFORMÁTICA MATERIA: SISTEMAS OPERATIVOS PRESENTA: URIEL MARTINEZ CLEMENTE CATEDRATICO: PROF. JOSE ALBERTO VILLALOBOS SERRANO San Juan Bautista Tuxtepec, Oaxaca a 16 de Marzo del 2015 ISC - 2010/01 MARZO 2015

description

administracion de la memoria

Transcript of Admi Memoria

Page 1: Admi Memoria

INSTITUTO TECNOLOGICO

De Tuxtepec

“INVESTIGACIÓN ”

CARRERA:INGENIERÍA EN INFORMÁTICA

MATERIA:SISTEMAS OPERATIVOS

PRESENTA:URIEL MARTINEZ CLEMENTE

CATEDRATICO:

PROF. JOSE ALBERTO VILLALOBOS SERRANO

San Juan Bautista Tuxtepec, Oaxaca a 16 de Marzo del 2015

ISC - 2010/01 MARZO 2015

Page 2: Admi Memoria

INTRODUCCIÓN

La memoria es uno de los principales recursos de la computadora, la cual debe de

administrarse con mucho cuidado. Aunque actualmente la mayoría de

los sistemas de cómputo cuentan con una alta capacidad de memoria, de igual

manera las aplicaciones actuales tienen también altos requerimientos de memoria,

lo que sigue generando escasez de memoria en los sistemas multitarea y/o

multiusuario.

La parte del sistema operativo que administra la memoria se

llama administrador de memoria y su labor consiste en llevar un registro de las

partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar

espacio en memoria a los procesos cuando éstos la necesiten y liberándola

cuando terminen, así como administrar el intercambio entre la memoria principal y

el disco en los casos en los que la memoria principal no le pueda dar capacidad a

todos los procesos que tienen necesidad de ella.

Page 3: Admi Memoria

La administración de memoria se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se aproveche de la mejor manera posible el espacio disponible.

Para poder lograrlo, la operación principal que realiza es la de trasladar la información que deberá ser ejecutada por el procesador, a la memoria principal. Actualmente esta administración se conoce como Memoria Virtual ya que no es la memoria física del procesador sino una memoria virtual que la representa. Entre algunas ventajas, esta memoria permite que el sistema cuente con una memoria más extensa teniendo la misma memoria real, con lo que esta se puede utilizar de manera más eficiente. Y por supuesto, que los programas que son utilizados no ocupen lugar innecesario.

Las técnicas que existen para la carga de programas en la memoria son: partición fija, que es la división de la memoria libre en varias partes (de igual o distinto tamaño) y la partición dinámica, que son las particiones de la memoria en tamaños que pueden ser variables, según la cantidad de memoria que necesita cada proceso. Entre las principales operaciones que desarrolla la administración de memoria se encuentran la reubicación, que consiste en trasladar procesos activos dentro y fuera de la memoria principal para maximizar la utilización del procesador; la protección, mecanismos que protegen los procesos que se ejecutan de interferencias de otros procesos; uso compartido de códigos y datos, con lo que el mecanismo de protección permite que ciertos procesos de un mismo programa que comparten una tarea tengan memoria en común.

ADMINISTRACIÓN DE MEMORIA

Page 4: Admi Memoria

Administración de la memoria sin intercambio o paginación.

Los sistemas de administración de memoria se pueden clasificar en dos tipos. Los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecución (intercambio y paginación) y aquellos que no.

Monopogramación sin intercambio o paginación.

Es en forma secuencial pues solo se tiene un objeto en memoria en cada instante, el usuario carga toda la memoria con un programa, esto implica que cada proceso debe contener controladores de dispositivo para cada uno de los dispositivos E/S que utilice.

Multiprogramación y uso de la memoria.

La multiprogramación facilita la programación de una aplicación al dividirla en dos o más procesos. La mayoría de los procesos tardan cierto tiempo en la espera de datos de dispositivos E/S. Un modelo para el uso y aprovechamiento de la CPU es el modelo probabilístico dado por la fórmula: Uso de la CPU = 1 - pn

Multiprogramación con particiones fijas.

El objetivo en todo esto es tener más de un proceso en memoria a la vez, solución posible sería dividir la memoria en n partes al inicio de una sesión de uso de la máquina, pero aun así se obtiene el desperdicio de particiones grandes con una tarea pequeña, la respuesta puede ser tener particiones pequeñas también.

Las tareas que van llegando se forman hasta que una partición adecuada está disponible, en cuyo momento la tarea se carga en esa partición y se ejecuta hasta terminar.

Intercambio

En un sistema por lotes la organización de la memoria en particiones fijas es adecuado pero en un ambiente multiusuario la situación es distinta con el tiempo compartido, ya que existen más usuarios de los que puede albergar la memoria, por lo que es conveniente albergar el exceso de los procesos en disco., por supuesto para ser ejecutados estos procesos deben ser trasladados a la memoria principal. Al traslado de procesos de disco a memoria y viceversa se le llama intercambio.

Multiprogramación con particiones variables.

Page 5: Admi Memoria

Mediante un algoritmo de administración de memoria las particiones variables varían de forma dinámica durante el uso de la máquina, evitando desperdicio de memoria

Otros métodos de administración de memoria que tenemos son:

La administración de memoria con mapa de bits.

La memoria se divide en unidades de asignación, a cada asignación le corresponden un bit en el mapa de bits, un mapa de bits es una forma sencilla para llevar un registro de las palabras de la memoria en una cantidad fija de memoria.

La administración de memoria con listas ligadas.

Otra forma de mantener un registro en memoria es mediante una lista ligada donde cada entrada de la lista específica un hueco o un proceso.

La administración de memoria con el sistema de los asociados.

Basado en el sistema binario o utilizado para las direcciones.

Memoria Virtual

El método diseñado por Fotheringham en 1961 se conoce como Memoria Virtual, la idea es que el tamaño combinado de la pila, programa y datos puede exceder la memoria física disponible para ello. El S.O. mantiene en memoria aquellas partes del programa que se deben permanecer en memoria y el resto lo deja en disco, las partes entre el disco y la memoria se intercambian de modo que se vayan necesitando.

Paginación

El espacio de direcciones de cada proceso se divide en bloques de tamaño uniforme llamados páginas, los cuales se pueden colocar dentro de cualquier para página marco disponible en memoria. Cuando las tablas de páginas son muy grandes se puede utilizar un esquema de paginación de varios niveles para que las páginas se paginen a sí mismas.

Existen distintos niveles de paginación y a su vez distintos modelos de computadoras han trabajado con ellas.

Paginación de nivel 1: PDP-11

Paginación de 2 niveles: la VAX

Page 6: Admi Memoria

Paginación de 3 niveles: la SPARC

Paginación de 4 niveles: la 68030

Memoria asociativa

En los algoritmos de paginación las tablas de páginas se mantienen en la memoria debido a su gran tamaño, en potencia este diseño tiene un efecto enorme en el rendimiento.

Algoritmos de reemplazo de páginas.

Cuando ocurre un fallo de página el sistema operativo debe elegir una página para retirarla de la memoria y hacer un espacio para la página por recuperar. Si la página por eliminar fue modificada mientras estaba en memoria, debe escribirla en el disco para mantener actualizada la copia del disco, si por el contrario la página no ha sido modificada la copia del disco ya está actualizada por lo que no es necesario volver a escribir, la página por leer sólo escribe encima de la página por retirar.

Aunque es posible elegir una página al azar para el reemplazo relacionado con un fallo de página, el rendimiento del sistema es mucho mejor si se elige una página de poco uso.

Algoritmo de reemplazo de páginas optimo

Mejor algoritmo posible para reemplazo de páginas pero irrealizable en la práctica. Al momento de ocurrir un fallo de página cierto conjunto de páginas se encuentran en la memoria, en la siguiente instrucción se hará referencia a una de estas páginas, otras páginas no se utilizaran sino hasta mucho después, cada página puede ejecutarse con el número de instrucciones ejecutadas antes de la primera referencia a esa página, el algoritmo dice que se elimine la página con la mayor etiqueta; si una página no va a utilizase sino hasta mucho después que otra la eliminación de la primera retrasa el fallo de página lo más posible, el único problema de este algoritmo es que es irrealizable. Al momento del fallo de página el S.O. no tiene forma de saber a qué página se hace referencia.

Algoritmo de página de uso no muy reciente.

En un fallo de página, el sistema operativo inspecciona todas las páginas y las divide en cuatro categorías según los valores actuales de los bits R y M.

Clase 0: No se ha hecho referencia ni ha sido modificada

Page 7: Admi Memoria

Clase 1: No se ha hecho referencia pero ha sido modificada

Clase 2: Se ha hecho referencia pero no ha sido modificada

Clase 3: Se ha hecho referencia y ha sido modificada

El algoritmo NRU implica una hipótesis que indica que es mejor eliminar una página modificada sin referencias al menos por lo general un intervalo de reloj, este algoritmo es fácil de comprender, de implantación eficiente y con un rendimiento que, aún sin ser el óptimo si es adecuado en muchos casos.

Algoritmo de reemplazo " primero en entrar, primero en salir FIFO"

El sistema operativo tiene una lista de todas las páginas que se encuentran en memoria, siendo la primera página la más antigua y la última la más reciente, en un fallo de página, se elimina la primera página y se añade la nueva al final de la lista.

Algoritmo de reemplazo de páginas de la segunda oportunidad

Una modificación simple del FIFO que evita deshacerse de una página de uso frecuente inspecciona el bit R de la página más antigua, busca una página antigua sin referencias durante el anterior intervalo de tiempo.

Algoritmo de reemplazo de páginas del reloj

Aunque el anterior algoritmo es razonable un mejor enfoque es mantener las páginas en una lista circular con la forma de un reloj, una manecilla apunta hacia la más antigua. Al ocurrir un fallo de página se inspecciona la página a la que apunta la manecilla si su bit R=0 se retira de la memoria, se inserta la nueva página en su lugar en el reloj y la manecilla avanza una posición, si R=1 la manecilla avanza una posición y el bit se limpia, esto continua hasta encontrar una página con R=0.

Segmentación

La memoria virtual que hemos analizado hasta ahora es unidimensional, puesto que cada segmento constituye un espacio independiente de direcciones, los distintos segmentos pueden crecer o reducirse en forma independiente sin afectar a los demás.

Una memoria segmentada tiene otras ventajas como hacer más sencilla la administración de las estructuras de datos que crecen o se reducen, si cada

Page 8: Admi Memoria

procedimiento ocupa un segmento independiente con la posición inicial cero el ligado independiente de los procesos compilados es mucho más sencillo.

Page 9: Admi Memoria

TIPOS DE MEMORIAS

Page 10: Admi Memoria

CARACTERISTICAS CAPACIDAD Y VELOCIDAD DE TRANSFERENCIA

MEMORIA RAM

Es la memoria basada en semiconductores que puede ser leída y escrita por microprocesador u otros dispositivos de hardware. El acceso a las posiciones de almacenamiento se puede realizar en cualquier orden.

Actualmente se pueden encontrar sistemas de memoria RAM capaces de realizar transferencias a frecuencias del orden de los Gbps (gigabits por segundo). También es importante anotar que la RAM es una memoria volátil, es decir requiere de alimentación eléctrica para mantener la informacion. En otras palabras, la RAM pierde toda la informacion al desconectar el ordenador.

MEMORIA SIMM

Pequeña placa de circuito impreso con varios chips de memoria integrados. Los SIMM están diseñados de modo que se pueden insertar fácilmente en la placa base de la computadora.

Generalmente se utiliza para aumentar la cantidad de memoria RAM. Se fabrican con distintas capacidades (4Mb, 8Mb, 16Mb…) y con diferentes velocidades de acceso. En un principio se construían con 30 contactos y luego aparecieron los de 72 contactos.

MEMORIA DIMM

Hace referencia a su sistema de comunicación con la placa base, que se gestiona en grupos de datos de 64 bits, en contraposición con los módulos SIMM (Single In-line Memory Module, módulo de memoria en línea simple), que usan una vía simple y solo transfieren 32 bits de datos cada vez.

La extensión en el uso de los módulos DIMM ha coincidido con un aumento muy sustancial de la capacidad de memoria: actualmente están disponibles de 64, 128, 256 y 512 MB y de 1, 2 o más gigabytes.

MEMORIA RIMM

Sustituyen a los actuales DIMM, y son una continuación del canal; el canal entra por un extremo del RIMM y sale por el otro. Los RIMM tienen el mismo

Hay módulos de 64Mb, 128Mb y 256Mb, la máxima cantidad total de memoria va desde los 64Mb hasta 1Gb por canal.

Page 11: Admi Memoria

tamaño que los DIMM y han sido diseñados para soportar SPD, (Serial Presence Detect). También hay RIMM de doble cara o de una cara, y pueden tener cualquier número de chips hasta el máximo de 32 soportados por canal

MEMORIA DRAM

Se usa principalmente en los módulos de memoria RAM y en otros dispositivos, como memoria principal del sistema. Se denomina dinámica, ya que para mantener almacenado un dato, se requiere revisar el mismo y recargarlo, cada cierto periodo, en un ciclo de refresco.

Es una memoria volátil, es decir cuando no hay alimentación eléctrica, la memoria no guarda informacion.

MEMORIA SRAM

SRAM proviene de ("Static Read Aleatory Memory"), lo que traducido significa memoria estática de acceso aleatorio. Se trata de una memoria RAM que tiene la característica de estar construida a base de transistores (a diferencia de la memoria DRAM que la mayoría utilizamos en las computadoras, la cual está fabricada a base de capacitores).

La característica mas importante de la memoria SRAM es que por las propiedades electrónicas del transistor, este no necesita estarse cargando constantemente de electricidad (a diferencia del capacitor de la DRAM, el cuál necesita constantemente recargándose, porque en caso contrario pierde el dato almacenado);  por ello tienden a ser memorias sumamente rápidas y también costosas (ya que es más caro fabricar un transistor que un capacitor).

MEMORIA DDR

Son un tipo de memorias DRAM (RAM de celdas construidas a base de capacitores), las cuales tienen los chips de memoria en ambos lados de la tarjeta y cuentan con un conector especial de 184 terminales para ranuras de la tarjeta principal

So Incorpora dos canales para enviar datos de manera simultánea.

Page 12: Admi Memoria

(Motherboard). Tambien se les denomina DIMM tipo DRR, debido a que se cuentan con conectores físicamente independientes por ambas caras como el primer estándar DIMM.

Page 13: Admi Memoria

Conclusión

La administración de memoria se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se aproveche de la mejor manera posible el espacio disponible.

Como vimos anteriormente hay varios métodos que se pueden utilizar para la administración de la memoria, como lo es la fragmentación; es la memoria que queda desperdiciada al usar los métodos de gestión de memoria tal como la asignación y esta fragmentación puede ser interna o externa.

También está la paginación es una técnica de gestión de memoria en la cual el espacio de memoria se divide en secciones físicas de igual tamaño llamadas marcos de página, las cuales sirven como unidad de almacenamiento de información.

La segmentación es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica; llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos.

Pero en general puedo concluir que la administración de memoria juega un papel muy importante en la realización de todos los procesos y aplicaciones dentro de un sistema operativo ya que si no hubiera una buena administración la eficiencia de nuestro sistema se vería afectado en el rendimiento.