Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Introducción a la memoria (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

Dirección relativa
Dirección
absoluta
Interrupción al
sistema operativo
Registro base
Registro límite
Sumador
Comparador
Programa
Datos
Pila
Bloque de control de proceso
Imagen de un proceso
en la memoria principal
Soporte de hardware para la reubicación.

Monografias.com

Gestión de Memoria.
Fragmentación Interna:
Generada por la diferencia entre el tamaño de una partición de MEM. y el módulo de programa situado en ella.
Provocada al no llenar la partición.
Ej: MEM de 10k dividida en regiones de 2k. Un módulo de 1.5 k desperdicia 0.5 k.

Fragmentación Externa:
Por la mala gestión del espacio libre entre procesos: Espacios entre procesos.
Provocada por el espacio muerto entre particiones.
Ej.: Cuatro procesos dejando espacios entre si de 2, 5 y 7 k. La llegada de un proceso requiriendo 14k no atendida aun teniendo ese espacio libre en MEM.

(Gp:) S.O.
(Gp:) Proceso
(Gp:) Partición
vacía

(Gp:) S.O.
(Gp:) Proceso
(Gp:) Proceso

Fragmentación 3.

Monografias.com

4. Particiones de Memoria: Tipos
Contigua simple.
Particiones estáticas.
Particiones estáticas: varios tamaños.
Particiones dinámicas.
Segmentación.
Paginación.
Carga de programas: Tipos.

Monografias.com

4. Particiones de Memoria
Un solo proceso en MEM.
No se permite la multiprogramación.
División en: S.O., área de programa y área sin uso.
Protección: limitado el acceso a la zona del sistema operativo (posición fija).
(Gp:) S.O.
(Gp:) Proceso
(Gp:) Sin uso

4.1 Carga de programas : Contigua simple.

Monografias.com

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).

Monografias.com

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).

Monografias.com

4.2.1 Carga de programas: Particiones estáticas .

Monografias.com

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.

Monografias.com

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.

Monografias.com

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

Monografias.com

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

Monografias.com

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

Monografias.com

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

Monografias.com

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.

Monografias.com

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.

Monografias.com

4. Particiones de Memoria
Mapas de bits.
Listas enlazadas.
Tablas de particiones.

4.6 Gestión de las Asignaciones: Métodos.

Monografias.com

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.

Monografias.com

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.

Monografias.com

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.

Monografias.com

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

Monografias.com

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

Monografias.com

4.7 Asignaciones: Métodos.
Sistema de colegas (Buddy system)
4. Particiones de Memoria

Monografias.com

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.

Monografias.com

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.

Monografias.com

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)

Monografias.com

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)

Monografias.com

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.

Monografias.com

4.7 Asignaciones: Métodos.
Sistema de colegas (Buddy system)
4. Particiones de Memoria

Monografias.com

4. Particiones de Memoria
Nº procesos = 2 * Nº huecos.
Asimetria por fundir huecos adyacentes.
F: % mem en huecos
S : tamaño medio de los procesos.
kS : tamaño medio de los huecos.
M: mem total.
Nº huecos => n/2
Mem en h => (n/2)ks=m-ns
Fracción: f = (MEM Proc/ m) = (nks/2m)
F = k/(k+2). (k cercano a ½ => 20% de uso).
4.8 Análisis de la gestión.

Monografias.com

5. Algoritmos de Asignaciones
First fit.
Se busca cualquier hueco en el que quepa el proceso.
Por cada asignación se crea una entrada de proceso y otra de hueco.
Rápido.
Next fit.
Si el flujo de llegada de procesos es uniforme todos con las mismas necesidades de MEM.
Comienza donde se realizó la última asignación.
Best fit.
Busca en toda la lista el hueco que mejor se adapta a las necesidades (más pequeño de los posibles).
Lento (busca siempre toda la lista).
Desaprovecha MEM por dejar huecos muy pequeños.
Worst fit.
Busca el espacio vacío más grande.
El hueco sobrante es grande: utilizable.

5.1 Algoritmos de Asignaciones.

Monografias.com

(Gp:) Último bloque
asignado (14K)
(Gp:) Primer ajuste
(Gp:) Mejor ajuste
(Gp:) Bloque asignado
(Gp:) Bloque libre
(Gp:) Siguiente ajuste
(Gp:) (a) Antes
(Gp:) (b) Después
(Gp:) 8M
(Gp:) 8M
(Gp:) 12M
(Gp:) 12M
(Gp:) 22M
(Gp:) 18M
(Gp:) 8M
(Gp:) 8M
(Gp:) 6M
(Gp:) 6M
(Gp:) 6M
(Gp:) 2M
(Gp:) 14M
(Gp:) 36M
(Gp:) 14M
(Gp:) 20M

Figura 7.5. Ejemplo de una configuración de memoria antes y después de asignar
un bloque de 16 Mbytes.

Monografias.com

5. Algoritmos de Asignaciones
Listas separadas:
Los algoritmos pueden ser acelerados mediante listas separadas de huecos y procesos.
Los alg. Sólo buscan en la lista de huecos.
Actualizaciones de las listas son complejas.
Ordenación según el tamaño.
Mejora en el Best fit.
Quick fit:
Listas separadas para los tamaños más usados.
Las búsquedas son rápidas.
Actualizaciones lentas.
5.2 Algoritmos de Asignaciones: Aceleración.

Monografias.com

Memoria Virtual
SubTema 6

Monografias.com

6. Memoria Virtual: Definición y conceptos
Conceptos de MV [Fotheringhan 1961]
Principio de Cercanía.
Working-Set
Fallo de página

Monografias.com

6. Memoria Virtual: Definición y conceptos
Fotheringham, 1961: "El programa (pila, datos, programa) puede ser mayor que la MEM. El S.O. mantiene las partes en uso del programa en MEM y el resto en el HD. Se tiene una memoria virtual."

Posible gracias al Principio de Cercanía: Las referencias a los datos y al programa dentro de un proceso tienden a agruparse.

Se pueden mantener más procesos en la memoria principal:
Se cargan sólo algunos fragmentos de un proceso particular.
Con tantos procesos en la memoria principal es muy probable que uno de los procesos esté en estado Listo en un instante determinado.
Es posible que un proceso sea más grande que toda la memoria principal.

El sistema operativo comienza trayendo sólo unos pocos fragmentos del programa.
Working set: El conjunto residente es la parte de un proceso que está realmente en la memoria principal.

Monografias.com

6. Memoria Virtual: Definición y conceptos
Si el procesador encuentra una dirección lógica que no está en la memoria principal:
Genera una interrupción que indica un fallo de acceso a la memoria.
El sistema operativo pone al proceso interrumpido en estado Bloqueado.
La solución tradicional para programas mayores que la MEM física.
Overlays:
Distribución del programa en módulos cargados ségún necesidades.
Control: El programador.

Fotheringham, 1961: "El programa (pila, datos, programa) puede ser mayor que la MEM. El S.O. mantiene las partes en uso del programa en MEM y el resto en el HD. Se tiene una memoria virtual."

El programa se ejecuta hasta llegar a zona de programa no presente en MEM.
Fallo de página para cargar la página.
La CPU ha de poder retomar la ejecución:
Transacciones.
Anticipo de fallos.

Monografias.com

7. Memoria Virtual: Soporte
Tiene que existir un soporte de hardware para la paginación y la segmentación.
El sistema operativo debe incluir un software para gestionar el movimiento de páginas o segmentos entre memoria secundaria y memoria principal.

Memoria virtual:
Espacio de direcciones >> MEM.
El espacio virtual dividido en páginas (512 B< página < 8 KB).
Cada página se corresponde con un marco de página.
Tamaño marco = tamaño página.
Transferencias MEM ? disco son del tamaño de la página.

Soportes de la memoria virtual.

Monografias.com

8. Tablas de páginas

Monografias.com

Tablas de páginas.
(Gp:) Tabla de
páginas del
proceso A
(Gp:) Tabla de
páginas del
proceso B
(Gp:) Tabla de
páginas del
proceso C
(Gp:) Tabla de
páginas del
proceso D
(Gp:) Lista de
marcos
libres
(Gp:) Estructuras de datos para el ejemplo anterior en el instante de tiempo (f).

8. Tablas de páginas

Monografias.com

8. Tablas de páginas: Traducción
Espacio del proceso
Espacio de memoria física
Sistema con VM de 64k
MEM de 32k.
0 010 1
001 1
110 1
000 1
100 1
011 1
000 0
000 0
000 0
101 1
000 0
111 1
000 0
000 0
000 0
000 0
La página no presente => bit de ausencia.
Su acceso genera un fallo de página.
Detiene ejecución.
Salva el contenido de un marco en el HD.
Se carga la página llamada.
Retorna la ejecución del programa en la dirección que generó el fallo.
(Gp:) 0, 4k
4, 8k
8, 12k
12, 16k
16, 20k
20, 24k
24, 28k
28, 32k
(Gp:) 0, 4k
4, 8k
8, 12k
12, 16k
16, 20k
20, 24k
24, 28k
28, 32k
32, 36k
36, 40k
40, 44k
44, 48k
48, 52k
52, 56k
56, 60k
60, 64k

Monografias.com

N.º pág.
N.º marco
Traducción de direcciones en un sistema de paginación.

Despla-
zamiento
(Gp:) N.º marco
(Gp:) Despla-
zamiento

Despla-
zamiento
Dirección virtual
Registro
Tabla de páginas
N.º página
Marco
de
página
Puntero a tabla
de páginas
Programa
Mecanismo de paginación
Memoria principal

Monografias.com

El sistema mapea la M.V. en la MEM mediante la MMU (chip o colección de ellos).
Del ejemplo:
64k => 16 bits
D 0 => Marco 2 => 8192
D 20500 (página 5) => marco 4 => 12288+20 = 12308
0101000000010100 => 100000000010100
8. Memoria Virtual: Traducción
Tabla de páginas.

Monografias.com

9. Tablas de páginas: Implementación
Dependiendo del tamaño de la tabla de páginas la gestión se realiza:
TP en registros.
TP en memoria.
TP multinivel.
MEM asociativa.
Tablas de páginas.

Monografias.com

9. Tablas de páginas: Implementación
9.1 TP en registros.
Cada proceso tiene asociado un número de registros.
Cada registro tiene asociado un marco de página.
La carga de un proceso => carga en los registros.
Durante la ejecución del proceso no se realizan accesos a MEM para traducir direcciones.
Tablas de páginas.

Monografias.com

9. Tablas de páginas: Implementación
9.2 TP en memoria.
Un registro apunta al comienzo de la TP.
Cambio de contexto => cambio de dirección del registro.
Varias referencias a MEM para traducir los accesos a MEM.
Tablas de páginas.

Monografias.com

9. Tablas de páginas: Implementación
9.3 TP multinivel
TP muy grandes (32 bits => 4GB).
TP por partes.
PT2 1024
(Gp:) TP1 10bits
(Gp:) TP2 10bits
(Gp:) Offset 12 bits

(Gp:) PT1
1024
(Gp:) 4MB
(Gp:) Dirección

4206896 = 4MB + 12292
00000000010000000011000000000100
PT1 = 1 => entre 4M y 8 M
PT2 = 3 => entre 12288 y 16383 (encima de 4M)
Offset = 4

Monografias.com

Esquema de dos niveles para direcciones de 32 bits
4 Kbytes para la
raíz de la tabla
de páginas
4 Mbytes para la
tabla de páginas
de usuario
4 Gbytes para el
espacio de direc-
ciones de usuario
Figura 8.4. Tabla de páginas jerárquica de dos niveles [JACO98a].

Monografias.com

9. Tablas de páginas: Implementación
9.4 MEM asociativa.
Por la lentitud en las traducciones.
TP grandes => en MEM, no en registros.
Localidad en las referencias a memoria.
Solución:
Componente del MMU con 8-32 entradas.
Cada entrada:
nº página virtual.
Bit de modificado.
Protección (rwx).
Marco de página (real).
Validez.
El cambio de contexto borra la MEM asoc.
Comienza limpia para cada proceso.
Solución: un juego de MEM asoc. Por proceso.

Monografias.com

9. Tablas de páginas: Implementación
Gestión mediante bits.
Bits en la TP por cada página.
Entrada en la tabla de páginas:
Nº marco
Presencia/ausencia 1/0
Protección 1 -> R // 0 -> WR
Modificado Necesario actualizar la pag al HD.
Referenciado Página en uso.
Cache Página en cache (pag. Sobre registros).

9.5 Tabla de páginas: Protección.

Monografias.com

9. Tablas de páginas: Implementación
Dirección virtual
Entrada de la tabla de páginas
(a) Sólo paginación
Número de página
Desplazamiento
(Gp:) P
(Gp:) M
(Gp:) Otros bits de control
(Gp:) Número de marco

Formatos típicos de gestión de memoria.
9.6 Entradas de la tabla de páginas

Monografias.com

9. Tablas de páginas: Implementación
Cada referencia a la memoria virtual puede generar dos accesos a la memoria:
Uno para obtener la entrada de la tabla de páginas correspondiente.
Otro para obtener el dato deseado.
Para solucionar este problema, los esquemas de memoria virtual hacen uso de un cache especial para las entradas de la tabla de páginas:
Se trata de la buffer de traducción adelantada (TLB, Translation Lookaside Buffer).
Contiene aquellas entradas de la tabla de páginas usadas hace menos tiempo.
Funciona del mismo modo que una memoria cache.

Dada una dirección virtual,
El procesador examinará primero la TLB.
Si la entrada de la tabla de páginas buscada está presente (un "acierto en la TLB"), se obtiene el número de marco y se forma la dirección real.
Si la entrada de la tabla de páginas no se encuentra (un "fallo en la TLB"), el procesador emplea el número de página como índice para buscar en la tabla de páginas del proceso y examinar la entrada correspondiente de la tabla de páginas.

9.7 Buffer de traducción adelantada.

Monografias.com

Volver a la
instrucción que falló
Rutina de gestión
de fallo de página

No


No
No
Comienzo
La CPU comprueba
la TLB
Acceder a la tabla
de páginas
Actualizar TLB
La CPU genera
la dirección física
El SO ordena
a la CPU leer
la página del disco
La CPU activa
el hardware de E/S
La página se
transfiere del disco
a memoria principal
Actualizar las tablas
de páginas
Actualizar las tablas
de páginas
¿Memoria
llena?
Figura 8.8. Funcionamiento de la paginación con buffer de traducción adelantada (TLB) [FUTH87].
¿Está la entrada
de la tabla de página
en la TLB?
¿Está la página en
memoria principal?

Monografias.com

Dirección virtual
Memoria principal
Memoria
secundaria
Buffer de
traducción adelantada
Dirección real
Despla-
zamiento
Despla-
zamiento
Acierto de TLB
Fallo de TLB
Tabla de páginas
Despla-
zamiento
Cargar
página

Fallo de página

Nº. Pág.
N.º marco
Figura 8.7. Uso de un Buffer de Traducción Adelantada.
(Gp:) N.º pág.
(Gp:) Despla-
zamiento

Monografias.com

10. Algoritmos de reemplazo
Rigen el criterio de sustitución de los marcos tras el fallo.
Máximas:
Baja sobrecarga del sistema: Velocidad en la determinación de la víctima.
No ajustes: Algoritmos independientes de la máquina (problemas por el bajo nivel).
Elección óptima: Elección de la víctima cercana a la óptima.
Evaluación respecto de cadena de referencia (aleatoria o real) y un número de marcos.

Algoritmos de reemplazo.

Monografias.com

10. Algoritmos de reemplazo
FIFO:
Primera página en entrar es la primera en salir.
Trata los marcos asignados a un proceso como un buffer circular.
Las páginas se suprimen de la memoria según la técnica de turno rotatorio (round-robin).
Es una de las políticas de reemplazo más sencillas de implementar.
Se reemplaza la página que ha estado más tiempo en la memoria.
Problema: Estas páginas pueden necesitarse de nuevo y en un plazo de tiempo corto.
Óptimo:
Víctima será la página que más tardará en ser usada.
Tiene la menor tasa de fallos.
No es implementable: Conocer los accesos futuros.
Se usa como patrón de evaluación.
Menos recientemente usada (LRU).
Se predice el futuro en función del pasado.
Victima: pag. menos usada en el pasado.
Cada pág. asociada con el instante del acceso.
Necesarias estructura de información para gestionar la historia:
Contador de tiempo / pag.
Cola de accesos/página.
Pila: con los accesos. Al principio siempre el último acceso.

Monografias.com

10. Algoritmos de reemplazo
Aproximaciones a LRU:
Bit de referencia: Bit en ON por cada acceso.
Bits de ref. adicionales: Histórico de los accesos con cadenas de bits. Se ponderan los accesos.
Segunda oportunidad: FIFO + bit de referencia.
Puntero que barre los marcos.
Bit = 0 => reemplazo.
Bit = 1 => bit = 0: avance de posición.
Least frequetly used (LFU)
Bits de ref. adicionales.
Contador de accesos.
Problema: Fijar el origen de tiempos no es bueno por la localidad.
Reloj:
Requiere asociar un bit adicional a cada marco, denominado bit de uso.
Cuando se carga una página por primera vez en un marco de memoria, el bit de uso de dicho marco se pone a cero.
Cuando se hace referencia a la página posteriormente, el bit de uso se pone a 1.
Cuando llega el momento de reemplazar una página, el primer marco encontrado con el bit de uso a 0 es reemplazado.
Durante la búsqueda para realizar reemplazos cada bit de uso a 1 se cambia a 0.

Monografias.com

Primer marco en el buffer
circular de marcos que son
candidatos para el reemplazo

Página 9
uso = 1
Página 19
uso = 1
Página 191
uso = 1
Página 1
uso = 1
Página 45
uso = 1
Página 13
uso = 0
Página 67
uso = 1
Página 33
uso = 1
Figura 8.16. Ejemplo de funcionamiento de la política del reloj.

(a) Estado del buffer justo antes del reemplazo de página

Puntero al
siguiente
marco

Página 556
uso = 0
Página 222
uso = 0

Monografias.com

Figura 8.16. Ejemplo de funcionamiento de la política del reloj.

(b) Estado del buffer justo después del siguiente reemplazo de página
Página 9
uso = 1
Página 19
uso = 1
Página 1
uso = 0
Página 45
uso = 0
Página 191
uso = 0
Página 727
uso = 1
Página 13
uso = 0
Página 67
uso = 1
Página 33
uso = 1
Página 222
uso = 0

Monografias.com

10. Algoritmos de reemplazo
Almacenamiento intermedio de páginas:
La pista de la página reemplazada se asigna a una de las dos listas siguientes:
La lista de páginas libres, si la página no ha sido modificada.
La lista de páginas modificadas, si lo ha sido.

10.1 CACHE de páginas.

Monografias.com

11. Tamaño de página.
Cuanto menor sea el tamaño de página,
Menor será la cantidad de fragmentación interna.
Mayor será el número de páginas que se necesitan por proceso.
Tabla de páginas grandes o mayor número de registros en la MMU.
Un número mayor de páginas por proceso significa que las tablas de páginas serán mayores.
Una gran parte de las tablas de páginas de los procesos activos deben estar en la memoria virtual.
La memoria secundaria está diseñada para transferir eficazmente los bloques de datos de mayor tamaño, de manera que es propicia para tamaños de página mayores.
Si el tamaño de página es muy pequeño, estarán disponibles en la memoria principal un gran número de páginas para cada proceso.
Después de un tiempo, todas las páginas de la memoria contendrán parte de las referencias más recientes del proceso. La tasa de fallos de página será menor.
Cuando se incrementa el tamaño de la página, cada página individual contendrán posiciones cada vez más distantes de cualquier referencia reciente. La tasa de fallos será mayor.

Monografias.com

11. Tamaño de página: Hiperpaginación
El número de páginas de cada programa (working set) es inferior al necesario apra el prinipio de proximidad.
El sistema operativo expulsa un fragmento de un proceso justo antes de ser usado.
El procesador consume más tiempo intercambiando fragmentos que ejecutando instrucciones de usuario.
Hiperpaginación.

Monografias.com

11. Tamaño de página
Múltiples tamaños de página proporcionan la flexibilidad necesaria para usar una TLB eficazmente.
Las páginas grandes se pueden utilizar para traducir instrucciones de programa.
Las páginas de pequeño tamaño se pueden emplear para las pilas de los hilos.
La mayoría de los sistemas operativos favorecen el uso de un solo tipo de página.
Tamaño de página.

Monografias.com

(Gp:) Ejemplos de tamaños de páginas.
(Gp:) Computadora
(Gp:) Tamaño de página
(Gp:) Atlas 512 palabras de 48 bits
Honeywell-Multics 1.024 palabras de 36 bits
IBM 370/XA y 370/ESA 4 Kbytes
Familia VAX 512 bytes
IBM AS/400 512 bytes
DEC Alpha 8 Kbytes
MIPS de 4 Kbytes a 16 Mbytes
UltraSPARC de 8 Kbytes a 4 Mbytes
Pentium de 4 Kbytes a 4 Mbytes
Power Pc 4 Kbytes

Ejemplos de tamaños de páginas

Monografias.com

11. Tamaño de página: Working set
Asignación fija:
Otorga a cada proceso un número fijo de páginas en las que ejecutar.
Cada vez que se produce un fallo de página en la ejecución de un proceso, se debe reemplazar una de las páginas de dicho proceso.
Asignación variable:
Permite que el número de marcos asignados a un proceso cambie a lo largo de su vida.
Sencilla de implementar.
Usada por un buen número de sistemas operativos.
Cuando se produce un fallo de página, se añade un marco libre al conjunto residente del proceso.
Cuando no hay marcos libres, el sistema operativo debe elegir una página que esté en la memoria para reemplazar. Cuando se carga un nuevo proceso en la memoria, se le asigna cierto número de marcos en función del tipo de aplicación, las necesidades del programa u otros criterios.

Cuando se produce un fallo de página, se selecciona la página a reemplazar de entre las del conjunto residente del proceso que sufre el fallo.
La asignación se evalua periodicamente.

Monografias.com

11. Tamaño de página.
El número de páginas de cada programa (working set) es inferior al necesario apra el prinipio de proximidad.
El sistema operativo expulsa un fragmento de un proceso justo antes de ser usado.
El procesador consume más tiempo intercambiando fragmentos que ejecutando instrucciones de usuario.
Hiperpaginación.

Monografias.com

Working Set en WNT
Dependencia del Working Set con la memoria.
En situaciones de hiperpaginación se revisa el número de marcos disponibles.

Para minimizar los fallos se anticipan las lecturas en un radio:
Ej.: Working Set en WNT

Monografias.com

12. Política de carga
Política de lectura:
Está relacionada con la decisión de cuándo se debe cargar una página en la memoria principal.
Con la paginación por demanda, se trae una página a la memoria principal sólo cuando se hace referencia a una posición en dicha página:
Cuando un proceso se ejecute por primera vez, se producirán muchos fallos de página.
Con la paginación previa, se cargan más páginas de las necesarias:
Es más eficiente traer a la memoria un número de páginas contiguas.

Políticas de lectura.

Monografias.com

12. Política de carga
Determina el número de procesos que pueden estar en la memoria principal.
Cuando hay pocos procesos residentes en la memoria, habrá muchas ocasiones en las que todos los procesos estén bloqueados y se gastará mucho tiempo en el intercambio.
Si hay demasiados procesos residentes, el resultado será la hiperpaginación.
Procesos con la prioridad más baja.
Procesos con fallos de página:
Este proceso no tiene su conjunto de trabajo en la memoria principal, por lo que quedará bloqueado de todas formas.
Último proceso activado:
Este es el proceso con menos posibilidades de tener su conjunto de trabajo residente.
Proceso con el conjunto residente más pequeño:
Proceso que necesita el menor esfuerzo futuro para volver a cargar el conjunto residente.
El proceso de mayor tamaño:
Esta alternativa obtiene la mayor cantidad de marcos libres.
Procesos con la mayor ventana de ejecución restante.
Suspensión de procesos: Selección del proceso suspendido.
Control de carga.

Monografias.com

13. Memoria Virtual: Segmentación
Los segmentos pueden ser de distintos tamaños, incluso variando de forma dinámica.
Simplifica la gestión de estructuras de datos crecientes.
Permite modificar y recopilar los programas independientemente.
Mejoras en la compartición entre procesos.
Mejoras en la protección.

Entrada en la tabla de segmentos.
Cada entrada de la tabla de segmentos contiene la longitud del segmento.
Se necesita un bit para indicar si el segmento correspondiente está presente en la memoria principal.
Otro bit de control necesario es un bit de modificación que indique si el contenido del segmento correspondiente ha sido modificado desde que se cargó por última vez en la memoria principal.

Segmentación.

Monografias.com

Entradas de las tablas de segmentos
Dirección virtual
Entrada del segmento de tabla
Número de segmento
Desplazamiento
(Gp:) P
(Gp:) M
(Gp:) Otros bits de control
(Gp:) Longitud
(Gp:) Base de segmento

Formatos típicos de gestión de memoria.
(b) Sólo segmentación

Monografias.com

14. Paginación y segmentación combinadas
La paginación es transparente al programador.
La paginación elimina la fragmentación externa.
La segmentación es visible para el programador.
La segmentación permite gestionar estructuras de datos que pueden crecer, la modularidad y el soporte de la compartición y la protección.
Cada segmento se divide en varias páginas de tamaño fijo.
Paginación y segmentación combinadas

Monografias.com

14. Paginación y segmentación combinadas
Dirección virtual
Entrada de la tabla de segmentos
Nº. segmento
P
M
Longitud
Base de segmento
Otros bits
de control
Número de página
Despla-
zamiento
Número de segmento
Otros bits
de control
Número de marco
Entrada de la tabla de páginas
Formatos típicos de gestión de memoria.
(c) Segmentación y paginación combinadas
P = Bit de presencia
M = Bit de modificación

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter