administracin de memoria. - uji. redondo/so/capitulo4_is11.pdfsistemas operativos (is11) – tema 4...

Download Administracin de Memoria. - uji. redondo/so/capitulo4_IS11.pdfSistemas Operativos (IS11) – Tema 4 1 Administracin de Memoria. Sistemas Operativos Tema 4. Sistemas Operativos (IS11)

If you can't read please download the document

Post on 06-Feb-2018

220 views

Category:

Documents

3 download

Embed Size (px)

TRANSCRIPT

  • 1Sistemas Operativos (IS11) Tema 4

    Administracin de Memoria.

    Sistemas OperativosTema 4.

    2Sistemas Operativos (IS11) Tema 4

    Administracin de memoria.

    Jerarqua de memoria: Registros CPU del procesador Cach (memoria rpida) Memoria principal RAM Almacenamiento secundario (memoria virtual)

    Al bajar en la jerarqua ms capacidad pero ms lento es el dispositivo y ms barato.

    Administrador de memoria: Parte del S.O. que gestiona la memoria:

    Control de que partes de la memoria estn utilizadas o libres. Asignar memoria a procesos y liberarla cuando terminan. Administrar intercambio entre memoria y disco (Memoria Virtual).

  • 3Sistemas Operativos (IS11) Tema 4

    Administracin de memoria.

    Proceso de Compilacin y Carga de un Programa:

    Ejemplo: (enlace de direcciones) Programa ensamblador con salto a una etiqueta:

    ETIQ ----jmp ETIQ

    Programa Fuente

    Compilacin yEnsamblador

    MduloObjeto

    Editor deEnlaces

    Otros ModulosObjeto

    Carga

    Contenidode la memoria

    en binarioEjecucin

    4Sistemas Operativos (IS11) Tema 4

    Proceso de Compilacin y Carga de Programas.

    En que momento se realiza el enlace o traduccin de direcciones? Compilacin: Generando cdigo absoluto, en el momento de

    compilacin se sabe donde residir el programa en memoria. Carga (Reubicacin esttica):

    El compilador genera cdigo relocalizable. Se crean direcciones de memoria absolutas cuando se carga el

    programa en memoria. Ejecucin (Reubicacin dinmica) :

    Durante la ejecucin puede moverse el cdigo de un proceso. Necesita apoyo del hardware:

    DireccionesLogicas

    CPU

    Registro Base

    MEMORIAFISICA

    +

    01...

    100

  • 5Sistemas Operativos (IS11) Tema 4

    Administracin en sistemas Monoprogramados.

    En sistemas monoprogramados generalmente la memoria principal dividida en dos particiones: Una para el usuario:

    Un proceso con su cdigo. Direccin a partir de la que se cargan programas de usuario.

    Otra para el sistema operativo residente (memoria baja).

    Es necesario proteger las particiones entre s.

    SistemaOperativo Usuario

    00000 0FFFF

    6Sistemas Operativos (IS11) Tema 4

    Administracin en sistemas Monoprogramados.

    A veces el tamao del S.O. desea variarse: Ej.: Manejadores de dispositivos que no se usan.

    Se puede realizar una reubicacion dinmica del espacio.

    Tambin, cargar los procesos de usuario en memoria alta.

    SistemaOperativo

    ProcesoUsuario

    00000 FFFFF

    Libre

    CPU

    Registro Base=14000

    MEMORIAFISICA+

    Direccin Logica= 346

    Direccin Fsica= 14346

  • 7Sistemas Operativos (IS11) Tema 4

    Administracin en sistemas Multiprogramados.

    Es deseable que haya varios procesos en memoria para su ejecucin concurrente.

    Se debe compartir la memoria entre varios procesos que esperan asignacin de la misma.

    Esquemas de asignacin de memoria: Contigua: particiones fijas y variables Intercambio (swapping) Paginacin Segmentacin Segmentacin paginada

    8Sistemas Operativos (IS11) Tema 4

    Administracin en sistemas Multiprogramados.

    Primer esquema de asignacin de memoria: Particiones La memoria est dividida de antemano en espacios (Particiones). Un proceso necesita ejecutarse -> Se le asigna uno de dichos

    espacios (Particin). Cada particin puede contener un nico proceso. Pueden ser:

    Particiones Fijas: Todas el mismo tamao. Con diferentes Tamaos.

    Particiones Variables.

  • 9Sistemas Operativos (IS11) Tema 4

    Particiones Fijas.

    Particiones de igual tamao:

    Nivel de multiprogramacin limitado por nmero de particiones. Hay una cola con procesos que quieren utilizar memoria y ejecutarse. Hay una tabla para indicar particiones ocupadas y libres.

    SistemaOperativo Particin 1 Particin 2 Particin N

    00000 0FFFF 1FFFF 2FFFF NFFFF

    ...

    10Sistemas Operativos (IS11) Tema 4

    Particiones con diferentes tamaos:

    Para procesos que quieren utilizar memoria para ejecutarse: Podemos tener varias colas: Cada proceso se asigna a una

    cola en funcin de su tamao.

    Podemos tener una nica cola: Cuando se libera una particin ->

    se asigna al primer proceso que cabe en ella.

    Particiones Fijas.

    SistemaOperativo Particin 1 Particin 2 Particin N

    00000 0FFFF 3FFFF 40FFF E1FFF FFFFF

    ...

    SistemaOperativo Particin 1 Particin 2 Particin N

    00000 FFFFF

    ......

    Proceso 1

    Proceso 2

    Proceso 3

    SistemaOperativo Particin 1 Particin 2 Particin N

    00000 FFFFF

    ...

    ...Proceso 1 Proceso 2Proceso 5 Proceso 4

    Proceso 3

    Proceso 6

  • 11Sistemas Operativos (IS11) Tema 4

    Problemas que presenta este tipo de asignacin de memoria: Debe proporcionarse reubicacin:

    En que particin entrar el proceso?. Existe Fragmentacin Interna y Externa:

    Interna: Una particin asignada y no ocupada totalmente por el proceso.

    Externa: Un proceso quiere ejecutarse, hay una particin libre, pero de

    menor tamao que el proceso. Necesidad de proteccin: (en sistemas multiprogramados)

    Un proceso no acceda al rea de memoria del otro. Si la reubicacin es dinmica puede usarse registros base-lmite.

    CPU

    Registro Base=14000

    Registro Lmite=1000

    MEMORIAFISICA+

    Direccin Logica= 346

    Direccin Fsica= 14346

    Es menor ?

    Interrupcin Hardwareinterna al S.O.

    NO

    SI

    Particiones Fijas.

    12Sistemas Operativos (IS11) Tema 4

    Particiones Variables.

    Funcionamiento: Inicialmente: Toda la memoria (salvo particin del S.O.)

    disponible para procesos, como si fuese un gran hueco. Llega un proceso:

    Se introduce en un hueco libre. El espacio no ocupado ser un nuevo hueco.

    Cada zona de memoria ocupada -> una particin. Proceso termina:

    Libera su zona de memoria. Se convierte en un hueco. Dicho hueco se fusiona con los adyacentes.

    Se conserva una tabla de partes de memoria ocupadas y libres y la cola de entrada de procesos en memoria.

  • 13Sistemas Operativos (IS11) Tema 4

    Un ejemplo:los procesos se cargan en memoria, compiten por la CPU y al acabar liberan la memoria

    Particiones Variables.

    Proceso ProcesoMemoria

    RequeridaMemoria

    RequeridaPPP

    PP

    12 5

    600 K1000 K300 K

    700 K500 K

    3

    4

    S.O. S.O. S.O. S.O. S.O. S.O. S.O. S.O.400K

    1000K

    2000K

    2300K

    1700K

    2560K

    900KProceso

    P1Proceso

    P1Proceso

    P1Proceso

    P1Proceso

    P1

    ProcesoP2

    ProcesoP2

    ProcesoP4

    ProcesoP4

    ProcesoP4

    ProcesoP5

    ProcesoP3

    ProcesoP3

    ProcesoP3

    ProcesoP3

    ProcesoP3

    2160

    K

    560K

    260K

    1000

    K

    300K

    600K

    260K 260K 260K 260K

    300K 300K156

    0K

    14Sistemas Operativos (IS11) Tema 4

    Fragmentacin de Particiones Variables:

    Externa: SI. (memoria dividida en huecos pequeos) Suma del espacio libre en memoria suficiente para el nuevo proceso. Pero no hay huecos suficientemente grandes para l. El nuevo proceso no se carga en memoria.

    Interna: NO. Las particiones se crean con el tamao solicitado por el proceso.

    Particiones Variables.

  • 15Sistemas Operativos (IS11) Tema 4

    Esta asignacin de memoria se denomina: Asignacin dinmica de almacenamiento

    Como elegir un hueco cuando llega un nuevo proceso de tamao N?

    Estrategas: Primer Ajuste:

    Escoge el primer hueco libre de tamao suficiente. Mejor Ajuste:

    Hueco ms pequeo con tamao suficiente (requiere ver toda la lista si no est ordenada).

    Peor Ajuste: Hueco ms grande: Pretende conseguir que los huecos que queden

    sean grandes (requiere ver toda la lista si no ordenada).

    Particiones Variables.

    16Sistemas Operativos (IS11) Tema 4

    Cul es el mejor?

    Simulaciones y Estadsticas: Criterio tiempo (reduccin) y utilizacin de memoria

    (aprovechamiento): Primer Ajuste y Mejor Ajuste son mejores que Peor

    Ajuste.

    Regla del 50%: un anlisis estadstico refleja que Con Primer Ajuste por cada N bloques de memoria asignados se

    pierden 0,5 N bloques por fragmentacin externa (1/3 memoria inutilizada).

    Particiones Variables.

  • 17Sistemas Operativos (IS11) Tema 4

    CPU

    Registro Base=1400

    Registro Lmite=500

    +

    Direccin Logica= 346

    Direccin Fsica= 1746

    Es menor ?

    Interrupcin Hardwareinterna al S.O.

    NO

    SI

    S.O.

    ProcesoP4

    ProcesoP5

    ProcesoP3

    1400K

    1900K

    Proteccin de Memoria: se utiliza cdigo reubicable Si cdigo reubicable -> se pueden usar registros base y lmite.

    Particiones Variables.

    18Sistemas Operativos (IS11) Tema 4

    Compactacin: intenta solucionar fragmentacin ext. Consiste en desplazar las particiones ocupadas para que estn

    juntas en memoria: Queda un solo hueco libre de mayor tamao.

    Es una solucin al problema de fragmentacin externa. Slo es posible si la reubicacin es dinmica (en ejecucin). Ejemplo:100+300+260=Hueco de 660k

    Particiones Variables.

    S.O. S.O.400K 400K

    1000K

    2000K 1900K

    2300K

    1700K1600K

    2560K 2560K

    900K 900K

    ProcesoP4

    ProcesoP4

    ProcesoP5

    ProcesoP5

    ProcesoP3

    ProcesoP3

  • 19Sistemas Operativos (IS11) Tema 4

    Problemas de la Compactacin: Consume tiempo: Desplazar zonas de memoria. Difcil seleccionar una estrategia de compactacin ptima.

    Cul es la mejor?

    Particiones Variables.

    S.O.300K

    100

Recommended

View more >