La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

G ESTIÓN DE LA MEMORIA Paginación y segmentación.

Presentaciones similares


Presentación del tema: "G ESTIÓN DE LA MEMORIA Paginación y segmentación."— Transcripción de la presentación:

1 G ESTIÓN DE LA MEMORIA Paginación y segmentación

2 Sistema Operativo Disponible para múltiples procesos En la mayoría de los esquemas de gestión de memoria, se puede asumir:

3 G ESTIÓN DE LA MEMORIA La operación principal de la gestión de la memoria es traer los procesos a la memoria principal para que el procesador los pueda ejecutar. En sistemas miltiprogramados modernos, esto implica el uso de técnicas básicas de memoria virtual : paginación y segmentación.

4 G ESTIÓN DE LA MEMORIA Técnicas de gestión de memoria 1. Particionamiento fijo2. Particionamiento dinámico3. Paginación sencilla4. Segmentación sencilla

5 G ESTIÓN DE LA MEMORIA Técnicas de gestión de memoria 1. Particionamiento fijo2. Particionamiento dinámico3. Paginación sencilla4. Segmentación sencilla

6 G ESTIÓN DE LA MEMORIA Técnicas de gestión de memoria 1. Particionamiento fijo2. Particionamiento dinámico3. Paginación sencilla4. Segmentación sencilla

7 T ÉCNICAS DE GESTIÓN DE MEMORIA TécnicaDescripciónVentajasDesventajas Particionamiento fijo  La memoria principal se divide en particiones estáticas en tiempo de generación del sistema.  Un proceso se puede cargar en una partición con igual o superior tamaño.  Sencilla de implementar.  Poca sobrecarga para el sistema operativo.  Uso ineficiente de la memoria, debido a la fragmentación interna.  Debe fijarse el número máximo de procesos activos.

8 T ÉCNICAS DE GESTIÓN DE MEMORIA TécnicaDescripciónVentajasDesventajas Particionamiento dinámico  Las particiones se crean de forma dinámica, de tal forma que cada proceso se carga en una partición del mismo tamaño que el proceso.  No existe fragmentación interna.  Uso más eficiente de memoria principal.  Uso ineficiente del procesador, debido a la necesidad de compactación para evitar la fragmentación externa.

9 G LOSARIO DE TÉRMINOS Fragmentación interna Fragmentación interna es el espacio interno malgastado debido al hecho de que el bloque de datos cargado es menor que la partición. Fragmentación externa Fragmentación externa el espacio externo malgastado debido al hecho de que el bloque de datos cargado es mayor que la partición. Compactación es una técnica que sirve para eliminar la fragmentación externa: de vez en cuando, el sistema operativo desplaza los procesos en memoria, de forma que se encuentren contiguos y de este modo toda la memoria libre se encontrará unida en un bloque.

10 P AGINACIÓN

11 T ÉCNICAS DE GESTIÓN DE MEMORIA TécnicaDescripciónVentajasDesvemtajas Paginación sencilla  La memoria principal se divide en marcos del mismo tamaño.  Cada proceso se divide en páginas del mismo tamaño que los marcos.  Un proceso se carga a través de la carga de todas sus paginas en marcos disponibles, no necesariamente contiguos. No existe fragmentación externa. Existe una pequeña cantidad de fragmentación interna.

12 P AGINACIÓN : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Memoria principal Marcos libres de tamaño fijo Número de marcos disponibles: La memoria principal se divide en marcos del mismo tamaño.

13 P AGINACIÓN : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Memoria principal Marcos libres de tamaño fijo Número de marcos disponibles: 15 La memoria principal se divide en marcos del mismo tamaño.

14 P AGINACIÓN Memoria principal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Almacenamiento Disco Duro Procesos

15 P AGINACIÓN 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Memoria principal Proceso A Número de paginas del proceso: Cada proceso se divide en páginas del mismo tamaño que los marcos. A.0 A.1 A.2 A.3 Paginas del mismo tamaño que los marcos.

