Jerarquía DE ALMACENAMIENTO
o Imposibilidad de que todos los Programas estén cargados en memoria de manera continua.// o La memoria, tiene Una capacidad limitada (tamaño físico).// o Necesidad de priorizar la carga en Memoria de unos programas sobre otros atendiendo a algún criterio para ello.
Gestión DE LA MEMORIA PRINCIPAL //–> o La memoria principales un recurso Que debe de ser manejado y gestionado lo más eficientemente posible.// o El SO. Dedica gran parte de su tiempo a la gestión de la misma, ello es debido, sobre Todo, al aumento de las exigencias, en cuanto a rendimiento que se espera Actualmente de dicho recurso. //o Evidentemente dicha exigencias han ido Aumentado, a lo largo del tiempo, a medida que se intentaba obtener un mejor Rendimiento de la computadora en general.
MONOPROGRAMACIÓN //–> o Modelo de trabajo en el unicamente Un programa utilizaba el procesador. //o Siendo además el único que estaba Cargado en memoria //o En estos sistemas la gestión de la memoria era mínima //o También hubo evoluciones.
Memoria dedicada:
o El programador accedía directamente Al HW y gestionaba la memoria en sus programas. // o Utilización ineficaz de la memoria, además De tener que conocer profundamente el HW, para poder gestionarlo directamente.
División de la memoria. El monitor Residente.
La aparición del Monitor residente (primer SO) trajo consigo el problema de tener que dividir la Memoria en dos partes (SO y Usuario).// Este reparto de la Memoria trajo consigo una serie de problemas a los que hubo de dar Solución://->o Como asegurar la independencia de las dos zonas.// o Como Asegurar que los programas no se vean afectados por esta división.
Para poder corregir estos problemas se Hizo evidente que había que trabajar en dos frentes:
Protección De la memoria.//-> Se hace necesario proteger a la zona del SO. Contra cualquier intento de acceso a dicha zona por parte de los programas de Usuario.// Se establece una dirección frontera que Limita la zona del SO. // Este tipo de control, Aumenta de manera significativa el tiempo de acceso a la memoria. // Compensado Por la mejora en el funcionamiento general del sistema. También Se establece la necesidad de que la dirección frontera pueda ser variable para poder Permitir al SO. Crecer en prestaciones.
Reasignación de Direcciones.
Es Necesario realizar una conversión de todas las direcciones de almacenamiento en Memoria central en función de dicho registro frontera. Esto se puede realizare De dos formas posibles:
o Estaticamente: durante la Compilación.//à Si Se modifica la dirección frontera es necesario realizar una nueva compilación Del programa
o Dinámicamente: Se Realiza durante la ejecución del programa. //à Es necesario un dispositivo HW Especial. //à Intercepta la dirección lógica de La instrucción y le suma el contenido del registro frontera para poder acceder A la dirección real correspondiente.
El usuario maneja en su programa direcciones relativas (al Registro frontera).// el Conjunto de estas direcciones se conoce como espacio de direcciones lógicas.// El SO. Con la ayuda de HW las Traduce a direcciones reales que se corresponden con denominado espacio de Direcciones físicas.
Multiprogramación //–> Cada partición utiliza dos registros frontera, cuyo contenido Apunta a la parte inferior y superior de cada una de las zonas en las que se ha Dividido la memoria.// Esta Técnica exige para su funcionamiento la asignación de direcciones estáticas.// Para hacer más flexible esta Técnica, se carga en un registro la dirección de comienzo de la zona y en otro El tamaño de la misma, denominándose registro base y registro limite.// En este caso es posible la Asignación dinámica de direcciones ya que basta con actualizar el contenido del Registro base para apuntar a otra zona de memoria.// Cada dirección generada debe ser Menos que el registro límite.
PARTICIONES CONTINUAS DE TAMAÑO FIJO // Las particiones se definen Al iniciarse el SO. Quedando inamovibles para toda la sesión.
Sistema Operativo– Zona Ejecución 2–Zona ejecución 3–Zona ejecución 4
Cuando un programa tiene Que cargarse, en memoria, el SO. Le asigna una partición que pueda contenerlo. Para poder hacer esto, los programas deben declarar sus necesidades de Memoria.// Esta técnica es fácil de gestionar y simple de implementar.
Su eficacia está muy Condicionada por las exigencias de memoria de los programas y su orden de llegada.
Multiprogramación PARTICIONES CONTINUAS DE TAMAÑO FIJO //–> Una marea de solucionar problemas consiste en la asignación de Memoria mediante una única cola de espera de programas// Seria el sistema, por medio del Planificador de trabajos el encargado de seleccionar el programa a cargar y en Que partición.
Este planificador puede funcionar de varias formas:
o Respetando el orden de Llegada (FIFO). // o Seleccionando el trabajo más adecuado a la partición Libre.// o Seleccionando el primer trabajo de características similares al Anterior en la partición que queda libre.
Se mejora muchísimo el rendimiento si se añade a la gestión Departiciones técnicas de intercambio.
Presenta dos problemas Típicos originados por la propiaestructura de las particiones:
Fragmentación Interna: