Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una...

41
Memoria Sebastián Sánchez Prieto

Transcript of Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una...

Page 1: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

Memoria

Sebastián Sánchez Prieto

Page 2: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 2

Definición

La memoria es una amplia tabla de datos, cada uno de los cuales con su propia dirección

Tanto el tamaño de la tabla (memoria), como el de los datos incluidos en ella dependen de cada arquitectura concreta

Para que los programas puedan ser ejecutados es necesario que estén cargados en memoria principal

La información que es necesario almacenar de modo permanente se guarda en dispositivos de almacenamiento secundarios también conocidos como memoria secundaria

Memoria

BF

33C0F0B50012

F0B50011

F0B50013

Page 3: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 3

Localidad

Los procesos tienden a concentrar sus referencias en un intervalo de tiempo en un subconjunto de su espacio de direcciones

Según Donald Knuth [1971]: Los programas, normalmente, tienen un perfil muy desigual, con unos

pocos picos agudos... También encontramos que menos del 4 por 100 de un programa, generalmente, representa más de la mitad de su tiempo de ejecución

Es una propiedad empírica más que teórica La localidad puede ser de dos tipos:

Localidad espacial Localidad temporal

Page 4: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 4

Localidad espacial y temporal

Localidad espacial: una vez hecha una referencia a una posición de memoria, es muy probable que las localidades cercanas sean también referenciadas.

En apoyo a esta observación encontramos: Ejecución secuencial del código Tendencia de los programadores a colocar próximas entre sí las

variables relacionadas Acceso a estructuras de datos de tipo matriz o pila

Localidad temporal: una vez hecha una referencia a una posición de memoria en un determinado instante t, es muy probable que esa misma posición sea accedida en un instante t + t

Justificada por: Formación de ciclos Subrutinas Pilas

Page 5: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 5

Jerarquía de memoria

La jerarquización de la memoria es un intento de aumentar el rendimiento de los computadores

Para ello se aprovechan los avances tecnológicos en el diseño de memorias y la localidad de los programas

Memorias rápidas: tienen un coste elevado y una capacidad pequeña Memorias lentas: son baratas y tienen una capacidad alta

COMPROMISO!!!

CD-ROM - Cintas

Discos magnéticos

Memoria principal

Caché externa L2

Caché on-chip L1

Registros internosdel procesador

Mayor rapidezmenor tamaño ymayor precio

Menor rapidez

mayor tamaño ymenor precio

Page 6: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 6

Fragmentación

Fragmentación = memoria desaprovechada Puede ser de dos tipos, interna y externa

Fragmentación interna Se debe a la diferencia de tamaño entre la partición de

memoria y el objeto residente dentro de ella Se produce siempre que se trabaje con bloques de

memoria de tamaño fijo Si el tamaño del objeto no coincide con el de la partición,

queda una zona que no se puede aprovechar Fragmentación externa

Se debe al desaprovechamiento de memoria entre particiones

Page 7: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 7

Direcciones Simbólicas/Físicas

Programa

fuente

Compilador oEnsamblador

Programa

objeto

EnlazadorPrograma

ejecutable

Otrosobjetos

Bibliotecas

Memoria

Cargador

Bibliotecasdinámicas

Page 8: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 8

Reubicación

La reubicación hace referencia al hecho de poder localizar a los programas para su ejecución en diferentes zonas de memoria

Reubicación estática Se realiza antes o durante la carga del programa en

memoria Los programas no pueden ser movidos una vez iniciados

Reubicación dinámica Los programas pueden moverse en tiempo de ejecución El paso de dirección virtual a dirección real, se realiza en

tiempo de ejecución Necesita hardware adicional (MMU)

Page 9: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 9

Memoria caché

Intenta reducir el desajuste entre las velocidades del procesador y de las memorias

Su empleo se justifica por la localidad de los programas Es una solución de compromiso entre mejora de

rendimiento y precio La idea de emplear memorias caché consiste en

mantener en ellas los datos o instrucciones que el procesador necesita en cada momento

Si los datos o instrucciones se encuentran en la caché el acceso en muy rápido, si no es así, los datos se traen desde memoria principal en bloques

Page 10: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 10

Diseño de la caché

A los bloques de transferencia entre memoria principal y memoria caché se les denomina líneas o vías de caché

