(2015)Unidad 3 Memoria

34
7/23/2019 (2015)Unidad 3 Memoria http://slidepdf.com/reader/full/2015unidad-3-memoria 1/34 Sistemas Operativos 2014 Teoría 3: Memoria JTP:Agustín Par JTP:Emanuel Bo

Transcript of (2015)Unidad 3 Memoria

Page 1: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 1/34

Sistemas Operativos 2014

Teoría 3: Memoria

JTP:Agustín ParJTP:Emanuel Bo

Page 2: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 2/34

Sistemas Operativos 2014

Administración de Memori★ División Lógica de la Memoria para a

múltiples procesos.

★ La Memoria debe ser asignadaeficientemente para contener el mayonúmero de procesos como sea posibl

Page 3: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 3/34

Sistemas Operativos 2014

Requisitos● El programador no debe ocuparse de conocer

será colocado el programa para ser ejecutado.● Mientras un proceso se ejecuta, puede ser sac

traído a la memoria (swap) y colocarse en diferlugares.● Las referencias a la memoria se deben traduci

dirección actual del proceso.

Page 4: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 4/34

Sistemas Operativos 2014

Protección★ Los procesos no deben ser capaces de referen

direcciones de memoria de otros procesos (saltengan permiso).

★ El chequeo se debe realizar durante la ejecució○ El SO no puede anticipar todas las referencmemoria que un proceso puede realizar.

Page 5: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 5/34

Sistemas Operativos 2014

 Compartición➢ Permitir que varios procesos accedan a la mism

porción de memoria.○ Ej: Rutinas comunes, librerías, espacios

explícitamente compartidos, etc.➢ Lleva a un mejor uso de la memoria, evitando c

innecesarias de instrucciones.

Page 6: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 6/34

Sistemas Operativos 2014

 Abstracción - Espacio de Direcciones● Rango de direcciones (a memoria) posibles qu

proceso puede utilizar para direccionar susinstrucciones y datos.

● Varía en un rango dependiendo de la arquitect○ 32 bits: 0 .. 2³² - 1○ 64 bits: 0 .. 2⁶⁴ – 1

● Debe ser independiente de la ubicación “real” dproceso en la memoria.

Page 7: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 7/34

Sistemas Operativos 2014

Direcciones❖ Lógicas➢ Referencia a una localidad de memoria

independiente de la asignación actual de lo

en la memoria.➢ Se debe realizar una traducción a una direcfísica.

❖ Físicas➢ La dirección absoluta en la memoria princip

Page 8: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 8/34

Sistemas Operativos 2014

Direcciones - Registros utilizados➢ Registro Base

○ Dirección de comienzo del proceso.➢ Registro Límite

○ Dirección final del proceso o medida del pro➢ Su valor se fija cuando el proceso es cargado amemoria (Context Switch)

Page 9: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 9/34

Sistemas Operativos 2014

➔ Se utiliza la dirección lógica junto conregistro base para obtener una direccfísica (según la técnica utilizada).

➔ El resultado se compara con el valor dregistro límite (según la técnica utiliza

➔ Si la dirección generada es incorrectagenera una interrupción al SO.

Page 10: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 10/34

Sistemas Operativos 2014

Dir. Lógicas vs. Físicas● La CPU trabaja con direcciones lógicas. Para a

memoria principal, se deben transformar en dirabsolutas.

● Resolución de direcciones (address-binding): tla dirección lógica en la dirección física corresp● Resolución en momento de compilación y en ti

carga.○ Direcciones Lógicas y Físicas son idénticas

Page 11: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 11/34

Sistemas Operativos 2014

Dir. Lógicas vs. Físicas● Resolución en tiempo de ejecución

○ Direcciones Lógicas y Físicas son diferente○ Direcciones Lógicas son llamadas “Direccio

Virtuales”○ El mapeo entre “Virtuales” y “Físicas” es reapor hardware (MMU (Memory Management

Page 12: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 12/34

Sistemas Operativos 2014

Memory Management Unit (MMU)➔ Dispositivo de Hardware que mapea direccionevirtuales a físicas◆ Es parte del Procesador ◆ Re-programar el MMU es una operación pri

que solo puede ser realizada en Kernel Mod➔ El valor en el “registro de realocación” es suma

cada dirección generada por el proceso de usumomento de acceder a la memoria.

◆ Los procesos nunca ver direcciones físicas.

Page 13: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 13/34

Sistemas Operativos 2014

Particiones➔ La memoria es dividida en varias regiones (par➔ Los procesos (su espacio de direcciones) se co

las particiones según su tamaño.

➔ Técnicas:◆ Particiones Fijas◆ Particiones Dinámicas

Page 14: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 14/34

Page 15: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 15/34

Sistemas Operativos 2014

Particiones Fijas (cont).➔ Tamaños

◆ Diferente Tamaño◆ Evita el problema de las particiones de igua

tamaño.◆ Complejidad en el algoritmo de selección de

partición para un proceso.

Page 16: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 16/34

Sistemas Operativos 2014

Particiones Dinámicas● Las particiones son de tamaño y núm

variable.● Los procesos son colocados exactam

en particiones de igual a su tamaño(generadas dinámicamente).

Page 17: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 17/34

Page 18: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 18/34

Sistemas Operativos 2014

Swapping➔ Un proceso puede ser temporalmente sacado d

memoria (swapped out) a un disco de manera permitir la ejecución de otros procesos.

➔ Si se descarga considerando las direcciones fís

◆  Al hacer swapped in se debe cargar en el mespacio de memoria que ocupaba antes➔ Si se descarga considerando las direcciones ló◆  Al hacer swapped in se puede cargar en cu

espacio de direcciones de memoria

Page 19: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 19/34

Page 20: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 20/34

Page 21: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 21/34

Sistemas Operativos 2014

Segmentación (cont.)➔ Todos los segmentos de un programa pueden

el mismo tamaño (código, datos, rutinas).➔ Las direcciones Lógicas consisten en 2 partes:

◆ Selector de Segmento◆ Desplazamiento dentro del segmento

Page 22: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 22/34

Page 23: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 23/34

Page 24: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 24/34

Sistemas Operativos 2014

MV con Paginación● Cada proceso tiene su tabla de páginas● Cada entrada en la tabla referencia al frame en

se encuentra la página en la memoria principa

● Cada entrada en la tabla de páginas tiene bits control (entre otros):● Bit V: Indica si la página se encuentra en mem● Bit M: Indica si la página fue modificada. Si se

se debe reflejar los cambios en la Mem.Sec.

Page 25: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 25/34

Page 26: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 26/34

Page 27: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 27/34

Page 28: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 28/34

Sistemas Operativos 2014

Tabla de PáginasCada proceso tiene su tabla de páginas

El tamaño de la tabla de páginas depend

del espacio de direcciones del proceso.Puede alcanzar un tamaño considerable

El SO pagina las tablas de cada proceso

Page 29: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 29/34

Page 30: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 30/34

Sistemas Operativos 2014

 Asignación de Marcos● Cuántas páginas de un proceso se pueden encen memoria?○ Tamaño del Conjunto Residente

● Asignación Dinámica○ El número de marcos para cada proceso va● Asignación Fija

○ Número fijo de marcos para cada proceso

Page 31: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 31/34

Sistemas Operativos 2014

Reemplazo de páginas❖ Qué sucede si ocurre un fallo de página y todo

marcos están ocupados=>“Se debe seleccionapágina víctima”

❖ ¿Cual sería Reemplazo Óptimo?

➢ Que la página a ser removida no sea refereen un futuro próximo

❖ La mayoría de los reemplazos predicen elcomportamiento futuro mirando el comportamie

pasado

Page 32: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 32/34

Sistemas Operativos 2014

 Alcance del Reemplazo➢ Reemplazo Global○ El fallo de página de un proceso puede ree

la página de cualquier proceso.

○ El proceso no controla su tasa de page-faul○ Puede tomar sólo frames de otro procesoaumentando la cantidad de frames asignad

○ Un proceso de alta prioridad podría tomar lode un proceso de menor prioridad.

Page 33: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 33/34

Sistemas Operativos 2014

 Alcance del Reemplazo (cont.)➢ Reemplazo Local○ El fallo de página de un proceso solo puede

reemplazar sus propias páginas○ No cambia la cantidad de frames asignados○ El proceso puede determinar cual es su tas

page-faults.○ Un proceso puede tener frames asignados

usa, y no pueden ser usados por otros proc

Page 34: (2015)Unidad 3 Memoria

7/23/2019 (2015)Unidad 3 Memoria

http://slidepdf.com/reader/full/2015unidad-3-memoria 34/34

Sistemas Operativos 2014

 Algoritmos de Reemplazo★ ÓPTIMO★ FIFO★ LRU (Least Recently Used)★ 2da. Chance★ NRU (Non Recently Used)

○ Utiliza bits R y M○ ~R ,~M > ~R, M > R, ~M > R, M