unidad 2 [admon memoria]

Upload: eduardo-a-blancas-fable

Post on 03-Jun-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 Unidad 2 [Admon Memoria]

    1/58

  • 8/12/2019 Unidad 2 [Admon Memoria]

    2/58

    A D M I N I S T R A D O R D E M E M O R I A

    PRIMEROS SISTEMAS

  • 8/12/2019 Unidad 2 [Admon Memoria]

    3/58

    CONTENIDO

    La administracin de la memoria principal es vital. El desempeo de todosistema ha dependido de dos cosas:

    cuanta memoria est disponible

    de qu manera se utiliza mientras se procesan los trabajos otareas

    Existen cuatro tipos de esquemas de asignacin de memoria:

    Sistemas de un usuario

    Particiones fijas

    Particiones dinmicas

    Particiones dinmicas relocalizables

  • 8/12/2019 Unidad 2 [Admon Memoria]

    4/58

    SISTEMA DE GESTIN DE MEMORIA

    Memoria

    Un soloproceso

    VariosProcesos

    ParticionesFijas

    Particionesdinmicas

    Paginacin

    MemoriaVirtual

    Segmentacin Pag. / Seg.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    5/58

    ALGORITMO DE USUARIO NICO

    Cada programa que se iba a procesar se cargaba completo en memoria y se leasignaba tanto espacio contiguo como necesitara.

    Si el programa era demasiado grande y no caba en el espacio de memoriadisponible, no se poda ejecutar

    Factor limitante en todas las computadoras: tienen una cantidad finita dememoria y si un programa no cabe, hay que incrementar el tamao de lamemoria principal o modificar el programa, por lo general se usan mtodosque permiten la superposicin de segmentos de programa (particiones del

    programa).

    Se da acceso a cada usuario a toda la memoria principal disponible para cadatarea y estas se procesan en secuencia, una despus de la otra.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    6/58

    ALGORITMO1. Almacene la primera localidad de memoria del programa en el registro

    base

    2. Ponga el contador del programa (cont. la direc. de la sig. instruc. quese va a ejecutar) igual que la direccin de la primera localidad dememoria

    3. Lee la primera instruccin del programa

    4. Incremente el contador de programa en el nmero de bytes que ocupa

    la instruccin5. Ha llegado a la ltima instruccin?

    Si es as, pare la carga del programa

    Si no es as, continu en el paso 6

    6. El contar de programa es ms grande que el tamao de la memoria?

    Si es as, deje de cargarSi no es as, contine con el paso 7

    7. Cargue la instruccin en la memoria

    8. Lea la siguiente instruccin del programa

    9. Vaya al paso 4

  • 8/12/2019 Unidad 2 [Admon Memoria]

    7/58

    PARTICIONES FIJAS

    Una particin para cada tarea, dado que el tamao de cada particin seespecificaba al encender el sistema

    cada particin solo podra reconfigurarse reiniciando el sistema, por loque una vez estando el sistema en operacin, el tamao de lasparticiones quedaba fijo.

    La proteccin del espacio en memoria para la tarea; una vez asignadauna particin a una tarea, no se permita que ninguna otra tarea entraraen esos lmites, (ni de manera accidental o intencional)

  • 8/12/2019 Unidad 2 [Admon Memoria]

    8/58

    PARTICIONES FIJAS [ALGORITMO]

    1. Determine el tamao de memoria solicitado por la tarea

    2. Si el tamao de la tarea es mayor a la particin ms grande

    Entonces : rechace la tarea, Imprima un mensaje apropiado para el usuario, Vaya al paso 1para manejar la siguiente tarea en lnea

    Si no : Continu con el paso 3

    3. Ponga el contador en 1

    4. Mientras el contador sea mayor igual al numero de particiones en memoriaSi el tamao de la tarea es mayor al tamao de la particin de memoria (contador)

    Entonces contador = contador +1;

    Si no : Si el estado de particin de la memoria (contador) = libre

    Entonces cargue la tarea en la particin de memoria (contador)

    Cambie el estado de particin de memoria (contador) a ocupado

    Vaya al paso 1Si no: Contador =contador + 1

    Fin mientras

    5. No hay una particin disponible en este momento: coloque la tarea en la cola de espera

    6. Vaya al paso 1

  • 8/12/2019 Unidad 2 [Admon Memoria]

    9/58

    PARTICIONES FIJAS [EJEMPLO]

    Tabla de asignacin de memoria de particin libre

    Tamao de laParticin

    Direccin dememoria

    AccesoEstado de la

    particin

    100 K 200 Tarea 1 Ocupado

    25 K 300 Tarea 4 Ocupado

    25 K 325 Libre

    50 K 350 Tarea 2 Ocupado

    Lista de tareasT1 30 KT2 50 KT3 30 KT4 25 K Tarea 1 (30 k)

    Tarea 4 (25 K)

    Tarea 2 (50 K)

    100 K25 K25 K50 K

    EstadoOriginal

    Despus de laaceptacin de la tarea

    P1

    P2

    P3

    P4

    P1

    P2

    P3

    P4

  • 8/12/2019 Unidad 2 [Admon Memoria]

    10/58

    PARTICIONES DINMICAS

    Con las particiones dinmicas, la memoria disponible an se conservaen bloques contiguos, pero a las tareas nada ms se les da la memoriaque solicitan cuando se cargan para su procesamiento

    Un esquema como este usa toda la memoria al cargar las primerastareas

    primeroen llegar, primero en recibir atencin

    Por lo que la asignacin de memoria crea fragmentos de memoria libreentre bloques de memoria asignada, a lo que se conoce comofragmentacin externa

  • 8/12/2019 Unidad 2 [Admon Memoria]

    11/58

  • 8/12/2019 Unidad 2 [Admon Memoria]

    12/58

    PARTICIONES DINMICAS [EJEMPLO]

    Tabla de asignacin de memoria de particin Dinmica

    Tamao de

    laParticin

    Direccin

    dememoria

    Acceso Fragment.Estado de

    laparticin

    10 K 200 Tarea 5 5K Ocupado

    15 K 210 Tarea 2 0K Ocupado

    20 K 225 Tarea 7 10K Ocupado

    50 K 245 Tarea 6 20K Ocupado

  • 8/12/2019 Unidad 2 [Admon Memoria]

    13/58

    ASIGNACIN DE MEJOR AJUSTE ENCOMPARACIN CON PRIMER AJUSTE

    Para los esquemas de asignacin fija y de memoria dinmica, el sistemaoperativo debe mantener listas de cada localidad de memoria, anotando culesestn libres y cules estn ocupadas.

    Estas particiones se pueden asignar segn la tcnica del: Primer ajuste:

    primera particin que llena los requisitos

    organiza las listas libres /ocupadas por localidades de memoria, de bajo orden hasta alto orden.

    es ms rpido para asignar.

    Mejor ajuste: la particin ms pequea que llena los requisitos

    mantiene las listas libres /ocupadas en orden por tamao, desde la ms pequea a la msgrande

    aprovecha el mejor uso del espacio de memoria

    se desperdicia tiempo buscando el espacio ms adecuado

    La misma lista de tareas utilizara la memoria con mayor eficiencia.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    14/58

    PRIMER AJUSTE [ALGORITMO]

    Este algoritmo asume que: el administrador de la memoria mantiene dos listas: uno para los

    bloques de memoria libres y otra para los bloques de memoriaocupados

    compara el tamao de cada tarea con el tamao de cada bloque dememoria, hasta hallar un bloque lo suficientemente grande para latarea

    se almacena en ese bloque de memoria el administrador de la memoria sale del ciclo para tomar la siguiente

    tarea de la cola de entrada. Si busca en vano en toda la lista, deja la tarea en una cola de espera,

    toma la siguiente tarea y repite el proceso fragmentacin interna, dan lugar al desperdicio de memoria.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    15/58

    PRIMER AJUSTE [ALGORITMO]

    Nmero detarea

    Tl

    Memoriasolicitada

    10K .T2 20KT3 30K*T4 10K

    Lista de memoria:Localidad Tamao del

    memoria bloque de mem.Nm. tarea Tam. tarea Edo. Fragmentacin

    interna10240

    4096056320107520

    30K

    15K50K20K

    Total 115Kdisponible

    Tl 10K Ocupado 20K

    T4 10K Ocupado 5KT2 20K Ocupado 30K

    ___ LibreTotal 40K

    Utilizado

  • 8/12/2019 Unidad 2 [Admon Memoria]

    16/58

  • 8/12/2019 Unidad 2 [Admon Memoria]

    17/58

    EJERCICIO

    Considerar un sistema de intercambio en el que lamemoria posee particiones libres de tamao fijo:1000kb, 400kb, 1800kb, 700kb,900kb,1200 kb y

    1500kb. Estas particiones estn en el orden dado.Se tienen tres procesos de tamaos 1200kb, 1000kby 900 kb.

    Como quedaran las TDP para:

    Primer ajuste

    Mejor ajuste

    Peor ajuste

    Siguiente ajuste

  • 8/12/2019 Unidad 2 [Admon Memoria]

    18/58

    DESASIGNACIN

    Cuando se termina la tarea, el administrador de memoria restablece el estado delbloque de memoria, donde se asigno la tarea como libre.

    Un sistema de particin dinmica utiliza un algoritmo ms complicado, ya que este

    trata de combinar reas libres de memoria siempre que sea posible.

    Caso 1. Cuando el bloque que se va a liberar o desasignar est junto a otrobloque libre.

    Caso 2.Cuando el bloque por liberar se encuentra entre dos bloques libres.

    Caso 3. Cuando el bloque que se va a liberar se encuentra aislado de otrosbloques libres.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    19/58

    CASO 1 UNIN DE DOS BLOQUES LIBRES

    La siguiente tabla muestra como ocurre la desasignacin en un sistema deasignacin de memoria dinmico, cuando la tarea que termina esta junto a unbloque de memoria libre.

    Direccin de inicio Tamao del bloque dememoria

    Estado

    4075 105 Libre5225 5 Libre6785 600 Libre7560 20 (Ocupado)

    (7600) (200) (Ocupado)*7800 5 Libre10250 4050 Libre

    15125 230 Libre24500 1000 Libre

    Est es la lista libre original antes de ladesasignacin del caso 1. El asterisco indicael bloque de memoria libre vecino al bloquede memoria que pronto se liberar.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    20/58

    CASO 1 UNIN DE DOS BLOQUES LIBRES

    Despus de desasignar, la lista libre se ve como sigue:

    Caso 1. Lista libre despus de la desasignacin.

    El asterisco indica la localidad donde se efectuaron cambios en elbloque de memoria libre.

    Direccin de inicio Tamao del bloque dememoria

    Estado

    4075 105 Libre5225 5 Libre6785 600 Libre

    7560 20 Libre*7600 205 Libre10250 4050 Libre15125 230 Libre24500 1000 Libre

  • 8/12/2019 Unidad 2 [Admon Memoria]

    21/58

    CASO 2 UNIN DE TRES BLOQUES LIBRES

    Cuando el espacio de memoria liberado est entre dos bloques de memoria libre,el proceso es similar.

    Direccin de inicio Tamao del bloque dememoria

    Estado

    4075 105 Libre5225 5 Libre6785 600 Libre

    *7560 20 Libre(7580) (20) (Ocupado)*7600 205 Libre10250 4050 Libre15125 230 Libre

    24500 1000 Libre

    Caso 2. Lista libre original antes de ladesasignacin. Los asteriscos indicanlos dos bloques de memoria librevecinos al bloque de memoria quepronto se va a liberar.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    22/58

    CASO 2 UNIN DE TRES BLOQUES LIBRES

    Dado que la entrada en la localidad 7600 se combino con la entrada anterior,debemos vaciaresta entrada. Lo hacemos cambiando el estado a entrada nula,si direccin de inicio ni tamao de bloque de memoria, segn indica el asteriscode la siguiente tabla. Este vuelve innecesario tener que rearreglar la lista aexpensas de la memoria.

    Direccin de inicio Tamao del bloque dememoria Estado

    4075 105 Libre5225 5 Libre6785 600 Libre7560 245 Libre

    * Entrada nula

    10250 4050 Libre15125 230 Libre

    24500 1000 Libre

    Caso 2. Lista libre despus de que una tarea ha

    liberado memoria.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    23/58

    CASO 3 DESASIGNACIN DE UN BLOQUEAISLADO

    La tercera opcin es cuando el espacio por liberar est aislado de las dems reaslibres.

    Para este ejemplo necesitamos saber ms sobre la forma en que estaconfigurada la lista de memoria ocupada.

    Direccin de inicio Tamao del bloque dememoria

    Estado

    4075 105 Libre5225 5 Libre6785 600 Libre

    7560 245 Libre* Entrada nula

    10250 4050 Libre15125 230 Libre24500 1000 Libre

    Caso 3. Lista libreoriginal antes dela desasignacin.El bloque de

    memoria quepronto seliberar no estjunto a algnbloque libre.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    24/58

    CASO 3 DESASIGNACIN DE UN BLOQUEAISLADO

    Direccin de inicio Tamao del bloque dememoria

    Estado

    7805 1000 Ocupado*8805 445 Ocupado9250 1000 Ocupado

    Caso 3. Lista de memoria ocupada antes de la

    desasignacin. La tarea que se va adesasignar es de tamao 445 y empieza en lalocalidad 8805. El asterisco indica el bloquede memoria que prontoser libre.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    25/58

    CASO 3 DESASIGNACIN DE UN BLOQUEAISLADO

    El esquema presentado en este ejemplo crea durante el proceso deasignacin o desasignacin de la memoria entradas nulas tanto en la listaocupada como en la lista libre. En el caso 2 se present un ejemplo de unaentrada nula resultante de una desasignacin. Se da una entrada nula en lalista ocupada cuando se devuelve a la lista libre un bloque de memoria que se

    encuentra entre otros bloques ocupados. Este mecanismo asegura que todoslos bloque se coloquen en las listas de acuerdo con la direccin de inicio desus localidades de memoria, desde el ms pequeo hasta el ms grande.

    Direccin de inicio Tamao del bloque dememoria

    Estado

    7805 1000 Ocupado* Entrada nula

    9250 1000 Ocupado

    Caso 3. Lista ocupada despus de que la tarea liber sumemoria. El asterisco indica la nueva entrada nula en la listaocupada.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    26/58

    CASO 3 DESASIGNACIN DE UN BLOQUEAISLADO

    Cuando se encuentra la entrada nula, la localidad de memoria de inicio deltrabajo que esta terminando se introduce en la columna de direccin deinicio, el tamao de la tarea se introduce en la columna del tamao del bloquede memoria y el estado cambia de entrada nula a libre para indicar que unnuevo bloque de memoria esta disponible.

    Direccin de inicio Tamao del bloque dememoria

    Estado

    4075 105 Libre5225 5 Libre6785 600 Libre7560 245 Libre

    *8805 445 Libre

    10250 4050 Libre15125 230 Libre24500 1000 Libre

    Caso 3. Lista libre despus de que la tarea libera sumemoria. El asterisco indica la entrada nuevobloque libreque reemplaza a la entrada nula.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    27/58

    PARTICIONES DINMICAS RELOCALIZABLES

    Problema:

    La fragmentacin (astillas) de las particiones fijas y dinmicas

    Solucin:

    Particiones dinmicas relocalizables

    El sistema operativo se encarga de compactar la memoria: proceso conocidocomo recoleccin de basurao desfragmentacin

    Mientras se realiza la desfragmentacin todo lo dems debe esperar

    Todos los programas deben de relocalizar de manera que queden contiguos yajustar direcciones y referencias a las direcciones en todos los programas paratomar en consideracin la nueva localizacin del programa en memoria

  • 8/12/2019 Unidad 2 [Admon Memoria]

    28/58

    PARTICIONES DINMICAS RELOCALIZABLES

    Cundo y con que frecuencia debe efectuarse la compactacin?

    1) Realizarla cuando cierto porcentaje de la memoria queda ocupada, digamos

    un 75%.

    2) Compactar la memoria solo cuando hayan tareas en espera de entrar

    3) Compactar despus de un lapso preestablecido

  • 8/12/2019 Unidad 2 [Admon Memoria]

    29/58

    A D M I N I S T R A D O R D E M E M O R I A

    SISTEMAS RECIENTES

  • 8/12/2019 Unidad 2 [Admon Memoria]

    30/58

    PAGINACIN

    Es una tcnica de manejo de memoria en el cual los programas o tareasse dividen en unidades fsicas denominadas paginas,

    Las pginasse pueden cargar de forma aleatoria en cualquier bloque dememoria denominado ahora marco de pagina, los cuales son de igualtamao

    La principal ventaja de la paginacin simple es el almacenamiento nocontinuo de las paginas dentro de la memoria principal (la tarea sealmacena completa en la memoria).

    Las secciones de un disco se conocen como sectores y los sectores de lamemoria principal se denominan marcos de pgina. Este esquema funcionacuando:

    Pginas = Sectores =Marcos de Pgina MISMO TAMAO

  • 8/12/2019 Unidad 2 [Admon Memoria]

    31/58

    PAGINACIN

    Para realizar la paginacin el administrador de memoria debe realizar lassiguientes tareas:

    1) Determinar el nmero de pginas de cada tarea.

    2) Ubicar los marcos de pgina vacos en la memoria principal.

    3) Cargar todas las pginas de la tarea en los marcos de pgina.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    32/58

    PAGINACIN

    Debido a esto se requiere el manejo de tres tablas importantes:

    1. TABLA DE MAPA DE MEMORIA (MMT): Solo existe una tabla de mapa dememoria en el sistema y contiene la direccin de inicio de los marcos depgina y su estado libre u ocupado.

    2. TABLA DE TAREAS (JT): Existe una para cada tarea activa en el sistema la cualcontiene el tamao de la tarea en nmeros de pgina y la localidad dememoria donde se encuentra almacenada su tabla de mapa de pgina (PMT).

    3. TABLA DE MAPA DE PAGINAS (PMT): Existe una para cada tarea activa la cualcontiene informacin vital correspondiente a cada pgina como el nmero depgina y la direccin de memoria del marco de pgina donde se encuentraalmacenada.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    33/58

    PAGINACIN

  • 8/12/2019 Unidad 2 [Admon Memoria]

    34/58

    PAGINACIN

    Las tres tablas residen en la parte de la memoria principal reservada al sistemaoperativo.

    Ejemplo de tabla de tareas

    Tabla de tareas

    Tamao del

    trabajo

    Localizacin

    del PMT

    400 3096

    200 3100

    500 3150

    Tabla de tareas

    Tamao deltrabajo

    Localizacindel PMT

    400 3096

    500 3150

    Tabla de tareas

    Tamao del

    trabajo

    Localizacin

    del PMT

    400 3096

    700 3100

    500 3150

  • 8/12/2019 Unidad 2 [Admon Memoria]

    35/58

    PAGINACIN

    Cada tarea activa tiene una tabla de mapa de pginas (PMT) que contieneinformacin correspondiente a cada pgina: el nmero de pgina y la direccinde memoria del marco de pgina correspondiente.

    Ejemplo de tabla de mapa de pginas

    Nmero de pgina de la tarea Nmero de marco de pgina

    0 8

    1 10

    2 5

    3 11

  • 8/12/2019 Unidad 2 [Admon Memoria]

    36/58

    PAGINACIN

    El desplazamiento de una lnea es le factor que se utiliza para localizarla en sumarco de pgina.

    Por ejemplo, las lneas 0, 100, 200 y 300 son las primeras lneas de las pginas 0, 1,2 y 3 por lo que cada una tiene un desplazamiento igual a 0.

    La primera lnea de cada pgina tiene un desplazamiento igual a 0, la segundalnea un desplazamiento de 1 y as hasta la ltima lnea que tiene un

    desplazamiento de 99.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    37/58

    PAGINACIN

    Para encontrar la direccin de una lnea de programa dada, el nmero de la lnease divide entre el tamao de la pgina y el residuo se conserva como un nmeroentero.

    El cocienteresultante es el nmero de la pginay el residuoes el desplazamientodentro de dicha pgina.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    38/58

    PAGINACIN

    Para el ejemplo anterior:

    La lnea 214 esta en la pgina 2, a 15 lneas de laparte superior de la pgina.

    Obtener el nmero de pgina y eldesplazamiento de la lnea 36.

    La lnea 36 esta en la pgina 0, a 37 lneas de la

    parte superior de la pgina.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    39/58

    PAGINACIN

    En el primer ejemplo, buscamos una instruccin con un desplazamiento de 14 de la pgina2, para encontrar su localidad exacta en la memoria

    Paso 1 : Efectuar el clculo aritmtico para determinar el nmero de pgina y eldesplazamiento de la lnea.

    Numero de pgina = cociente entero de una divisin de la direccin del espacio de la tarea entreel tamao de la pgina.

    Desplazamiento = residuo de la divisin del nmero de pginaPaso 2 : Referirse a la PMT de esta tarea y determinar que marco de pgina contiene lapgina 2

    Paso 3 : Obtener la direccin de inicio del marco de pgina multiplicando el nmero demarco de pgina por el tamao del marco de pgina.

    Dir_Inicio_Marco = Num_Marco_Pag * Tamao_Pag

    Paso 4: Aadir el desplazamiento a la direccin inicial del marco de pgina para calcular lalocalidad precisa en la memoria de la lnea:

    Dir_Real_Mem = Dir_Ini_Marco + despla

  • 8/12/2019 Unidad 2 [Admon Memoria]

    40/58

    PAGINACIN [EJERCICIO]

    1.Determinar de que tamao son los marcos

    2.Generar la PMT3.Calcular el nmero de pgina y el desplazamiento de la lnea 518

    4.cul es el nmero de marco de pgina para la pgina 1

    5.Calcule la direccin inicial del marco de pgina

    6.Calcule la direccin exacta de la instruccin en la memoria principal, sumando eldesplazamiento a la direccin inicial.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    41/58

    PAGINACIN

  • 8/12/2019 Unidad 2 [Admon Memoria]

    42/58

    PAGINACIN POR DEMANDA

    Es similar a lo visto para la paginacin simple, con la diferencia que esteesquema introdujo la idea de cargar solo una porcin del programa para suprocesamiento.

    Los paginas de los procesos residen en el disco duro y solo cuando van a serejecutados deben ser cargados en memoria.

    Una de las innovaciones de mayor importancia en la paginacin por demanda esque hizo posible el amplio uso de la memoria virtual, lo que permite al usuario

    ejecutar tareas con menos memoria principal de lo que requerira si utilizara lapaginacin simple.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    43/58

    PAGINACIN POR DEMANDA

    El sistema operativo se sigue apoyando en las mismas tablas que se utilizan en lapaginacin simple, pero con la adicin de tres nuevos campos para cada pginaen la Tabla de Mapa de Paginas:

    Campo 1: establece si la pagina solicitada esta o no en la memoria.

    Campo 2: determina si el contenido de la pgina se ha modificado.

    Campo 3: define si la pgina ha sido referenciada recientemente.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    44/58

    PAGINACIN POR DEMANDA

    Valor Significado0 No en memoria1 Reside en

    memoria

    Bit de estado Bit de modificacin

    Bit de referencia

    Valor Significado0 No modificado1 Modificado

    Valor Significado0 No llamada1 Llamada

    El bit de estado para todas las pginas situadas en la

    memoria es 1. Una pgina debe estar en la memoria

    antes que se pueda intercambiar, de manera quetodos los candidatos para intercambio tienen un 1 en

    esta columna.

    Los otros dos bits pueden ser 0 o 1, por lo que hay

    cuatro combinaciones posibles para los bits de

    referencia y de modificacin

    Modif icacin Referencia Signi f icadoCaso 1 0 0 No modificada y no referidaCaso 2 0 1 No modificada pero referidaCaso 3 1 0 Modificada pero no referidaCaso 4 1 1 Modificada y referida

  • 8/12/2019 Unidad 2 [Admon Memoria]

    45/58

    PAGINACIN POR DEMANDA [EJEMPLO]

    Tarea 1 Memoria Principal

    Tarea 2

    Tarea 3

    Tarea 4

    Pgina 0Pgina 1Pgina 2Pgina 3

    P0 S 5P1 S 9P2 S 7P3 S 12

    Pgina 0Pgina 1

    Pgina 0Pgina 1Pgina 2

    Pgina 0Pgina 1Pgina 2Pgina 3Pgina 4Pgina 5

    P0 S 10P1 S 14

    P0 S 4P1 S 8P2 S 11

    P0 S 6P1 S 13P2 S 15P3 NP4 NP5 N

    Sistema Operativo

    Tarea 3 - P0Tarea 1 - P0Tarea 4 - P0Tarea 1 P2Tarea 3 - P1Tarea 1 - P1Tarea 2 - P0Tarea 3 - P2Tarea 1 - P3Tarea 4 - P1Tarea 2 - P1Tarea 4 - P2

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    Estado

    Modificacin

    ReferenciaNm. de marco de pgina

    S=s en memoria

    N=no en memoria

  • 8/12/2019 Unidad 2 [Admon Memoria]

    46/58

    POLTICAS DE REEMPLAZO

    Las polticas, seleccionan la pagina que se va a eliminar polticas de reemplazode pgina

    Primero en entrar, primera en salir (FIFO) La menos utilizada recientemente (LRU)

    Segunda Oportunidad

    Reloj

    No usada recientemente (NRU)

    De uso ms reciente (MRU)

    Del uso menos frecuente (LFU)

  • 8/12/2019 Unidad 2 [Admon Memoria]

    47/58

    POLTICAS DE REEMPLAZO

    Primero en entrar, primera en salir (FIFO)

    La tarea que se va a manejar necesita procesar sus pginas en el ordensiguiente: A,B,A,C,A,B,D,B,A,C,D

    Pgina solicitada B A C A B D B A C D

    A

    Interrupcin * * * * * * * * *

    Tiempo 1 2 3 4 5 6 7 8 9 10 11

    Marcode

    pgina 1Pgina A

    Marcode

    pgina 2(vaco)

    DA A C C B B B A A

    B B A A D D D C CB

  • 8/12/2019 Unidad 2 [Admon Memoria]

    48/58

    POLTICAS DE REEMPLAZO

    Para calcular la tasa de falla, dividimos el numero de solicitudes de pgina entreel nmero de interrupciones

    La tasa de falla de este sistema es de 9/11=82 82% la tasa de falla

    La tasa de xito es de 2/11=18 18%

    Los porcentajes se deben a las limitaciones en la memoria disponible y al orden

    en que se solicitan las pginas del programa

  • 8/12/2019 Unidad 2 [Admon Memoria]

    49/58

    POLTICAS DE REEMPLAZO

    La menos recientemente utilizada (LRU)

    La tarea que se va a manejar necesita procesar sus pginas en el ordensiguiente: A,B,A,C,A,B,D,B,A,C,D

    Pgina solicitada B A C A B D B A C D

    A

    Interrupcin * * * * * * * *

    Tiempo 1 2 3 4 5 6 7 8 9 10 11

    Marcode

    pgina 1Pgina A

    Marcode

    pgina 2(vaco)

    DA A A A A D D A A

    B C C B B B B C CB

  • 8/12/2019 Unidad 2 [Admon Memoria]

    50/58

    POLTICAS DE REEMPLAZO

    La menos recientemente utilizada (LRU)

    El bit de referencia, si ha sido llamada recientemente sirve alalgoritmo LRU para determinar que paginas intercambiar

    El bit de modificacin indica si el contenido de la pgina ha sidoalterado y se utiliza para definir si se debe volver a escribir enalmacenamiento secundario

    El bit de estadopara todas la s pginas situadas en memoria es 1,

    Modif. Ref. SignificadoCaso 1 0 0 No modificada y no referidaCaso 2 0 1 No modificada pero referidaCaso 3 1 0 Modificada pero no referidaCaso 4 1 1 Modificada y referida

  • 8/12/2019 Unidad 2 [Admon Memoria]

    51/58

    SEGMENTACIN

    El concepto de la segmentacin se basa en la prctica comn entre losprogramadores de estructurar sus programas en mdulos: agrupamientoslgicos de cdigo.

    Con la asignacin de memoria en segmentos cada tarea se divide en variossegmentos de tamaos diferentes, uno por cada mdulo que contiene piezas

    que ejecutan funciones relacionadas.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    52/58

    SEGMENTACIN

    Diferencias con respecto a paginacin:

    La paginacin divide la tarea en varias pginas del mismo tamao

    La memoria principal ya no se divide en marcos de pgina, porque el tamao de

    cada segmento es diferente

    Cuando se ensambla un programa, los segmentos se conforman de acuerdocon los mdulos estructurales del programa. Cada segmento esta numerado ypara cada tarea se genera una tabla de segmentos (SMT), que contiene:

    los nmeros de segmento

    su longitud los derechos de acceso,

    l estado y cuando cada uno de ellos se carga en memoria

    su localizacin en la misma.

  • 8/12/2019 Unidad 2 [Admon Memoria]

    53/58

  • 8/12/2019 Unidad 2 [Admon Memoria]

    54/58

    SEGMENTACIN [EJEMPLO]

    Programa

    Principal

    Subrutina A

    Subrutina B

    0

    .

    ..

    .

    .

    .

    349

    0

    ..

    .

    .

    199

    0

    .

    99

    Nmero de

    segmentoTamao Estado Acceso

    Direccin

    de la memoria

    0 350 S E 4000

    1 200 S E 7000

    2 100 N E

    Sistema

    Operativo

    Vaco

    Programa

    PrincipalOtros

    ProgramasSubrutina A

    OtrosProgramas

    S= si en memoriaN= No en memoria

    E= solo ejecutar

    0

    ..

    .3000

    4000

    .

    7000

    Tarea 1Memoria

    Principal

    Tabla de memoria

    SEGMENTACIN [EJEMPLO]

  • 8/12/2019 Unidad 2 [Admon Memoria]

    55/58

    SEGMENTACIN [EJEMPLO]

    Tarea 1Memoria

    Principal

    Tabla de segmentos de

    memoria para la tarea 1

    Llamar

    subrutina A

    Llamar

    subrutina B

    0

    ..

    100

    ..

    199

    0

    .99

    0

    .

    .50

    .

    .

    .

    349

    Nmerode

    segmentoTamao

    Protecc

    in

    Referencia

    Modificacin

    Estado

    Direccin de

    la memoria0 350 40001 200 70002 100 6000

    Sistema

    OperativoVaco

    Llamar subrutina APrograma Principal

    Subrutina B

    Subrutina ALlamar subrutina B

    0

    ..

    3000

    4000

    4050

    4349

    6000

    6099

    7000

    7100

    7199

  • 8/12/2019 Unidad 2 [Admon Memoria]

    56/58

    SEGMENTACIN

    El administrador de la memoria necesita controlar los segmentos de la memoriay lo hace con tres tablas, que combina aspectos de particiones dinmicas y de laadministracin de la memoria de paginacin por demanda.

    1. La tabla de tareas lista todas las tareas en proceso (una para todo elsistema)

    2. La tabla de mapa de segmentos lista detalles sobre cada segmento (unopor tarea)

    3.La tabla de mapa de memoria vigila la asignacin de la memoria

    principal (una para todo el sistema)

  • 8/12/2019 Unidad 2 [Admon Memoria]

    57/58

    SEGMENTACIN

    El administrador de la memoria necesita controlar los segmentos de la memoriay lo hace con tres tablas, que combina aspectos de particiones dinmicas y de laadministracin de la memoria de paginacin por demanda.

    1. La tabla de tareas lista todas las tareas en proceso (una para todo elsistema)

    2. La tabla de mapa de segmentos lista detalles sobre cada segmento (unopor tarea)

    3.La tabla de mapa de memoria vigila la asignacin de la memoria

    principal (una para todo el sistema)

  • 8/12/2019 Unidad 2 [Admon Memoria]

    58/58

    SEGMENTACIN

    En el esquema anterior el segmento 1 incluye toda la subrutina A, por lo que elsistema encuentra la direccin de inicio del segmento 1, direccin 7000 yempieza ah.

    Si la instruccin solicitaba que el procesamiento se iniciara en la lnea 100 de la

    subrutina A para localizar dicha lnea en la memoria, el administrador necesitaraagregar 100 (el desplazamiento) a 7000 (direccin de inicio del segmento 1).

    LOC_MEM_ACTUAL=LOC_INICIO_SEG_MEM + DESP

    El desplazamiento no puede ser ms grande que el tamao del segmento,aunque para eso el administrador debe verificar los tamaos para confirmarque no este fuera del lmite.