Ajusta las prioridades en respuesta a condiciones cambiantes, puede tener una significativa sobre carga, pero debe asegurarse que ella no genere incumplimiento en los tiempos.
· Dinámica basada en un plan: la factibilidad se determina en tiempo de ejecución.
· Dinámica basada en el mejor esfuerzo: no se realiza análisis de factibilidad. El sistema trata de cumplir con todos los plazos y abandona cualquier proceso ya iniciado y cuyo plazo no se haya cumplido.
Información utilizada: tiempo de activación, plazo de inicio, plazo de conclusión, tiempo de proceso, recursos requeridos, prioridad, estructura de subtareas
Las prioridades en general se basan en los tiempos límites de procesos.
· El tiempo límite más temprano primero(EDF) earliest-deadline-first
· Mínima laxitud primero
- Similar EDF, pero la prioridad se basa en laxitud, la cual se basa en tiempo límite de procesos y su tiempo restante para completar su objetivo.
La memoria principal es un dispositivo de datos a los que se puede acceder rápidamente y que son compartidos por la CPU y los dispositivos de E/S
Funciones: que memoria se está usando, quien la usa, que procesos pueden cargarse, asignación, y liberación de memoria
Vinculación de las instrucciones y los datos de memoria.
Tiempo de ejecución: la vinculación se retarda hasta el tiempo de corrida de los procesos pueden ser movidos durante su ejecución de una posición de memoria a otra.
Tiempo de carga: si se conocen las direcciones en tiempo de compilación, debe generarse código reubicable.
Tiempo de compilación: se conoce previamente la ubicación de memoria, puede generarse código absoluto, el código debe ser recompilando si la dirección de inicio cambia.
Asignación contigua
Generalmente la memoria principal tiene dos particiones.
Para el SO residente que puede ser colocado en memoria alta o baja.
Los proceso de los usuarios se colocan el la otra partición
Asignación de partición única
Se usa el esquema de registro de reubicación áraproteger los procesos.
Asignación con múltiples particiones fijas
Particiones configuradas por usuario, predeterminadas, se uso en OS/360/MFT (multiprogramación con un numero dijo de tareas)
Recolocación: el enlazador debe determinar que direcciones recolocarse. Vs carga absoluta x parte.
Protección: bloques de 2k con clave, o registro de base y limite. Fragmentación
Asignación dinámica de las particiones,
Compresión (garbage collection): ciber CDC 40mb/seg, micro 1mb/seg.
Fragmentación: huecos después de ejecución.
Condensación: fusión de dos huecos contiguos.
Fragmentación externa: memoria que sobra (mejor la fragmentación Externa que la interna).
Compresión: es cuando se unen dos fragmentos que no están contiguos. (solo supercomputadoras anteriormente).
Problema de la asignación dinámica de memoria
Como satisfacer la solicitud de un tamaño n a partir de huecos libres.
Estrategias de colocación:
· Mejor ajuste: hueco que mejor quepa y < desperdicio. Busca en toda la lista (puede estar ordenada)
· Primer ajuste: el primer hueco que le sirva. Búsqueda al principio o a partir de este punto.
· Peor ajuste: hueco mas grande .
· Siguiente ajuste.
· Estrategia mas sofisticada.
Almacenamiento virtual
· Capacidad de obtener acceso de direcciones en un espacio de almacenamiento mucho mayor que el disponible en el almacenamiento primario del sistema.
· SO atlas, Manchester 1960.
Intercambio /swap
· Un proceso puede intercambiarse temporalmente de memoria a un almacenamiento de respaldo y luego puede ser retornado hacia la memoria para continuar su ejecución.
· El almacenamiento de respaldo se hace en el disco, que debe ser rápido y tener suficiente espacio para ubicar copia de todas las imágenes de memoria para todos los usuarios; debe proveer acceso directo a estas imágenes de memoria.
· Descargar (swap out), cargar (swap in) – variante de intercambio den algoritmos de planificación por prioridad.
Fundamentos de la memoria virtual
· El procesador utiliza y genera direcciones virtuales
· Parte del mapa de memoria (virtual) está en disco (swap) y parte en memoria principal
· La MMU(memory management unit) traduce las direcciones virtuales en físicas
· La MMU produce un fallo de página(trap) cuando la dirección no está en memoria principal
· El SO trata el fallo de página, haciendo un transvase entre la memoria principal y el área de intercambio (swap disco)
Paginación
· El espacio de direcciones lógicas de un proceso no necesariamente es contiguo; los procesos se ubican en memoria física donde luego quedan disponibles.
· Se divide la memoria física en bloques de tamaño fijo llamados marcos (los tamaños son potencias de 2, entre 512 bytes y 8192 bytes).
· Se divide la memoria lógica en bloques del mismo tamaño llamados páginas.
· Se mantiene el rastro de todos los marcos.
· Para correr un programa de tamaño n páginas, se requiere encontrar n marcos libres y cargar el programa.
No hay comentarios:
Publicar un comentario