C6 adm mermoria_real_ssoo_mododecompatibilidad_

241 views
152 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
241
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

C6 adm mermoria_real_ssoo_mododecompatibilidad_

  1. 1. Sistemas Operativos Porque es importante ? Memoria real Sistemas Operativos Profesor: CPU Your picture here Ciclo 2012-1 Diaz Muñante Jorge P1 P2 P3 P4 P6 P5 P4 Administración de la Memoria Real Es un recurso escaso Se requiere que el proceso este en M.Real Justificación Introducción Un proceso necesita memoria para ejecutar programas – código del programa – datos estáticos y dinámicos El Gestor de Memoria pretende optimizar el uso de la memoria principal disponible – Sistema operativo residente – Memoria principal disponible para ejecutar procesos El rendimiento global del sistema mejora si se pueden ejecutar varios procesos concurrentemente. El método a utilizar depende principalmente del hardware disponible. Administración Memoria Jerarquía memoria Organización y administración de la memoria principal Memoria principal = memoria primaria = memoria real Memoria = almacenamiento Procesador Aspectos Importantes del Modulo U Control Memoria Mem Terciaria Nivel Secundaria Jerarquía Mem (Disk) (Cinta) On-Chip 2 Registros Principal Cache Datapath Cache (DRAM) Organización (SRAM) Estrategias de Administración Velocidad (ns): 1s 10s-100s 100s 10,000,000s 10,000,000,000s (10s ms) (10s sec) Tamaño 100s Ks-Ms Ms Gs Ts (bytes):Diaz Muñante Jorge 1
  2. 2. Sistemas Operativos Desempeño de niveles de memoria Memoria cache Nivel 1 2 3 4 Nombre Registro Cache Memoria real HD Cache: un repositorio para copiar lo que puede ser accesado mas Tamaño tipico < 1KB > 16 MB > 16GB > 100GB rapido que el original – Hacer que los casos mas frecuentes sean rapidos Cache da soporte a muchas tecnicas que son actualmente usadas Tiempo acceso (ns) 0.25 - 0.5 0.5 - 25 80 - 250 5000,000 para dar rapidez – Localizacion de memoria, traduccion de direcciones, paginas, Ancho de Banda 20,000 - bloque de disco, nombre de archivos, rutas de la red, etc… (MB/Sec) 100,000 5,000 - 10,000 1,000 - 5,000 20 - 150 Es bueno solo si: Sistema Sistema – Se dan casos frecuentes Manejado por compilador hardware Operativo Operativo ¿Por qué memoria cache? Jerarquia de memoria Processor-DRAM Memory Gap (latency) Diversas tecnologías para diversos tipos de memorias Proc 1000 CPU 60%/año. • A menor tiempo de acceso mayor costo por bit “Ley de Moore’s” (2x/1.5años) • A mayor capacidad menor costo por bit Desempeño 100 Processor-Memory • A mayor capacidad, mayor tiempo de acceso Performance Gap: A medida que se desciende en la jerarquía (grows 50% / year) 10 • Disminución del costo por bit “Ley de Less’ ?” DRAM DRAM 9%/año. • Aumento de la capacidad (2X/10años) 1 • Aumento del tiempo de acceso 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 • Disminuye la frecuencia de acceso a memoria por parte del procesador Año Organización de la memoria Asignación de memoria continua Sistema Sistema Cada proceso debe ocupar bloques continuos de localidades de memoria Operativo Operativo Proceso 1 Memoria Proceso 2 del usuario Proceso 3 Varias particiones Proceso 4 Proceso 5 Mono proceso Multiprogramado ¿Cómo colocar el proceso en memoria? En forma continua En forma no continuaDiaz Muñante Jorge 2
  3. 3. Sistemas Operativos Asignacion continua Asignación de No Continua 1 GB Proceso es divido en bloques o segmentos que pueden ser asignados a localidades nonecesariamente continuas Proceso Proceso 900 kb 900 kb Sistema Operativo 0 MB Asignacion no continua Ventajas y Desventajas de C/U? 1 GB Proceso 500 kb Proceso Proceso 300 kb 900 kb Proceso 100 kb Sistema Operativo 0 MB Estrategias de administración de la memoria Importantes aspectos en el uso de la memoria Determinan el comportamiento de una organización de memoria determinada Controlar el • Los procesos no pueden coincidir en la misma porcion de memoria fisica. traslape Se dividen en: Traducción • Capacidad de traducir una direccion logica a una direccion real Obtención Colocación Reemplazo • ¿Cuál? • ¿Dónde? • ¿Cuál? • Prevenir el acceso a una memoria privada de otro proceso Protección • Diferentes zonas de memoria pueden tener una carectiristica especial (solo lectura, no visible a otro usuario, etc). • El Kernel debe estar protegido de los procesos del usuariosDiaz Muñante Jorge 3
  4. 4. Sistemas Operativos Esquemas de asignación Administrador de Memoria Asignacion continua Sistema monoprogramado Sistema multiprogramado • Con un solo proceso • Multiprogramadas Sistema Sistema Sistema • Particiones fijas Operativo Operativo Operativo • Con varias colas de procesos • Con una sola cola de procesos Memoria • Particiones Variables del usuario Asignacion no continua • Paginada simple • Segmentada simple • Segmentada + Paginada Un programa puede Múltiples programas comparten o no ingresar a una diversas particiones de memoria única partición de Particiones de tamaño fijo memoria Particiones de tamaño variable Particion fija o estatica Tabla de Particiones División de la memoria en varias partes – Tamaño diferente de las particiones SO 0 – Tamaño fijo de las particiones (inamovible) Proceso 1 1 inicio tamaño estado pid Único proceso por partición con tamaño ≤ partición 2 0 T0 ocupada - Estructuras de datos para la gestión de particiones fijas Proceso 2 3 1 T1 ocupada pid1 – Tabla de descripción de particiones 2 Proceso 3 4 T2 libre - • Estado (libre/asignada) 3 T3 ocupada pid2 • Base de la partición 4 • Tamaño de la partición T4 ocupada pid3 Partición 4 00…0 SO Partición 3 P1 P4 P5 Varias colas de entrada P2 Partición 2 P3 P6 FF…F Partición 1 Particiones fijas de memoria con colas de entrada independientes Sistema (b) Particiones fijas de la memoria, para cada partición operativo con una única colas de entradaDiaz Muñante Jorge 4
  5. 5. Sistemas Operativos Unidad de Manejo de Memoria (MMU) Relocalizacion dinámica usando registro Dispositivo HW que mapea una direccion logica a fisica En el esquema MMU, el valor del registro de relocalizacion es sumado a cada direccion generada por el proceso en el momento que esta es Registro enviada a la memoria Relocalizacion Dirección El programa del usuario contiene direcciones logicas; este nunca ve las 14000 Física direcciones reales Dirección Lógica 14346 CPU + 346 Memoria MMU Desventajas de P. Fijo Particiones Variables Grado de multiprogramación. Las particiones son variables en número y longitud – Limitado al número de particiones Inicialmente la memoria sólo contiene el sistema operativo A cada proceso se le asigna la memoria que necesita exactamente Fragmentación Interna – Dentro de cada partición queda una zona de memoria no aprovechable – El proceso es más pequeño que la partición – No se puede asignar a ningún otro proceso – Es posible que procesos esperando entrar en memoria no tengan partición a pesar de haber espacio libre para ellos Particiones Variables La protección en multiprogramación • Asignar a cada proceso sólo la memoria que necesita 200 200 200 200 400 Diversas tareas se ejecutan en direcciones distintas 500 200 C 200 C 200 C 200 C C 800 100 B 100 B 100 B ¿Como asegurarse que un proceso no invada la 250 150 E dirección de otro? 300 A 300 B 150 Tres posibles soluciones: 150 D D D 224 S.O. A S.O. S.O. S.O. S.O. 1. Usar un offset por dirección/partición 2. Dividir memoria en bloques y asignar códigos A300K C200K D150K E225K protección B100K Fragmentación externa ¿ Solución ? E esperando 3. Usar registros especialesDiaz Muñante Jorge 5
  6. 6. Sistemas Operativos Protección de memoria Intercambio 2175 10000 Retiro temporal de memoria de procesos y su posterior incorporación para continuar con su ejecución Limite Base Área de Intercambio – Zona de almacenamiento secundario dedicada a si guardar temporalmente los procesos Dir Dir. 10343 CPU Logica <d + Fisica intercambiados Intercambiador 343 no Memoria – Trabaja con el planificador a medio plazo – El planificador implementa la política y el Error intercambiador el mecanismo para llevarla a cabo. Intercambio Estrategia de Colocación Usadas para determinar donde se va a ubicar el proceso dentro de la memoria principal Sistema Operativo Residente Tipos de estrategias Swap out Proceso1 Primer ajuste (First fit) Espacio Mejor ajuste (best fit) Del Peor ajuste (worst fit) usuario Swap in Proceso2 Siguiente ajuste (next fit) Memoria Principal Memoria Secundaria Estrategia First Fit Estrategia First-Fit Se revisa la lista de huecos libres hasta encontrar el primer espacio lo Lista Procesos Entrantes suficiente grande El espacio se divide en 02 partes, una para el proceso, y otra para la Proceso 13K memoria no utilizada, salvo un ajuste perfecto. 0 a Sistema Operativo b Hueco 16K Lista Memoria Libre EN USO c Hueco 14K Dirección Inicio Tamaño d a 16K EN USO e c 14K f Hueco 5K e 5K EN USO g 30K g Hueco 30K hDiaz Muñante Jorge 6
  7. 7. Sistemas Operativos Estrategia First Fit Estrategia Best Fit Se revisa la lista de huecos libres hasta encontrar el primer espacio lo Busca en toda la lista, y elige el mínimo hueco suficientemente grande suficiente grande como para ubicar el procesos. El espacio se divide en 02 partes, una para el proceso, y otra para la Solucion a la busqueda. Ordenarlo en forma ascendente. memoria no utilizada, salvo un ajuste perfecto. Estrategia Best-Fit Estrategia Best Fit Lista Procesos Entrantes Busca en toda la lista, y elige el mínimo hueco suficientemente grande como para ubicar el procesos. Proceso 13K Solucion a la busqueda. Ordenarlo en forma ascendente. 0 Desventaja a Sistema Op. Hueco 16K – Gasto extra en ordenar la lista b Lista Memoria Libre c EN USO Ventaja Hueco 14K Dirección Inicio Tamaño d EN USO – Se desperdicia menos memoria. ¿es correcto? e e 5K f Hueco 5K c 14K EN USO a 16K g g 30K Hueco 30K h Estrategia Worst Fit Estrategia Worst-Fit Se elige el hueco mas grande disponible. Lista Procesos Entrantes Proceso 13K 0 a Sistema Op. b Hueco 16K Lista Memoria Libre EN USO c Hueco 14K d Dirección Inicio Tamaño EN USO g 30K e Hueco 5K f a 16K EN USO g c 14K Hueco 30K e 5K hDiaz Muñante Jorge 7
  8. 8. Sistemas Operativos Estrategia Worst Fit Estrategia Next-Fit Se elige el hueco mas grande disponible. Lista Procesos Entrantes Ventaja Proceso 13K – Aumenta la probabilidad de que el nuevo hueco 0 creado sea lo suficiente grande para albergar un a Sistema Op. proceso. b Hueco 16K EN USO Desventaja c d Hueco 14K – Gasto extra en ordenar la lista en forma e EN USO Hueco 5K descendente. f EN USO g Hueco 30K h La fragmentación Condensacion de Huecos Número, posición y tamaño particiones varía en forma dinámica conforme el sistema es utilizado. S.Oper S.Oper S.Oper - Uso particiones variables provoca “huecos” en la memoria Otros Otros Otros principal. Procesos Procesos Procesos - Dos técnicas: Libre 30K Libre 30K Libre 90K 1. Condensación de huecos Proceso 50K Libre 50K 2. Compactación del almacenamiento. Libre 10K Libre 10K Otros Otros Otros Procesos Procesos Procesos Sin condensar Condensación Compactación de memoria Compactacion de memoria S.Oper S.Oper Consume recursos del sistema Proceso A Proceso A Debe detenerse para realizar el proceso 80k 80k Involucra la reubicación de los programas Libre 30K Proceso B La frecuencia de la compactación puede ser alta. 40K Proceso B 40K Proceso C 60k Libre 40K Proceso C ¿ Siempre ? Libre 70K 60k Compactada ¿ De vez en ¿ Cuándo ? cuando ?Diaz Muñante Jorge 8
  9. 9. Sistemas Operativos Administración de particiones Mapa de bits Mecanismo usado saber cuales particiones estan libres y cuales estan ocupadas. A B C D 0 8 16 24 32 40 48 Existen tres mecanismos: 1. Mapas de bits 2. Listas enlazadas 11111111 10000001 3. Sistema de los asociados 11110000 11111111 11000111 11111111 1 1 ... Listas Enlazadas Sistema Buddy Proceso 32kB proceso A B C D Proceso 128kB 0 8 16 24 32 40 48 256kB Proceso 128kB 128kB 256kB Proceso 32kB 32kB 64kB 32kB P 0 9 H 9 6 P 15 5 128kB 64kB 512kB Proceso 256kB 256kB H 20 4 P 24 10 H 34 3 1MB Proceso 256kB P 37 13 256kB 512kB Longitud 256kB Comienzo ProcesoDiaz Muñante Jorge 9

×