(2015)unidad 3 memoria
TRANSCRIPT
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
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
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.
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.
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.
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.
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
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)
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.
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
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
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.
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
7/23/2019 (2015)Unidad 3 Memoria
http://slidepdf.com/reader/full/2015unidad-3-memoria 14/34
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.
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).
7/23/2019 (2015)Unidad 3 Memoria
http://slidepdf.com/reader/full/2015unidad-3-memoria 17/34
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
7/23/2019 (2015)Unidad 3 Memoria
http://slidepdf.com/reader/full/2015unidad-3-memoria 19/34
7/23/2019 (2015)Unidad 3 Memoria
http://slidepdf.com/reader/full/2015unidad-3-memoria 20/34
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
7/23/2019 (2015)Unidad 3 Memoria
http://slidepdf.com/reader/full/2015unidad-3-memoria 22/34
7/23/2019 (2015)Unidad 3 Memoria
http://slidepdf.com/reader/full/2015unidad-3-memoria 23/34
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.
7/23/2019 (2015)Unidad 3 Memoria
http://slidepdf.com/reader/full/2015unidad-3-memoria 25/34
7/23/2019 (2015)Unidad 3 Memoria
http://slidepdf.com/reader/full/2015unidad-3-memoria 26/34
7/23/2019 (2015)Unidad 3 Memoria
http://slidepdf.com/reader/full/2015unidad-3-memoria 27/34
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
7/23/2019 (2015)Unidad 3 Memoria
http://slidepdf.com/reader/full/2015unidad-3-memoria 29/34
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
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
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.
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
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