ASIGNATURA: SISTEMAS OPERATIVOS NOMBRES: QUIMIS GILER MIKE ARIEL CURSO: SEGUNDO “C” PROFESOR: ING. JOHNNY JAVIER LARREA PLUA
ADMINISTRACION DE MEMORIA
El segundo componente importante en cualquier computadora, luego del procesador, es la memoria. En teoría, una memoria debe ser en extremo rápida (más rápida que la velocidad de ejecución de una instrucción, de manera que la memoria no detenga a la CPU), de gran tamaño y muy económica. DEFINICION ADMINISTRACION DE MEMORIA Las capas superiores tienen mayor velocidad, menor capacidad y mayor costo por bit que las capas inferiores, a menudo por factores de mil millones
NIVELES (JERARQUIA) DE MEMORIA Los niveles que componen la jerarquía de memoria habitualmente son: Nivel 0: Registros de microprocesador o CPU Nivel 1: Memoria cache Nivel 2: Memoria primaria (RAM) Nivel 3: Disco duro (con el mecanismo de memoria virtual) Nivel 4: Cintas magnéticas (consideraciones las mas lentas, con mayor Capacidad, de acceso secuencial)
REGISTRO Un registro de memoria, es una pequeña cantidad de memoria ultrarrápida, integrada en un microprocesador, que permite almacenar y acceder a datos frecuentemente usados. Esto permite incrementar la velocidad de ejecución de los programas.
CACHE ¿Qué significa caché? Literalmente, se trata de una palabra en francés que quiere decir “escondido” u “oculto”. La memoria caché de un procesador, es un tipo de memoria volátil (como la memoria RAM), pero muy rápida. Su función es almacenar instrucciones y datos a los que el procesador debe acceder continuamente. ¿Cuál es su finalidad? Pues que este tipo de datos sean de acceso instantáneo para el procesador, ya que se trata de información relevante y que debe estar a la mano de manera muy fluida.
MEMORIA PRINCIPAL Memoria primaria (MP), memoria principal, memoria central o memoria interna es la memoria de la computadora donde se almacenan temporalmente tanto los datos como los programas que la unidad central de procesamiento (CPU) está procesando o va a procesar en un determinado momento.computadoraunidad central de procesamientoCPU Por su función, la MP debe ser inseparable del microprocesador o CPU, con quien se comunica a través del bus de datos y el bus de direcciones.microprocesadorbus de datosbus de direcciones En algunas ocasiones suele llamarse “memoria interna” porque a diferencia de los dispositivos de memoria secundaria, la MP no puede extraerse tan fácilmente.memoria secundaria
DISCO MAGNETICOS Un disco magnético (flexible o rígido) sirve como soporte de almacenamiento de datos para archivos de información. Almacena los bytes de estos archivos en uno o varios sectores de pistas circulares.bytesarchivospistas Es un tipo de soporte magnético, que utiliza discos de materiales con propiedades magnéticas (magnetismo) para almacenar información digital.soporte magnéticomagnetismo Los discos magnéticos son aparatos que contienen microlamina encerrada en medio de esta.
ESTRATEGIA DE MEJOR AJUSTE Un trabajo nuevo es colocado en el agujero en el cual quepa de forma más ajustada: debe dejarse el menor espacio sin usar. ESTRATEGIA DE PEOR AJUSTE Consiste en colocar un programa en el espacio en el que quepa de la peor manera, es decir en el más grande posible. TIPOS DE ESTRATEGIAS ESTRATEGIA DE PRIMER AJUSTE Un trabajo nuevo es colocado en el primer espacio disponible con tamaño suficiente para alojarlo. TECNICAS (ESTRATEGIAS) DE ALMACENAMIENTO
P A GI N A C IÓ N La paginación permite que la memoria de un proceso no sea contigua, y que a un proceso se le asigne memoria física donde quiera que ésta esté disponible. La paginación ev ita el gran problema de acomodar trozos de memoria de tamaño v ariable en el almacenamiento auxiliar. Cuando es necesario intercambiar fragmento de códigos o datos que residen en la memoria principal, hay que encontrarles espacio en el almacenamiento auxiliar.
En cada entrada de la tabla de paginación (en inglés PTE, Page Table Entry) existe un bit de presencia, que está activado cuando la página se encuentra en memoria principal
SEG M EN T A C I Ó N La segmentación es un esquema de administración de la memoria que soporta la visión que el usuario tiene de la misma. Un espacio de direcciones lógicas es una colección de segmentos. Cada segmento tiene un nombre y una longitud. Las direcciones especifican tanto el nombre del segmento como desplazamiento dentro del mismo.
VISTA DEL USUARIO DE UN PROGRAMA
MONOPROGRAMADO Elesquemade administración de la memoria mas simple consiste en tener un solo proceso en la memoria a la vez y en permitir que ese proceso use toda la memoria dividedentro Lamemoriase del sistema operativo y un solo proceso de usuario.
Aunque la monoprogramación a veces se utiliza en ordenadores pequeños rara vez se emplea en macrocomputadoras con múltiples usuarios. Las razones por las que se usa la multiprogramación son: MULTIPROGRAMADOMULTIPROGRAMADO ParaPara programación facilitarla de unaaplicación dividiéndola en dos o mas procesos. Paraquelos grandes ordenadores proporcionen servicio interactivo a variaspersonasen forma simultánea. Porque la mayoría de losprocesospasan unafracción sustancialdesu tiempo esperando a queterminelaE/S del disco. ParaParamejorarla utilizacióndelCPU cuandoun estaen ya que proceso memoria todoel noestatiemponoestatiempo haciendo uso de él.
Cada programa ocupa un bloque contiguo y sencillo de localizaciones de almacenamiento ADMINISTRACION DE MEMORIA CONTIGUA SIMPLE
ASIGNACION CONTIGUA
En la “asignación no contigua” un programa se divide en varios bloques o “segmentos” que pueden almacenarse en direcciones que no tienen que ser necesariamente adyacentes, por lo que es más compleja pero más eficiente que la asignación continua asignación no contigua ADMINISTRACIÓN DE MEMORIA NO CONTIGUA
ADMINISTRACIÓN DE MEMORIA PARTICIONAL En la mayoría de los esquemas de gestión de memoria, se puede suponer que el sistema operativo ocupa una parte fija de la memoria principal y el resto de la memoria está disponible para ser usado por varios procesos. El esquema más sencillo de gestión de la memoria disponible es dividirla en particiones con límites fijos. Las particiones pueden ser del mismo o de distinto tamaño, pero generalmente serán de distinto tamaño. Cuando todas las particiones están ocupadas por procesos que no están listos para ejecutarse, uno de esos procesos debe sacarse y hacer sitio para un nuevo proceso.
El uso de particiones de distinto tamaño proporciona cierto grado de flexibilidad a las particiones fijas, además, ambos tipos de esquema de partición fija son relativamente simples y exigen un software del sistema operativo sencillo y una sobrecarga de procesamiento mínima.
El particionamiento fijo consiste en la asignación estática de la memoria particionada, que es una forma de hacer posible la multiprogramación, dividiendo la memoria física disponible en varias particiones, cada una de las cuales puede ser asignada a diferentes procesos. Consiste en particiones de memoria de tamaños variable, es decir, a cada proceso se le asigna la cantidad de memoria que necesita deben utilizarse algunos algoritmos para la ubicación de procesos en las particiones.
ADMINISTRACIÓN DE MEMORIA PARTICIONAL RE-ASIGNABLE Permite cambiar un proceso de partición en caso de ser necesario (reasignarlo). Registro de reasignación: El registro de relocalización contiene la dirección física más pequeña; el registro limite contiene el rango de las direcciones lógicas. Cuando no se puede asignar ubicación contigua a un proceso por los espacios ocupados por los procesos que quedan en la memoria, se compactan por reasignación hacia arriba.
LA DESVENTAJA No asegura que el programa siga funcionando en la nueva ubicación a menos que se modifiquen los componentes dependientes de dirección tales como: Estructura de datos. Instrucciones con referencia a memoria. Lista de parámetros. LA SOLUCIÓN Recargar cada programa que deba ser reasignado y empezar de Para solventar el problema de la fragmentación se puede: Tolerar el desperdicio de memoria y degradación. Aumentar la memoria hasta que la multiprogramación se mantenga siempre en nivel adecuado para el aprovechamiento del CPU. Dar recursos adicionalesde equipo para atacar las causas de la fragmentación.
ADMINISTRACIÓN DE MEMORIA PAGINADA Los sistemas de paginación de memoria dividen los programas en pequeñas partes o páginas. Del mismo modo, la memoria es dividida en trozos del mismo tamaño que las páginas llamados marcos de página. La cantidad de memoria desperdiciada por un proceso es el final de su última página, lo que minimiza la fragmentación interna y evita la externa. El sistema operativo mantiene una lista de las ultimas paginas utilizadas y una tabla por cada proceso, donde consta en qué marco se encuentra cada página del proceso. Las páginas de un proceso pueden no estar contiguamente ubicadas en memoria, y pueden intercalarse con las páginas de otros procesos.
Tabla de páginas de un proceso En esta tabla se encuentra la ubicación del marco que contiene a cada una de sus páginas. Las direcciones lógicas ahora se forman como un número de página y de un desplazamiento dentro de esa página. El número de página es usado como índice dentro de la tabla de páginas, y una vez obtenida la dirección del marco de memoria, se utiliza el desplazamiento para componer la dirección real o dirección física. Este proceso se realiza en una parte específicamente diseñada para esta tarea, es decir, es un proceso hardware Cuando un proceso es cargado en memoria, se cargan todas sus páginas en marcos libres y se completa su tabla de páginas.
ADMINISTRACION DE MEMORIA PAGINADA POR DEMANDA. Los procesos residen en memoria secundaria (en el disco). Cuando queremos ejecutar un proceso, lo alojamos en memoria principal. Sin embargo, en vez de intercambiar todo el proceso hacia la memoria, utilizamos un intercambiador perezoso, nunca reincorpora una página a memoria a menos que se necesite.
Al no cargar las páginas que no son utilizadas ahorra memoria para otras aplicaciones. Al mejorar el uso de la memoria, mejora el grado de multiprogramación. Carga inicial más rápida ya que solo lee del disco lo que se utilizará. Capacidad de hacer funcionar programas que ocupan más memoria que la poseída. ventajas
Debido a la sobre-asignación podemos quedarnos sin frames libres para agregar nuevas páginas, si esto sucede debemos recurrir a un reemplazo. Cada fallo de página requiere cargar a memoria una página a leer, si ocurren muchos fallos de página el rendimiento empeora notablemente. Desventajas
ADMINISTRACION DE MEMORIA SEGMENTAL Es una técnica de manejo de memoria, en el cual el espacio de memoria se divide en secciones físicas de igual tamaño, denominadas marco de páginas. Los programas se dividen en unidades lógicas: Denominadas paginas que tienen el mismo tamaño que los marcos de páginas.
La segmentación también ayuda a incrementar la modularidad de un programa.