Decisiones de diseño: ¿Qué tamaño deben tener las líneas de caché? ¿Cómo se sabe si un bloque está en la caché? ¿Cómo se establece la correspondencia entre líneas de

caché y bloques de MP? ¿Qué hacer cuando una línea de caché es modificada? ¿Qué estrategia se debe emplear cuando es necesario

reemplazar una línea de caché?

Page 11: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 11

Caché de correspondencia directa

1 0 0 1 1 1 0 0 1 1Dirección generada por el procesador

0

15

3

12

6

1

2

4

9 6 3

0 1 3 4 5 6 72

TAG

01

34567

2

Fallo

Page 12: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 12

Caché completamente asociativa

1 0 0 1 1 1 0 0 1 1Dirección generada por el procesador

126

16

20

105

19

78

79

80

78 3

0 1 3 4 5 6 72

TAG

01

34567

2

Acierto

Page 13: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 13

Caché asociativa por conjuntos

1 0 0 1 1 1 0 0 1 1Dirección generada por el procesador

31

16

20

12

19

15

0

1

19 2 3

0 1 3 4 5 6 72

TAG

0

1

3

2Acierto

Page 14: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 14

Memoria caché

Coherencia: ¿qué ocurre si un dato de la caché se modifica?

En tal caso se produce una inconsistencia entre los contenidos memoria caché y memoria principal

Problema grave en sistemas multiprocesador Estrategias de actualización:

Write back Write through

También cabe considerar las estrategias de sustitución de líneas de caché cuando existen varias vías por conjunto

Normalmente se emplean cachés separadas para instrucciones y para datos

Page 15: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 15

Gestión de la memoria principal

Analizaremos dos de los mecanismos más ampliamente ofrecidos por las arquitecturas actuales: segmentación y paginación

En ambos casos debe existir una unidad de manejo de memoria (MMU) encargada de traducir direcciones virtuales a direcciones físicas

Cada esquema tiene sus propias ventajas e inconvenientes

Ambos aportan protección y posibilidad de compartir información entre procesos

Analizaremos también una combinación de los dos esquemas para tratar de obtener las ventajas de ambos

Page 16: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 16

Segmentación

Es un esquema de gestión de memoria con varias ventajas:

Permite que los bloques de un proceso (código, datos, pila, DLLs, etc.) puedan estar situados en áreas de memoria no contiguas

Suministra reubicación dinámica Aporta protección y uso compartido

Las direcciones en estos sistemas tienen dos componentes: número de segmento y offset

En el 80x86mov eax, ds:esi

Para localizar el dato se utiliza el selector DS y el desplazamiento SI

Los segmentos pueden tener tamaños diferentes

Page 17: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 17

Segmentación (esquema lógico)

MemoriafísicaCódigo

Espacio de direccionamiento virtual Espacio de direccionamiento real

Dátos

Datos

compartidos

PilaCódigo

Dátos

Datos

compartidos

Pila

MMU

Page 18: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 18

Segmentación (HW)

Procesador S D

Base 1Base 2Base 3Base 4Base 5Base 6Base 7Base 8

S

Memoria

Límite 1Límite 2Límite 3Límite 4Límite 5Límite 6Límite 7Límite 8

<

Tabla de segmentos

+¡¡¡ Error !!!

Base 5

D

RPBTS

RLTS

Page 19: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 19

Cuestiones

¿Qué ocurre si la tabla de segmentos es muy grande? Solución: se guarda en memoria apuntada por un registro

base (RPBTS) Problema: se necesitan dos referencias por cada acceso,

uno a la tabla de segmentos y el otro a la posición referenciada

Solución: utilizar registros internos dentro de la CPU (Intel) En estos registros se almacenan las últimas entradas

utilizadas de la tabla de segmentos Mientras el segmento no se cambie, la entrada se mantiene

en estos registros

Page 20: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 20

Protección y uso compartido

Protección basada en los registros base y límite Se pueden establecer distintos derechos de acceso (rwx)

a cada segmento del proceso Estos derechos suelen guardarse en la tabla de

segmentos de cada proceso El uso compartido es uno de los argumentos más

importantes en favor de la segmentación ¿Cómo pueden dos o más procesos compartir un

segmento? Basta con que dos entradas en las dos tablas de

segmentos (que no tienen por qué coincidir en número) apunten a la misma dirección base

Page 21: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 21

Ventajas e inconvenientes

Ventajas: Elimina de fragmentación interna Permite el crecimiento dinámico de los segmentos Aporta protección y uso compartido Permite un enlace y carga dinámicos

Inconvenientes: Necesita compactación de memoria En sistemas antiguos se fijaba un tamaño máximo fijo para

cada segmento Necesita hardware adicional Los bloques de memoria no son múltiplos enteros de los

bloques que se traen desde el disco

Page 22: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 22

Paginación

Es un esquema de gestión de memoria en el que la asignación de memoria no es contigua

El espacio de direcciones virtuales de un proceso está dividido en bloques de tamaño fijo llamados páginas

La memoria física se divide en marcos de página La dirección virtual consta de un número de página virtual

y un desplazamiento La traducción de direcciones se lleva a cabo con la ayuda

de la tabla de páginas (TDP) La TDP se construye en tiempo de carga del proceso en

memoria

Page 23: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 23

Paginación (esquema lógico)

MemoriafísicaCódigo

Espacio de direccionamiento virtual Espacio de direccionamiento real

MMU

A

Páginas

Marcos

B

C

D

E

F

G A

B

C

D

Page 24: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 24

Paginación (HW)

Procesador P D

Marco 1Marco 2Marco 3Marco 4Marco 5Marco 6Marco 7Marco 8

P

Memoria

Tabla de páginas

Marco 5

D

RPBTP

RLTP

M D

Page 25: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 25

Consideraciones

Si se piden “s” posiciones de memoria nº páginas asignadas=[s/p] p: tamaño de la página

Si el cociente anterior no es entero se produce la llamada fragmentación de página

Los marcos libres se suelen mantener en una lista enlazada

Si la TDP es muy grande, ésta se debe mantener en memoria principal

Para acelerar los accesos se emplean memorias asociativas (TLB)

Page 26: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 26

Paginación con TLBs (HW)

Marco 1Marco 2Marco 3Marco 4Marco 5Marco 6Marco 7Marco 8

P

Memoria

Tabla de páginas

Marco 5

D

RPBTP

RLTP

M D

TLBAXVCPTSR

32489195

185

10

Procesador P D

Page 27: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 27

Protección y uso compartido

Protección basada en bits de acceso de las entradas de la TDP

Compartir páginas es bastante sencillo Basta con que dos o más procesos tengan en una de sus

entradas de la TDP la misma referencia a un marco La paginación es gestionada por completo por el sistema

operativo La paginación elimina la fragmentación externa, pero no

la interna Con página grande aumentamos la fragmentación interna

pero disminuimos el tamaño de la TDP

Page 28: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 28

Problemas de la paginación

Fragmentación interna (ya comentado) Si el número de páginas es grande, la zona de memoria

ocupada por la TDP puede ser excesiva Ejemplo:

Tamaño de cada entrada de la TDP: 4 bytes Espacio de direccionamiento: 32 bits Páginas de 4 Kbytes Tamaño de la TDP: 4 Mbytes

Solución Tabla de páginas paginada Se emplea un directorio de páginas

Page 29: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 29

Paginación de la TDP

P D

Tabla 1Tabla 2Tabla 3Tabla 4Tabla 5Tabla 6Tabla 7Tabla 8

Dir

Memoria

Directorio de páginas

D

RPBTP

RLTP

M D

Dir

Tabla de páginas

Dirección virtual

Marco 1Marco 2Marco 3Marco 4Marco 5Marco 6Marco 7Marco 8

P

Page 30: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 30

Segmentación paginada

Es posible combinar los esquemas de paginación y segmentación

De este modo podemos obtener las ventajas de ambos a costa de complicar el HW

Combinaciones: Segmentación paginada Paginación segmentada (no se emplea en la práctica)

En la segmentación paginada, cada segmento se divide en páginas

En la paginación segmentada, cada página se divide en segmentos

Page 31: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 31

Segmentación paginada (HW)

S

Memoria

Tabla de segmentos

RPBTS

RLTS

P D

Dirección virtual

S

Tabla de páginas+

M D

Base de la tablade páginas

Page 32: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 32

MMU del Pentium

El Pentium soporta segmentación, paginación y segmentación paginada

La dirección lógica está compuesta por un número de segmento (selector de segmento) y un desplazamiento

El selector de segmento es uno de los siguientes registros: CS, DS, ES, SS, FS, GS

ÍndiceSelector de segmento16 bits

0-GDT1-LDT

Nivel de privilegio

13 21

Page 33: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 33

MMU del Pentium

LDT: Local Descriptor Table GDT: Global Descriptor Table Descriptor = entrada en la tabla de segmentos Tamaño del descriptor: 8 bytes Número máximo de entradas en cada tabla: 213

Base 0-15

Límite

Base 24-31 Límite 16-19

TipoDPLP Base 16-23

G 0D

Granularidad0: Límite en bytes1: Límite en páginas

Page 34: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 34

MMU del Pentium

Selector

Límite

Base

Misc

Límite

Base

Misc

Límite

Base

Misc

Descriptor

Offset

+

Dirección lineal 32 bits

Page 35: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 35

MMU del Pentium

Si la paginación está activada

Dirección lineal 32 bits

Dir. Pág. Offset

10 bits

32 bits

# marco rwx

Marco de página

10 bits 12 bits

Directorio de páginas

32 bits

Page 36: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 36

Memoria virtual

Problema: ejecutar programas de mayor tamaño que la memoria disponible

Soluciones: Overlays: control directo por parte del programador Memoria virtual: control llevado a cabo por el sistema

operativo La memoria virtual se basa en el principio de localidad Los programas no se cargan por completo en memoria Ventajas:

Permite aumentar el tamaño de los programas Permite aumentar el grado de multiprogramación Proporciona transparencia cara al usuario Reduce la E/S, ya que evita cargar partes de un programa

que raramente se utilizan

Page 37: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 37

Memoria virtual: implementación

Para soportar memoria virtual podemos basarnos tanto en segmentación como en paginación

Lo más típico es emplear paginación porque se trabaja con bloques de tamaño fijo

De este modo, las transferencias desde y hacia el disco se llevan a cabo de un modo mucho más sencillo

Los esquemas con memoria virtual basada en segmentación son escasos

Decisiones de diseño: ¿Qué tamaño deben tener las páginas? ¿Cómo se sabe si una página está en memoria principal? ¿Qué hacer cuando una página es modificada? ¿Qué estrategia se debe emplear cuando es necesario

reemplazar una página?

Page 38: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 38

Memoria virtual basada en paginación

OUTININ

OUTOUTIN

zx

y

(P0)(P4)

(P3) (P0)(P1)

(P2)

(P5)(P4)(P3)

Tabla del mapa de páginas Tabla del mapa

de archivos

Memoriaprincipal

Memoriasecundaria

Page 39: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 39

Carga dinámica

Programa

S. O.

Memoria principal

Marco libre

0

Tabla de páginas

2Excepción

3La página estáen memoria auxiliar

4 Cargar lapágina quefalla

Memoria secundaria

LOAD M6

1Referencia

Reiniciar la instr.

5Actualizar latabla de páginas

Page 40: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 40

Soporte hardware

Requerimientos hardware: Tabla de páginas Bits en los descriptores de página:

Bit de validez: determina si la página se encuentra presente o no en memoria principal

Bit de referencia: se activa en cada acceso a la página. Lo emplean los algoritmos de reemplazo

Bit de modificación: determina si la página ha sido modificada desde que se cargó. Es importante para determinar si es necesario salvar sus contenidos

Interruptibilidad de las instrucciones Dispositivo de almacenamiento secundario

Page 41: Memoria Sebastián Sánchez Prieto. Memoria 2 1999-2003 S2P, OGP & IGT Definición La memoria es una amplia tabla de datos, cada uno de los cuales con su.

1999-2003 S2P, OGP & IGT Memoria 41

Tasa de fallos de página

Es la probabilidad de que se produzca un fallo de página p = número de fallos / número total de referencias 0 p 1

En general, cuantos más marcos se asignan a un proceso, menor es p

Cuando se produce un fallo se consume un tiempo de servicio de fallo

Los tiempos que más afectan son a este tiempo son: Los cambios de contexto Salvar una página modificada a disco (page out) Cargar la página referencia de disco a memoria (page in)

El planificador asigna la CPU a otros procesos mientras se realizan las lecturas (page in) y escrituras asociadas al fallo de página