4. Particiones de Memoria Particiones de igual tamaño. Cada partición contiene el espacio de direcciones de un programa. Los proceso de tamaño menor o igual al de la partición pueden ser ejecutados. Útil si son conocidas las necesidades de MEM de los procesos.
Problemas Programas muy grandes: No partición suficiente. Diseño mediante overlays. Uso ineficiente de MEM: Programas muy pequeños ocuparán una partición completa. Problemas si el proceso crece.
4.2 Carga de programas: Particiones estáticas (IBM OS/360).
4. Particiones de Memoria Las particiones pueden tener distinto tamaño. Depende de las características del sistema. Distribución de las necesidades de los procesos. Ej.: Particiones de 8, 32, 32, 120, 520Kprocesos con necesidades de 5, 9, 9, 35 y 120.=> utilización del 25.7% Los procesos pueden ser clasificados según su uso de MEM para acceder a un tamaño de partición.=> no óptimo.
4.2.1 Carga de programas: Particiones estáticas de varios tamaños. El número de tareas a multiprogramar es fijo (nº de particiones). Protección: Registro base => no es posible la reubicación Registro base y límite => si es posible la reubicación La información de las particiones está contenida en la PDT (tabla de descripción de particiones).
4.2.1 Carga de programas: Particiones estáticas .
Gestión de Memoria. Colas independientes: Una cola para cada partición o tipo. Los trabajos se asignan a las colas en la ejecución. Se reduce la fragmentación interna. No óptimo en espacio. Cola única: Mayor fragmentación. Todas las particiones en uso. Necesario un algoritmo de asignación a la partición.
Asignaciones Los procesos entran en la cola de entrada. El sistema los asigna en función de la MEM disponible y necesitada. La cola se ordena según el algoritmo de asignación. 4.2.1 Carga de programas: Particiones estáticas de varios tamaños.
4. Particiones de Memoria Las particiones se crean durante la ejecución del programa. El tamaño de las particiones se ajusta a los procesos. La gestión de las particiones se realiza mediante tablas: Zonas de MEM asignada. Zonas de MEM libre.
No existe fragmentación interna (o es pequeña). Necesaria compactación de MEM: Agrupación de la MEM libre. 4.3 Carga de programas: Particiones Dinámicas.
4. Particiones de Memoria Sistema con tres procesos de 8k, 32 k y 120k. Nº Tamaño Direcc. Situación 8k 312 Asign. 32k 320 Asign. — —- Vacía. 120k 384 Asign. Nº Tamaño Direcc. Situación 32k 352 Utilizable 520k 504 Utilizable. —- —- Vacía. —- —- Vacía. Terminan los procesos P2 y P3. Llegan P4 (24k), P5 (128k) y P6 (256k). 1 (Gp:) P1 8K (Gp:) P2 32K (Gp:) P3 120 K (Gp:) S.O. (Gp:) 0
312
320
352
384
504
632
888 (Gp:) P4 24K (Gp:) P5 128K (Gp:) P6 256 K
(Gp:) P1 8K (Gp:) P2 32K (Gp:) P3 120 K (Gp:) S.O.
0
312
320
352
384
504
Nº Tamaño Direcc. Situación 32k 320 Usable. 128k 376 Usable. 136k 888 Vacía. Nº Tamaño Direcc. Situación1 8k 312 Asign.2 32k 320 Vacía.3 24k 352 Asign.4 8k 376 Vacía.5 120k 384 Vacía.6 128k 504 Asign.7 256k 632 Asign.8 136k 888 Vacía. (Gp:) P1 8K (Gp:) P2 32K (Gp:) P3 120 K (Gp:) S.O.
0
312
320
352
384
504
632
888 P4 24K P5 128K P6 256 K 32 K P1 8K S.O. 0
312
320
352
384
504
632
888 P4 24K P5 128K P6 256 K 128K 2
4. Particiones de Memoria Los procesos para ejecutarse han de estar en MEM. Multiprogramación: Una planificación rápida necesita varios procesos en MEM. Los procesos figuran en una cola. El proceso planificado es cargado en MEM. Si es necesario se descarga otro proceso (inactivo, sin I/O pendientes). Necesidades de MEMs mayores que las MEMs existente. Los procesos que tardarán en ser usados se guardan en el HD. El espacio de memoria del proceso se vuelca al HD. Organización en particiones. La posición de regreso depende de la capacidad de reubicación del sistema. En algunos sistemas se asigna un área de swapping durante la creación del proceso. El tiempo de intercambio es prácticamente el de transferencia, que es proporcional a la MEM intercambiada. El swapping es muy costoso. En sistemas UNIX se activa para un umbral de carga. 4.3.2 Swapping
4. Particiones de Memoria Generalización de la asignación de particiones variables. Los bloques de un proceso pueden estar en áreas distintas y no contiguas (segmentos). Se permite la reubicación dinámica. Fácil protección y uso compartido. Direccionamiento: segmento:desplazamiento.
Uso compartido de segmentos.
Ventajas: No tiene fragmentación interna. La memoria asignada puede crecer dinámicamente (reg. límite). Uso compartido de segmentos. Protección: Registros base y límite. Permisos distintos a cada segmento. Inconvenientes: Necesidad de compactación. Tamaño fijo de un segmento (según los sistemas, 64k) Acceso lento a MEM si el hardware no lo soporta.
4.4 Carga de programas: Segmentación
4. Particiones de Memoria Proceso crece: Se usa memoria contigua. Se desplaza a un hueco suficiente. Swapping de procesos para liberar espacio. En caso contrario: Espera o muerte.
Se puede reservar una zona de MEM para el posible crecimiento. 4.4.1 Carga de programas: Segmentación.
4. Particiones de Memoria División de la MEM en particiones fijas. Cada proceso se distribuye en varias de estas particiones. Tamaño de las particiones es pequeño en relación con el tamaño de los procesos. Los trozos del proceso se denominan páginas y los trozos libres de memoria se denominan marcos. El sistema operativo mantiene una tabla de páginas para cada proceso:Muestra la posición del marco de cada página del proceso. La dirección de la memoria consta de un número de página y de un desplazamiento dentro de la página.
(Gp:) Proceso1
(Gp:) Proceso2
Tabla páginas. Proc1 Tabla páginas. Proc2 4.5 Carga de programas: Paginación.
4. Particiones de Memoria Mapas de bits. Listas enlazadas. Tablas de particiones.
4.6 Gestión de las Asignaciones: Métodos.
4. Particiones de Memoria Mapa de Bits 11111000 11111111 11001111 11111000 Lista enlazada. P, 0, 5 ,0 H, 5, 3 ,0 P, 8, 6 , 0 P, 14, 4, 0 H, 18, 2, 0 P, 20, 6, 0 P, 26,3,0 H, 29, 3, 0 (Gp:) A B C D (Gp:) E
(Gp:) P/H (Gp:) tamaño (Gp:) Inic (Gp:) Puntero
4.6 Asignaciones: Métodos.
4. Particiones de Memoria Mapas de bits. Cada zona de MEM está representada por un bit: 1 => ocupada. 0 => libre. B.M. Grande => Consumo. Particiones pequeñas => poca fragmentación. B.M. pequeño => Poco consumo. Particiones grandes => gran fragmentación.
4.6 Asignaciones: Métodos.
4. Particiones de Memoria Listas enlazadas. La MEM se presenta como una lista enlazada de segmentos. Se indica si es hueco (h) o proceso (p), dirección de inicio, longitud, puntero al siguiente elemento.
(Gp:) P/H (Gp:) tamaño (Gp:) Inic (Gp:) Puntero
4.6 Asignaciones: Métodos.
4. Particiones de Memoria Mejora en prestaciones si se mantienen listas de huecos y de procesos por separado. Búsquedas rápidas. Actualizaciones lentas. Mayores optimizaciones se obtienen mediante la ordenación de las listas de huecos por tamaño. 4.6.1 Asignaciones: Aceleración
4. Particiones de Memoria El espacio entero disponible para la asignación se trata como un solo bloque de tamaño 2U. Si se hace una solicitud de tamaño s tal que 2U-1 < s <= 2U, entonces el bloque entero se asigna: En otro caso, el bloque se divide en dos colegas de igual tamaño. Este proceso continúa hasta que el bloque más pequeño sea mayor o igual que s generándose. The buddy system Ventaja: Al liberar MEM solo se ha de buscar en la lista correspondiente para consolidaciones. Inconveniente: Fragmentación interna. Redondeo a 2n. Sistema de colegas (Buddy system) 4.7 Asignaciones: Métodos
4.7 Asignaciones: Métodos. Sistema de colegas (Buddy system) 4. Particiones de Memoria
4. Particiones de Memoria The buddy system: Gestión de las zonas de MEM y huecos en potencias de 2. Listas separadas según tamaño: 1,2, 4, 8, 186, 32, 64 , etc. (1MB => 21 listas). Inicio: todas las listas vacías (excepto la total). Ej. Sistema con 1MB. Entrada de un proceso 70k => 27 = 128k Se ha de crear una partición del tamaño. (Gp:) 512k (Gp:) 256k (Gp:) 128k (Gp:) P1-70k (Gp:) 1MB
Sistema de colegas (Buddy system) 4.7 Asignaciones: Métodos.
4. Particiones de Memoria The buddy system. Llega P2 de 35k => 26 = 64k. (Gp:) 512k (Gp:) 256k (Gp:) 128k (Gp:) P1-70k (Gp:) 1MB (Gp:) P2-35k
Llega P3 de 80k => 27 = 128k (Gp:) 512k (Gp:) 256k (Gp:) 128k (Gp:) P1-70k (Gp:) 1MB (Gp:) P2-35k (Gp:) P3-80k
Sistema de colegas (Buddy system) 4.7 Asignaciones: Métodos.
4. Particiones de Memoria The Buddy system. Se consolidad particiones potencia de 2. P1 sale: Libera todo el bloque de 128k. (lista de bloques de 128k). P4 de 60k llega. => 26=64k. (Gp:) 512k (Gp:) 256k (Gp:) 128k (Gp:) 1MB (Gp:) P2-35k (Gp:) P3-80k (Gp:) P4-60k
4.7 Asignaciones: Métodos. Sistema de colegas (Buddy system)
4. Particiones de Memoria The Buddy system. Se consolidan particiones potencia de 2. Sale P2. P4-60k P3-80k 512k 256k 128k 1MB P3-80k P4-60k 4.7 Asignaciones: Métodos. Sistema de colegas (Buddy system)
1 bloque de 1 megabyte Solicitud de 100K Solicitud de 240K Solicitud de 64K Solicitud de 256K Solicitud de 75K Liberación de B Liberación de A Liberación de C Liberación de E Liberación de D Figura 7.6. Ejemplo del sistema de colegas.
4.7 Asignaciones: Métodos. Sistema de colegas (Buddy system) 4. Particiones de Memoria
Página anterior | Volver al principio del trabajo | Página siguiente |