16 P AGINACIÓN 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Memoria principal Proceso A Número de paginas del proceso: 4 Cada proceso se divide en páginas del mismo tamaño que los marcos. A.0 A.1 A.2 A.3 Paginas del mismo tamaño que los marcos.

17 P AGINACIÓN El proceso A, almacenado en disco, está formado por cuatro páginas. En el momento de cargar este proceso, el sistema operativo encuentra cuatro marcos libres y carga las cuatro páginas del proceso A en dicho proceso. Almacenamiento Disco Duro Proceso A (formado por cuatro páginas) Memoria principal 00 A.0 11 A.1 22 A.2 33 A.3 44 55 66 77 88 99 10 11 12 13 14

18 P AGINACIÓN Memoria principal 00 A.0 0 11 A.1 1 22 A.2 2 33 A.3 3 444 B.0 555 B.1 666 B.2 777 888 999 10 11 12 13 14 Carga el proceso A Carga el proceso B

19 P AGINACIÓN Memoria principal 00 A.0 0 0 11 A.1 1 1 22 A.2 2 2 33 A.3 3 3 444 B.0 4 555 B.1 5 666 B.2 6 7777 C.0 8888 C.1 9999 C.2 10 C.3 11 12 13 14 Carga el proceso A Carga el proceso B Carga el proceso C

20 P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A.3 4 B.0 5 B.1 6 B.2 7 C.0 8 C.1 9 C.2 10 C.3 11 12 13 14 El proceso B se suspende y deja la memoria principal.

21 P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A.3 4 5 6 7 C.0 8 C.1 9 C.2 10 C.3 11 12 13 14 El proceso B se suspende y deja la memoria principal. Todos los procesos de la memoria principal se bloquean.

22 P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A.3 4 5 6 7 C.0 8 C.1 9 C.2 10 C.3 11 12 13 14 El sistema operativo necesita traer un nuevo proceso, el proceso D, que está formado por cinco páginas.

23 P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A.3 4 5 6 7 C.0 8 C.1 9 C.2 10 C.3 11 12 13 14 El sistema operativo necesita traer un nuevo proceso, el proceso D, que está formado por cinco páginas. Observamos que no hay suficientes marcos contiguos sin utilizar para ubicar el proceso D.

24 P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A.3 4 5 6 7 C.0 8 C.1 9 C.2 10 C.3 11 12 13 14 El sistema operativo necesita traer un nuevo proceso, el proceso D, que está formado por cinco páginas. Observamos que no hay suficientes marcos contiguos sin utilizar para ubicar el proceso D. ¿Esto evitará que el sistema operativo cargue el proceso D?

25 P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A.3 4 5 6 7 C.0 8 C.1 9 C.2 10 C.3 11 12 13 14 El sistema operativo necesita traer un nuevo proceso, el proceso D, que está formado por cinco páginas. Observamos que no hay suficientes marcos contiguos sin utilizar para ubicar el proceso D. ¿Esto evitará que el sistema operativo cargue el proceso D?

26 P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A.3 4 D.0 5 D.1 6 D.3 7 C.0 8 C.1 9 C.2 10 C.3 11 D.4 12 D.5 13 14 El sistema operativo necesita traer un nuevo proceso, el proceso D, que está formado por cinco páginas. Un proceso se carga a través de la carga de todas sus paginas en marcos disponibles, no necesariamente contiguos.

27 P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A.3 4 D.0 5 D.1 6 D.3 7 C.0 8 C.1 9 C.2 10 C.3 11 D.4 12 D.5 13 14 La tabla de páginas muestra la ubicación del marco por cada página del proceso. El sistema operativo mantiene un tabla de páginas por cada proceso. Tabla de páginas del proceso A 00 11 22 33 Tabla de páginas del proceso B 0---- 1 2 Tabla de páginas del proceso C 07 18 29 310 Tabla de páginas del proceso D 04 15 26 311 412 Lista de marcos libre 13 14

