gestión de la memoriamarisa gil introducció als sistemes operatius 1 gestión de la memoria 1....

32
Marisa Gil Introducció als Sistemes Operatius 1 Gestión de la Memoria 1. Introducción 2. Modelos de gestión del espacio físico 3. Memoria Virtual 4. Otros modelos Bibliografía Silberschat and Galvin Sistemas Operativos. Conceptos fundamentales. Parte III: Administración de almacenamiento Introducción a los Sistemas Operativos

Upload: others

Post on 26-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

  • Marisa Gil

    Introducció als Sistemes Operatius 1

    Gestión de la Memoria

    1. Introducción2. Modelos de gestión del espacio físico3. Memoria Virtual4. Otros modelos

    BibliografíaSilberschat and Galvin

    Sistemas Operativos. Conceptos fundamentales.Parte III: Administración de almacenamiento

    Introducción a los Sistemas Operativos

  • Marisa Gil

    Introducció als Sistemes Operatius 2

    Ideas a recapitular

    • Todo lo que se ejecuta ha de estar en memoria principal• Multiprogramación => varios procesos en memoria física• Todos los procesos comparten el mismo espacio físico =>

    • el SO ha de garantizar protección

    • después de la CPU, la memoria es el recurso más importante para gestionar

    .C .EXE0

    Mespacio de nombres espacio lógico del programa

    espacio físico

    GESTION DE LA MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 3

    Montaje de un fichero ejecutable

    editor compilador montador

    códigofuente(LAN)

    códigoobjeto

    códigoejecu-table

    compilar

    montar

    DISCO

    librerías con otrosmódulos objeto cargador

    cargar enmemoriafísica

    MEMORIA

    GESTION DE LA MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 4

    Multiprogramación

    • Cuánta memoria asignar a cada proceso• Equiparticiones

    • Cantidad fija

    • Cantidad variable

    • Dónde ubicar a cada proceso• Momento de vincular la dirección lógica a la física

    • Vínculo estático/variable en ejecución

    • Grado de multiprogramación• Número máximo de procesos que se pueden cargar en memoria

    GESTION DE LA MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 5

    MMU

    Alguien se ha de encargar de:• direcciones lógicas iguales convivan en el espacio físico sin problemas,

    • exista protección entre procesos y para el SO,

    • la gestión del espacio físico (libre y ocupado) sea eficiente

    GESTION DE LA MEMORIA

    CPUMMU

    @ lógica @ física

  • Marisa Gil

    Introducció als Sistemes Operatius 6

    Registro de reubicación

    • También se conoce como Registro Base:• Contiene la dirección a partir de la cual está cargado el programa

    • El Sistema Operativo tiene su propio Registro de Reubicación (RR)• Además, el SO pude saltarse si quiere el RR y generar direcciones físicas

    • utilizar el RR del programa de usuario

    • generar directamente direcciones físicas

    GESTION DE LA MEMORIA

    CPU

    MMU@ lógica @ física

    @física(bypass del

    circuíto)

  • Marisa Gil

    Introducció als Sistemes Operatius 7

    Registro de reubicación

    • Fijo : lo inicializamos al principio y ya no se modifica en todala ejecución del programa.REUBICACIÓN ESTÁTICA.

    • Variable: puede modificarse su valor durante la ejecución deun programa: un programa puede moverse en memoriadurante su ejecución.REUBICACIÓN DINÁMICA.

    GESTION DE LA MEMORIA

    SO

    0

    P

    RRS

    RRU

    RRS RRUmodo

    PSW

    bypass

    CPU +@lógica @física

    (inhibir el multiplexor)

    0 00 11 01 1

    RRU

    RRS

    Carga en memoria

  • Marisa Gil

    Introducció als Sistemes Operatius 8

    Protección

    • Controlar por hardware que no se supere la zona de memoria asignada

    GESTION DE LA MEMORIA

    RRU

    RRSRRU

    modo

    CPU +@lógica @física

    TAMAÑO

    +

    < sí

    no

    error

    TAMAÑO

  • Marisa Gil

    Introducció als Sistemes Operatius 9

    Gestión del espacio (I)

    • Buscar espacio libre para un programa en memoria física.• Fragmentación: hay memoria suficiente, pero no un trozo de tamaño adecuado.• Compactación: reorganizar la memoria libre agrupando todo el espacio libre.

    • Sólo es posible si hayreubicación dinámica.

    • Costoso en tiempo: ver qué procesos son los más adecuados, dónde hacer elhueco, parar los procesos,...

    GESTION DE LA MEMORIA

    a)b)

  • Marisa Gil

    Introducció als Sistemes Operatius 10

    Gestión del espacio (II):SWAPPING

    • Utilizar un dispositivo de almacenamiento secundario (disco) para aumentar elespacio físico.

    • Aumenta, por tanto, el grado de multiprogramación.

    • Sólo se pueden ejecutar los procesos en memoria física.

    • Dependiendo del tipo de reubicación es más o menos eficiente y útil.

    GESTION DE LA MEMORIA

    swap out swap in

    a)

    b)

    b) Reubicación dinámica

    a) Reubicación estática(única ubicación permitida)

  • Marisa Gil

    Introducció als Sistemes Operatius 11

    Gestión del espacio (y III):Modelos no contiguos

    • ¿Podemos trocear un programa e ir metiendo los fragmentos en los sitios libresque encontremos?

    • Cada fragmento necesita un registro de reubicación

    • Permite aprovechar el espacio sin necesidad de compactación

    • Modelos básicos:• Paginación

    • Segmentación

    GESTION DE LA MEMORIA

    AB

    C

    RRA

    RRC

    RRB

  • Marisa Gil

    Introducció als Sistemes Operatius 12

    Paginación

    • Se divide el EL del programa en bloques de igual tamaño• El tamaño es fijo, definido por la arquitectura

    • Cada bloque se llamapágina (o página lógica)• La última página tendrá una parte no ocupada (fragmentación interna)

    • La memoria física también se divide en trozos de igual tamaño• Cada trozo se llamatrama (o página física)• Por simplicidad es del mismo tamaño que la página (a veces, múltiplo)

    • Cargar un programa en memoria significa encontrar un sitio para cada página• En general, encontrar tantas tramas libres como páginas ocupe

    • Esta división en páginas es automática para la MMU• No existe ninguna modificación en el espacio de direcciones lineal

    • Es transparente al usuario, a los programas de traducción y a la CPU

    GESTION DE LA MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 13

    Paginación

    GESTION DE LA MEMORIA

    . . .

    0

    2n-1

    CÓDIGO

    DATOS

    PILA

    0000110001101100

    0000110001101100

    ESPACIO LÓGICO

    @lógica

    vista por la CPU

    vista por la MMUpágina desplazamiento

    . . .

    . . .

    ESPACIO FÍSICO

    Reg. reubicación +

  • Marisa Gil

    Introducció als Sistemes Operatius 14

    Paginación

    GESTION DE LA MEMORIA

    @lógica

    @física

    n d

    m d

    . . .

    . . .

    MEMORIA

    . . .

    TABLA de PÁGINAS

    2n-1

    vvv

    ii

    iv

    número de trama

  • Marisa Gil

    Introducció als Sistemes Operatius 15

    A tener en cuenta ...

    • Existe una tabla de páginas por proceso• Sólo está activa la del proceso que se está ejecutando

    • Si el tamaño de la página es pequeño:• Habrá poca fragmentación interna

    • El número de páginas será grande (=> la TP será grande)

    • La TP estará en memoria, no en la MMU (=> 2 accesos por traducción)

    • la MMU será barata: sólo mantiene la dirección de la TP (RBTP)

    • Si el tamaño de la página es grande:• Habrá mucha fragmentación interna

    • El número de páginas será pequeño (=> la TP será pequeña)

    • Si la TP cabe en la MMU, la traducción de direcciones será rápida (1 acceso)

    • la MMU será cara: mantiene la TP

    • Tamaños comunes de páginas: 2K, 4K.

    GESTION DE LA MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 16

    TLB (Translation Lookaside Buffer)

    Objetivo: mejorar el rendimiento del acceso a memoria en paginación

    • Memoria cache con las PTE últimamente referenciadas.• Asociativa:

    • contiene la página lógica referenciada

    • el procesador pregunta al mismo tiempo a todas las entradas (hardware)

    • 32, 48 entradas son valores habituales

    William Stallings “Operating Systems”Cap. 5.3 Virtual MemoryMaxwell McMillan, International Editions, 1992

    GESTION DE MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 17

    TLB (Translation Lookaside Buffer)

    @lógica

    @física

    p d

    t d

    . . .

    . . .

    MEMORIA

    TLB

    n página

    CPU

    n. trama val. TLBhit

    TLBmiss

    TABLAde

    PÁGINAS

    desplazamiento

    GESTION DE MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 18

    Segmentación

    • El EL del programa se construye en bloques• El tamaño máximo de un bloque es fijo, definido por la arquitectura• Cada bloque se llamasegmento

    • El número de bloques que conforman el programa lo determina el usuario• Cada trozo puede tener una semántica asociada (código, datos,...)

    • Se asocia memoria física a segmentos lógicos (segmentos físicos)

    • Cargar un programa en memoria significa encontrar un sitio para cada segmento• Aparecefragmentación externa.

    • Esta división en segmentos es competencia del programador• Se definen en la construcción del ejecutable (programador, compilador,...)

    • El espacio de direcciones es de dos dimensiones, disperso.

    GESTION DE LA MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 19

    Segmentación

    . . .

    0

    2n-1

    CÓDIGO

    DATOS

    PILA

    0000000001101100

    ESPACIO LÓGICO @lógica

    segmentodesplazamiento

    . . .

    . . .

    ESPACIO FÍSICO

    Reg. reubicación +

    0000010000000000

    segmentodesplazamiento

    0000000001101101

    0000001111111111

    ... no existen

    seg. de datos

    seg. de código

    GESTION DE LA MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 20

    Segmentación

    2s-1

    @lógica

    @física

    s d

    MEMORIA

    TABLA de SEGMENTOS

    . . .

    . . .

    seg. de datos

    seg. de código

    @inicio segmento longitud

    <

    no

    error+

    GESTION DE LA MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 21

    A tener en cuenta

    • Se elimina la fragmentación interna• Se soporta el crecimiento dinámico de los segmentos• Protección/uso compartido• Desarrollo modular de programación: entidades menores de programa relaciona-

    das lógicamenteMilan Milenkovic “Sistemas Operativos. Conceptos y diseño”

    McGraw Hill

    • Es más costoso buscar espacio libre para cargar un programa• Reaparece la fragmentación externa• Se gestiona la traducción a partir de registros especiales (ej: DS, SS,...)• MMU cara

    GESTION DE LA MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 22

    Modelos mixtos (I):Paginación segmentada

    • El espacio lógico de un programa lo forman todas las posibles direcciones• El tamaño real de un programa es generalmente mucho más pequeño

    • Muchas páginas no llegan a utilizarse

    • Sólo un pequeño número de entradas de la tabla de páginas se accede

    IDEA: Mantener sólo los grupos de páginas utilizadas por un programa,dividiendo la tabla de páginas en segmentos.

    GESTION DE LA MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 23

    Paginación segmentada

    GESTION DE LA MEMORIA

    @lógica

    @física

    . . .

    . . .

    MEMORIA

    T. de PÁGINAS

    vvv

    ii

    trama

    en qué tabla de páginas?

    stp dtp

    @tabla

    +

    T. de PÁGINAS

    vvv

    i

    trama

    T. DE SEGMENTOS

  • Marisa Gil

    Introducció als Sistemes Operatius 24

    Modelos mixtos (II):Segmentación paginada

    • Los segmentos son de tamaño variable y generan fragmentación externa• Cargar los segmentos en memoria es una operación “costosa”

    • Puede no haber espacio contiguo para un segmento

    • De todos los trozos de memoria libre hay que buscar el “adecuado”

    IDEA: Los segmentos son conjuntos de páginas y cargar un segmento esbuscar tantas tramas libres como páginas lo componen.

    GESTION DE LA MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 25

    Segmentación paginada

    @lógica

    @física

    . . .

    . . .

    MEMORIA

    T. de PÁGINAS

    vvv

    ii

    trama

    en qué página?

    ps ds

    @tablaT. de PÁGINAS

    vvv

    i

    trama

    T. DE SEGMENTOS

    +

    GESTION DE LA MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 26

    Memoria Virtual

    Definición:Conjunto de mecanismos y técnicas, hardware y software, que permiten la ejecu-

    ción de programas que no están enteramente cargados en memoria.

    • Basta que éste en memoria la parte (código datos, pila) con la que se está traba-jando actualmente.

    • Hay que tener localizable y directamente accesible el resto del programa, paracargarlo cuando sea referenciado:MEMORIA SECUNDARIA .

    VentajasPermite aumentar el grado de multiprogramaciónReduce el tiempo de carga de los programas

    GESTION DE MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 27

    Implementación de la memoria virtual

    • Modelo de memoria no contiguo (paginación o segmentación)• Mecanismos hardware para detectar que una dirección lógica no está presente

    • Bit de presencia

    • Mecanismos software y hardaware para gestionar la E/S del programa• FALLO DE PÁGINA (interrupción)

    • Almacenamiento secundario donde está el programa íntegro• Memoria secundaria (disco, generalmente): ÁREA DE PAGINACIÓN

    GESTION DE MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 28

    A tener en cuenta....

    • Carga inicial del programa• Paginación bajo demanda

    • Prefetch

    • Número de páginas que se asigna a cada programa• Reemplazo de páginas si la memoria física ya está toda llena• Hiperpaginación (THRASHING)

    utilizaciónde la CPU

    Grado de multiprogramación

    thrashing

    GESTION DE MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 29

    Principio de localidad

    Localidad espacial:Alta probabilidad de referenciar una dirección cercana a la actual

    Localidad temporalAlta probabilidad de referenciar la dirección actual en un intervalo corto de tiempo

    GESTION DE MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 30

    A tener en cuenta ...

    • El área de paginación es aconsejable que sea tres veces la memoria física• Programar con una buena localidad:

    • datos locales,

    • organización rutinas,

    • bucles...

    • Tamaño de la página: compromiso entre tiempo E/S y frecuencia FP• TLBs

    Tacceso efectivo = (1 - p) x ma + p x tfp , 0

  • Marisa Gil

    Introducció als Sistemes Operatius 31

    Otros tipos de gestión de memoria: Javadynamic link

    class loader

    execution engine

    bytecodes

    JVM

    SISTEMA OPERATIVO

    ficheros class de la APIJAVA (sólo los que se

    necesitan)ficheros class

    del programador

    llamadas a métodos nativos del SO

    GESTION DE MEMORIA

  • Marisa Gil

    Introducció als Sistemes Operatius 32

    Otros tipos de gestión de memoria: Javadynamic link

    El orden en que se realizan estas tareas es estricto:1. Cargar: buscar e importar los datos binarios de un tipo.2. Linkar : realizar la verificación, preparación y (opcionalmente) resolución

    a.Verificación: asegurar la correctitud del tipo importadob. Preparación: asignar memoria para clases variables e inicializar la

    memoria a los valores por defectoc. Resolución: transformar las referencias simbólicas del tipo en referen-

    cias directas.3. Inicialización: llamar al código JAVA que inicializa estas variables a sus pro-

    pios valores iniciales.

    GESTION DE MEMORIA

    Multiprogramación• Cuánta memoria asignar a cada proceso• Equiparticiones• Cantidad fija• Cantidad variable

    • Dónde ubicar a cada proceso• Momento de vincular la dirección lógica a la física• Vínculo estático/variable en ejecución

    • Grado de multiprogramación• Número máximo de procesos que se pueden cargar en memoria

    GESTION DE LA MEMORIA

    A tener en cuenta ...• Existe una tabla de páginas por proceso• Sólo está activa la del proceso que se está ejecutando

    • Si el tamaño de la página es pequeño:• Habrá poca fragmentación interna• El número de páginas será grande (=> la TP será grande)• La TP estará en memoria, no en la MMU (=> 2 accesos por traducción)• la MMU será barata: sólo mantiene la dirección de la TP (RBTP)

    • Si el tamaño de la página es grande:• Habrá mucha fragmentación interna• El número de páginas será pequeño (=> la TP será pequeña)• Si la TP cabe en la MMU, la traducción de direcciones será rápida (1 acceso)• la MMU será cara: mantiene la TP

    • Tamaños comunes de páginas: 2K, 4K.

    Gestión del espacio (I)• Buscar espacio libre para un programa en memoria física.• Fragmentación: hay memoria suficiente, pero no un trozo de tamaño adecuado.• Compactación: reorganizar la memoria libre agrupando todo el espacio libre.• Sólo es posible si hay reubicación dinámica.• Costoso en tiempo: ver qué procesos son los más adecuados, dónde hacer el hueco, parar los proc...

    PaginaciónGESTION DE LA MEMORIA

    MMUAlguien se ha de encargar de:• direcciones lógicas iguales convivan en el espacio físico sin problemas,• exista protección entre procesos y para el SO,• la gestión del espacio físico (libre y ocupado) sea eficiente

    GESTION DE LA MEMORIA

    Registro de reubicación• Fijo: lo inicializamos al principio y ya no se modifica en toda la ejecución del programa. REUB...• Variable: puede modificarse su valor durante la ejecución de un programa: un programa puede mov...GESTION DE LA MEMORIA

    Protección• Controlar por hardware que no se supere la zona de memoria asignadaGESTION DE LA MEMORIAGESTION DE LA MEMORIA

    Gestión del espacio (II): SWAPPING• Utilizar un dispositivo de almacenamiento secundario (disco) para aumentar el espacio físico.• Aumenta, por tanto, el grado de multiprogramación.• Sólo se pueden ejecutar los procesos en memoria física.• Dependiendo del tipo de reubicación es más o menos eficiente y útil.

    GESTION DE LA MEMORIA

    Gestión del espacio (y III): Modelos no contiguos• ¿Podemos trocear un programa e ir metiendo los fragmentos en los sitios libres que encontremos?• Cada fragmento necesita un registro de reubicación• Permite aprovechar el espacio sin necesidad de compactación

    • Modelos básicos:• Paginación• Segmentación

    GESTION DE LA MEMORIA

    Paginación• Se divide el EL del programa en bloques de igual tamaño• El tamaño es fijo, definido por la arquitectura• Cada bloque se llama página (o página lógica)• La última página tendrá una parte no ocupada (fragmentación interna)

    • La memoria física también se divide en trozos de igual tamaño• Cada trozo se llama trama (o página física)• Por simplicidad es del mismo tamaño que la página (a veces, múltiplo)

    • Cargar un programa en memoria significa encontrar un sitio para cada página• En general, encontrar tantas tramas libres como páginas ocupe

    • Esta división en páginas es automática para la MMU• No existe ninguna modificación en el espacio de direcciones lineal• Es transparente al usuario, a los programas de traducción y a la CPU

    GESTION DE LA MEMORIA

    Segmentación• El EL del programa se construye en bloques• El tamaño máximo de un bloque es fijo, definido por la arquitectura• Cada bloque se llama segmento

    • El número de bloques que conforman el programa lo determina el usuario• Cada trozo puede tener una semántica asociada (código, datos,...)• Se asocia memoria física a segmentos lógicos (segmentos físicos)

    • Cargar un programa en memoria significa encontrar un sitio para cada segmento• Aparece fragmentación externa.

    • Esta división en segmentos es competencia del programador• Se definen en la construcción del ejecutable (programador, compilador,...)• El espacio de direcciones es de dos dimensiones, disperso.

    GESTION DE LA MEMORIA

    SegmentaciónGESTION DE LA MEMORIA

    SegmentaciónGESTION DE LA MEMORIA

    PaginaciónIdeas a recapitular• Todo lo que se ejecuta ha de estar en memoria principal• Multiprogramación => varios procesos en memoria física• Todos los procesos comparten el mismo espacio físico =>• el SO ha de garantizar protección• después de la CPU, la memoria es el recurso más importante para gestionar

    GESTION DE LA MEMORIAGESTION DE LA MEMORIA

    Modelos mixtos (I): Paginación segmentada• El espacio lógico de un programa lo forman todas las posibles direcciones• El tamaño real de un programa es generalmente mucho más pequeño• Muchas páginas no llegan a utilizarse• Sólo un pequeño número de entradas de la tabla de páginas se accede

    IDEA: Mantener sólo los grupos de páginas utilizadas por un programa, dividiendo la tabla de pági...GESTION DE LA MEMORIA

    Paginación segmentadaGESTION DE LA MEMORIA

    Modelos mixtos (II): Segmentación paginada• Los segmentos son de tamaño variable y generan fragmentación externa• Cargar los segmentos en memoria es una operación “costosa”• Puede no haber espacio contiguo para un segmento• De todos los trozos de memoria libre hay que buscar el “adecuado”

    IDEA: Los segmentos son conjuntos de páginas y cargar un segmento es buscar tantas tramas libres ...GESTION DE LA MEMORIA

    Segmentación paginadaRegistro de reubicación• También se conoce como Registro Base:• Contiene la dirección a partir de la cual está cargado el programa

    • El Sistema Operativo tiene su propio Registro de Reubicación (RR)• Además, el SO pude saltarse si quiere el RR y generar direcciones físicas• utilizar el RR del programa de usuario• generar directamente direcciones físicas

    GESTION DE LA MEMORIAGESTION DE LA MEMORIAGESTION DE LA MEMORIA

    A tener en cuenta• Se elimina la fragmentación interna• Se soporta el crecimiento dinámico de los segmentos• Protección/uso compartido• Desarrollo modular de programación: entidades menores de programa relacionadas lógicamenteMilan Milenkovic “Sistemas Operativos. Conceptos y diseño” McGraw Hill

    • Es más costoso buscar espacio libre para cargar un programa• Reaparece la fragmentación externa• Se gestiona la traducción a partir de registros especiales (ej: DS, SS,...)• MMU caraGESTION DE LA MEMORIA

    TLB (Translation Lookaside Buffer)GESTION DE MEMORIA

    Gestión de la Memoria1. Introducción2. Modelos de gestión del espacio físico3. Memoria Virtual4. Otros modelosBibliografíaSilberschat and Galvin Sistemas Operativos. Conceptos fundamentales. Parte III: Administración de...Introducción a los Sistemas Operativos

    Memoria VirtualDefinición:Conjunto de mecanismos y técnicas, hardware y software, que permiten la ejecución de programas qu...• Basta que éste en memoria la parte (código datos, pila) con la que se está trabajando actualmente.• Hay que tener localizable y directamente accesible el resto del programa, para cargarlo cuando ...

    VentajasPermite aumentar el grado de multiprogramaciónReduce el tiempo de carga de los programasGESTION DE MEMORIA

    TLB (Translation Lookaside Buffer)Objetivo: mejorar el rendimiento del acceso a memoria en paginación• Memoria cache con las PTE últimamente referenciadas.• Asociativa:• contiene la página lógica referenciada• el procesador pregunta al mismo tiempo a todas las entradas (hardware)

    • 32, 48 entradas son valores habitualesWilliam Stallings “Operating Systems” Cap. 5.3 Virtual Memory Maxwell McMillan, International Edi...

    GESTION DE MEMORIA

    Implementación de la memoria virtual• Modelo de memoria no contiguo (paginación o segmentación)• Mecanismos hardware para detectar que una dirección lógica no está presente• Bit de presencia

    • Mecanismos software y hardaware para gestionar la E/S del programa• FALLO DE PÁGINA (interrupción)

    • Almacenamiento secundario donde está el programa íntegro• Memoria secundaria (disco, generalmente): ÁREA DE PAGINACIÓN

    GESTION DE MEMORIA

    A tener en cuenta....• Carga inicial del programa• Paginación bajo demanda• Prefetch

    • Número de páginas que se asigna a cada programa• Reemplazo de páginas si la memoria física ya está toda llena• Hiperpaginación (THRASHING)GESTION DE MEMORIA

    Principio de localidadLocalidad espacial:Alta probabilidad de referenciar una dirección cercana a la actual

    Localidad temporalAlta probabilidad de referenciar la dirección actual en un intervalo corto de tiempoGESTION DE MEMORIA

    A tener en cuenta ...• El área de paginación es aconsejable que sea tres veces la memoria física• Programar con una buena localidad:• datos locales,• organización rutinas,• bucles...

    • Tamaño de la página: compromiso entre tiempo E/S y frecuencia FP• TLBsGESTION DE MEMORIA

    Montaje de un fichero ejecutableGESTION DE LA MEMORIA

    Otros tipos de gestión de memoria: Java dynamic linkGESTION DE MEMORIA

    Otros tipos de gestión de memoria: Java dynamic linkEl orden en que se realizan estas tareas es estricto:1. Cargar: buscar e importar los datos binarios de un tipo.2. Linkar: realizar la verificación, preparación y (opcionalmente) resolucióna. Verificación: asegurar la correctitud del tipo importadob. Preparación: asignar memoria para clases variables e inicializar la memoria a los valores por ...c. Resolución: transformar las referencias simbólicas del tipo en referencias directas.

    3. Inicialización: llamar al código JAVA que inicializa estas variables a sus propios valores ini...GESTION DE MEMORIA