28 P AGINACIÓN Con paginación, la traducción de direcciones lógicas a físicas las realiza también el hardware del procesador. Ahora el procesador debe conocer cómo acceder a la tabla de páginas del proceso actual. Dirección lógica (número de página, desplazamiento), Dirección física (número de marco, desplazamiento)

29 P AGINACIÓN Podemos afirmar que con a paginación, las particiones son bastante pequeñas; un programa podría ocupar más de una partición; y dichas particiones no necesitan ser contiguas. Se recomienda que el tamaño de la página y por lo tanto el tamaño del marco debe ser una potencia de 2.

30 G LOSARIO DE TÉRMINOS Dirección lógica Dirección lógica es una referencia a una ubicación de memoria independiente de la asignación actual de datos a la memoria. Dirección relativa Dirección relativa esta dirección se expresa como una ubicación relativa a algún punto conocido, normalmente un valor en un registro del procesador. Dirección física o dirección absoluta, es una ubicación real de la memoria principal.

31 EJEMPLO Proceso de usuario de 2700 bytes Dirección relativa = 1502 0000010111011110 Dirección lógica = (Nº página; Desplazamiento) = (1; 478) 000001 | 0111011110 Página 0 Página 1 Página 2 478 Paginación Tamaño de página = 1K Direcciones de 16 bits. Con una página de 1K, se necesita un campo de desplazamiento de 10 bits, dejando 6 bits para el número de páginas: 2 6 = 64 páginas de 1K. La dirección relativa 1502 corresponde a un desplazamiento de 478 (0111011110) en la página 1 (000001), que forma el mismo número de 16 bits, 0000010111011110

32 P AGINACIÓN : Dirección lógica de 16 bits Página de 6 bitsDesplazamiento de 10 bits 0000010111011110 0001100111011110 Dirección física de 16 bits 0000101 1000110 2011001 Tabla de páginas de proceso Dirección lógica 0000010111011110, corresponde pagina 1, desplazamiento 478. Supóngase que esta página reside en el marco de memoria principal 6 (000110). Por lo tanto dirección fisca = (Nº marco; desplazamiento) = (6; 478) = 0001100111011110.

33 T ÉCNICAS DE GESTIÓN DE MEMORIA TécnicaDescripciónVentajasDesventajas Paginación sencilla  La memoria principal se divide en marcos del mismo tamaño.  Cada proceso se divide en páginas del mismo tamaño que los marcos.  Un proceso se carga a través de la carga de todas sus paginas en marcos disponibles, no necesariamente contiguos. No existe fragmentación externa. Existe una pequeña cantidad de fragmentación interna.

34 Paginación sencilla Paginación con memoria virtual Memoria principal particionada en fragmentos pequeños de un tamaño fijo llamados marcos. Programa dividido en páginas por el compilador o el sistema de gestión de la memoria. Fragmentación interna dentro de los marcos. Sin fragmentación externa. El S.O. debe mantener una tabla de paginas por cada proceso mostrado en el marco que se encuentra cada página ocupada. El S.O. debe mantener una lista de marcos libres. El procesador utiliza el número de página, desplazamiento para calcular direcciones absolutas. Todas las páginas del proceso deben encontrarse en la memoria principal para que el proceso se pueda ejecutar, salvo que se utilicen solapamientos (overlays) No se necesitan mantener todas las páginas del proceso en los marcos de la memoria principal para que el proceso se ejecute. Las páginas se pueden leer bajo demanda. La lectura de una página a memoria principal puede requerir la escritura de una página a disco.

35 S EGMENTACIÓN

36 T ÉCNICAS DE GESTIÓN DE MEMORIA TécnicaDescripciónVentajasDesventajas Segmentación sencilla  Cada proceso se divide en segmentos.  Un proceso se carga cargando todos sus segmentos en particiones dinámicas, no necesariamente contiguas.  No existe fragmentación interna.  Mejora la utilización de la memoria.  Reduce la sobrecarga respecto al particionamiento dinámico. Existe fragmentación externa.

37 SEGMENTACIÓN La diferencia entre la segmentación y el particionamiento dinámico, es: Con la segmentación un programa podría ocupar más de una partición, y estas particiones no necesitan ser contiguas. La segmentación elimina la fragmentación interna, pero sufre la fragmentación externa, sin embargo, debido a que el proceso se divide en varias piezas más pequeñas, la fragmentación externa debería ser menor.

38 S EGMENTACIÓN Tabla de segmentos Dirección base del segmento Contiene la dirección física inicial del lugar donde el segmento reside dentro de la memoria. Limite del segmento Especifica la longitud del segmento. Dirección lógica Número de segmentos Se utiliza como índice para la tabla de segmentos. Desplazamiento Debe estar comprendido entre 0 y el limite del segmento.

39 SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento 1 1400 2400 3200 4300 4700 5700 6300 6700 Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) 0 1 2 3 4 Número de segmentos:

40 SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento 1 1400 2400 3200 4300 4700 5700 6300 6700 Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) 0 1 2 3 4 Número de segmentos: 5

41 SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento 1 1400 2400 3200 4300 4700 5700 6300 6700 Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) 010001400 1 2 3 4 Número de segmentos: 5

42 SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento 1 1400 2400 3200 4300 4700 5700 6300 6700 Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) 010001400 14006300 24004300 3 4 Número de segmentos: 5

43 SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento 1 1400 2400 3200 4300 4700 5700 6300 6700 Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) 010001400 14006300 24004300 311003200 410004700 Número de segmentos: 5

44 SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento 1 1400 2400 3200 4300 4700 5700 6300 6700 Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) 010001400 14006300 24004300 311003200 410004700 Número de segmentos: 5 Una referencia al byte 53 del segmento 2 se corresponderá con la posición:

45 SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento 1 1400 2400 3200 4300 4700 5700 6300 6700 Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) 010001400 14006300 24004300 311003200 410004700 Número de segmentos: 5 Una referencia al byte 53 del segmento 2 se corresponderá con la posición: 4300 + 53 = 4353

46 SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento 1 1400 2400 3200 4300 4700 5700 6300 6700 Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) 010001400 14006300 24004300 311003200 410004700 Número de segmentos: 5 Una referencia al byte 300 del segmento 3 se corresponderá con la posición:

47 SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento 1 1400 2400 3200 4300 4700 5700 6300 6700 Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) 010001400 14006300 24004300 311003200 410004700 Número de segmentos: 5 Una referencia al byte 300 del segmento 3 se corresponderá con la posición: 3200 + 300 = 3500

48 SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento 1 1400 2400 3200 4300 4700 5700 6300 6700 Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) 010001400 14006300 24004300 311003200 410004700 Número de segmentos: 5 Una referencia al byte 1222 del segmento 0 se corresponderá con la posición:

49 SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento 1 1400 2400 3200 4300 4700 5700 6300 6700 Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) 010001400 14006300 24004300 311003200 410004700 Número de segmentos: 5 Una referencia al byte 1222 del segmento 0 se corresponderá con la posición: Genera un interrupción al S.O.

50 Segmentación sencilla Segmentación con memoria virtual Memoria principal no particionada. Los segmentos de programa se especifican por el programador al compilar (por ejemplo, la decisión se toma por parte del programador) Sin fragmentación interna. Fragmentación externa. El S.O. debe mantener una tabla de segmentos por cada proceso mostrando la dirección de carga y la longitud de cada segmento. El S.O. debe mantener una lista de huecos en la memoria principal. El procesador utiliza el número de segmento, desplazamiento para calcular direcciones absolutas. Todos los segmentos del proceso deben encontrarse en la memoria principal para que el proceso se puede ejecutar, salvo que se utilicen solapamientos (overlays) No se necesitan mantener todos los segmentos del proceso en la memoria principal para que el proceso se ejecute. Los segmentos se pueden leer bajo demanda. La lectura de un segmento a memoria principal puede requerir la escritura de uno o más segmentos a disco.

51 Gracias


Descargar ppt "G ESTIÓN DE LA MEMORIA Paginación y segmentación."

Presentaciones similares


Anuncios Google