ut07 fso gestión de memoria
DESCRIPTION
Tema 7 FSO Gestión de Memoria upv valenciaTRANSCRIPT
Fundamentos de los Sistemas Operativos (FSO) Departamento de Informática de Sistemas y Computadoras (DISCA)
Universitat Politècnica de València
f SO
Bloque Temá,co 3: Ges,ón de Memoria Unidad Temá,ca 7
Ges,ón de Memoria
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 2
ETSINF-‐UPV
f SO
• Obje%vos – Introducir los conceptos básicos de ges%ón de memoria – Comprender la diferencia entre memoria lógica y 5sica – Entender el concepto de asignación con%gua de memoria – Analizar la problemá,ca de fragmentación asociada a la asignación con,gua
– Estudiar estrategias de asignación con%gua
• BibliograNa: – “Fundamentos de sistemas opera,vos” (capítulo-‐8) Silberschatz 7ª Ed
– “Sistemas opera,vos: una visión aplicada” (capítulo-‐5) Jesús Carretero 2º Ed
Ges,ón de Memoria
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 3
ETSINF-‐UPV
f SO Ges,ón de Memoria
• Contenido • Introducción • Problemá,ca de ges,ón de memoria • Direcciones lógicas vs direcciones Nsicas • Unidad de manejo de memoria (MMU) • Asignación con,gua de memoria
– Par,ciones fijas – Par,ciones variables
• First Fit • Best Fit • Worst Fit • Fragmentación externa y compactación
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 4
ETSINF-‐UPV
f SO Introducción
• Para ejecutar programas: sus instrucciones y datos deben ubicarse en Memoria Principal
• Sistemas Mul,programados: aumentan la u%lización del procesador y tasa de rendimiento
• Los procesos de un sistema mul%programado – Comparten CPU´s à Planificador de procesos – Comparten Memoria Principal à Ges%onar la Memoria
CPU Memoria
Principal
0000
FFFF
P1
P2
P3
¿Cuándo CPU?
¿cuánto tiempo de CPU?
¿donde?
¿me invadirán? ¿me invadirán? ¿estaré seguro?
¿tendré espacio?
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 5
ETSINF-‐UPV
f SO Introducción
• Memoria Principal – Consiste en una gran matriz de palabras o bytes cada uno
con su propia dirección 5sica asociada – Es un recurso crí%co
• Tiempo de acceso a memoria: es crucial para el funcionamiento del sistema, ya que se accede con,nuamente. En el ciclo de ejecución de una instrucción, se lee la instrucción, los datos y se almacenan resultados
• Tamaño de memoria: ,ene capacidad de almacenamiento limitada
• Capacidad de almacenar información del computador – Varios niveles de almacenamiento o memoria:
• Registros de CPU • Memoria cache: buffer que permite resolver la diferencia de velocidad entre accesos a memoria y frecuencia de CPU
• Memoria principal (RAM)
0x00000000
0xFFFF0000
0xFFFFFFFF
Memoria Principal
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 6
ETSINF-‐UPV
f SO Contenido
• Introducción • Problemá%ca de ges%ón de memoria • Direcciones lógicas vs direcciones Nsicas • Unidad de manejo de memoria (MMU) • Asignación con,gua de memoria
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 7
ETSINF-‐UPV
f SO Problemá,ca de ges,ón de memoria
• El Sistema Opera,vo debe ofrecer una buena ges,ón y uso eficiente de la memoria – Para ello debe resolver problemas relacionados
con • Protección • Escasez • Asignación • Reubicación
• Los sistemas actuales están dotados de técnicas y mecanismos diversos que han evolucionando y mejorando con el ,empo para resolver dichos problemas – Espacio de direcciones lógico – MMU – Librerías dinámicas – Memoria Virtual – Técnicas de Asignación
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 8
ETSINF-‐UPV
f SO Contenido
• Introducción • Problemá,ca de ges,ón de memoria • Direcciones lógicas vs direcciones 5sicas • Unidad de manejo de memoria (MMU) • Asignación con,gua de memoria
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 9
ETSINF-‐UPV
f SO
• Direcciones lógicas – Espacio de direccionamiento independiente para cada proceso
– Permiten que el código no se involucre en par,cularidades de la máquina -‐> reubicación
Direcciones lógicas vs direcciones Nsicas
P(c) P(b) P(a)
código
datos
pila
0000
código
datos
pila
0000
código
datos
pila
0000
Memoria
Principal
0000
FFFF Visión del proceso
Visión del HW+SO
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 10
ETSINF-‐UPV
f SO Direcciones lógicas vs direcciones Nsicas
• Necesidad de traducir direcciones lógicas a 5sicas – ¿Que dirección 5sica corresponde a una dirección lógica? – U,lizando un espacio de direcciones lógico (DL) y otro Nsico (DF) es necesario:
• Función de traducción de DL a DF • Decidir como se implementa dicha función ¿hardware, sooware? • Cuando se lleva a cabo la traducción
– Al compilar el programa » Código absoluto . No reubicable
– Al cargar el programa en memoria » Código reubicable en ,empo de carga
– Al ejecutar cada instrucción » Código reubicable en %empo ejecución » El proceso puede desplazarse de una posiciona a otra de memoria mientras se ejecuta
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 11
ETSINF-‐UPV
f SO Contenido
• Introducción • Problemá,ca de ges,ón de memoria • Direcciones lógicas vs direcciones Nsicas • Unidad de manejo de memoria (MMU) • Asignación con,gua de memoria
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 12
ETSINF-‐UPV
f SO Unidad de manejo de memoria (MMU)
• Traducir direcciones lógicas a direcciones 5sica ralen,za la ejecución de instrucciones y sobrecarga el sistema – Mayor velocidad de traducción con hardware específico
• MMU unidad de manejo de memoria
MemoriaFísica
o
Memoria Principal
Bus
CPU
MMU
0000
FFFF
Direcciones físicas
Direcciones físicas
Direccioneslógicas
Direcciones físicas
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 13
ETSINF-‐UPV
f SO Unidad de manejo de memoria (MMU)
• Modelo sencillo de MMU – basado en registro base y registro límite
7000
5000
Memoria Principal
P1
mov R1, R2 P2 CPU
5000
+
MMU
Registro base
3000 Registro
límite
<
Trap
NO Dirección
lógica 2000 Dirección
física 7000
main: mov R3,R4 … call proc1 … proc1: mov R1,R2 …
0000
2000
mov R3,R4 … call 2000 … mov R1,R2 …
Programa Fuente Direcciones Lógicas
!!!!!! Garan%zadas la reubicación en %empo de ejecución y la protección
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 14
ETSINF-‐UPV
f SO Contenido
• Introducción • Problemá,ca de ges,ón de memoria • Direcciones lógicas vs direcciones Nsicas • Unidad de manejo de memoria • Asignación con%gua de memoria
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 15
ETSINF-‐UPV
f SO Asignación con,gua de memoria
• Modelo de ges%ón de memoria con%gua – un proceso esta ubicado en memoria en una única sección de direcciones 5sicas con,guas
• Memoria principal suele estar dividida en dos partes: – La zona donde reside el Sistema Opera,vo – La zona donde residen los procesos de usuario
• Estrategias de asignación con,gua: – Par%ciones fijas: Se define a priori (por configuración del sistema) el tamaño de las secciones de memoria donde ubicar los programas
– Par%ciones variables: el sistema puede ubicar los programas en los huecos de memoria que estén libres
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 16
ETSINF-‐UPV
f SO Asignación con,gua de memoria
• Par%ciones fijas – La memoria se supone dividida en par,ciones de diferentes tamaños fijos
– El sistema opera,vo man,ene una lista de par%ciones libres – Variantes
• Cola única de procesos • Múl,ples colas de procesos
– Problema: • Fragmentación interna
0000
FFFF
P(a)200K
P(b)100K
P(c)100K
Proceso (a)
Proceso (b)
Proceso (c)
SO
P(d)300K
Partición400K
Partición 300K
Partición 300K
Partición 200K
Partición 100K
Una única Cola Procesos
¿?
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 17
ETSINF-‐UPV
f SO Asignación con,gua de memoria
• Par%ciones variables • Inicialmente la memoria disponible para procesos esta toda libre en un único hueco • Conforme llegan demandas de procesos se va asignando memoria • El sistema opera,vo man,ene una lista de par%ciones libres y tamaño del hueco
• Problema: • Fragmentación Externa
Huecos
Dirección Tamaño Dirección Tamaño Dirección Tamaño
• Estrategias de asignación de huecos: – Mejor hueco (Best Fit) Ubica al proceso en el menor hueco que sa,sface su pe,ción
– Peor hueco (Worst Fit) Ubica al proceso en el mayor hueco que sa,sface su pe,ción
– Primer hueco (First Fit) Ubica al proceso en el primer hueco que sa,sface su pe,ción
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 18
ETSINF-‐UPV
f SO Asignación con,gua de memoria
• Fragmentación externa – Existen huecos cuya suma de
sus tamaños es suficiente para sa,sfacer una demanda, pero al no estar con,guos no puede ubicarse el proceso
• Compactación – Solución para la fragmentación
externa – Los procesos se reubican en
memoria – Imprescindible código
reubicable en ,empo de ejecución para compactar
0000
FFFF
P(e)200K
SO
P(a)500K
P(d)300K
P(b) 100K
Hueco 100K
Hueco 200K
P(e)200K
SO
P(a)500K
P(d)300K
P(b) 100K
Hueco 300K
P(e)200K
SO
P(a)500K
P(d)300K
P(b) 100K
Hueco 300K
P(f) 300K
Proceso a ubicar ¿hueco de 300K?
Compactar
Compactación
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 19
ETSINF-‐UPV
f SO Ejemplo:
• Sea un sistema opera,vo que ges,ona la memoria mediante asignación con%gua con par%ciones dinámicas (variables). Par,endo de un estado de la memoria indicado como Inicio , la ocupación de la misma ante las pe,ciones realizadas ha sido la que se representa en los gráficos:
• Determine y jus,fique el algoritmo u,lizado entre mejor ajuste, peor ajuste y primer ajuste para la asignación de las demandas.
ocupado
100 K
200K
100 K
200 K
100 K
100 K
100 K
100 K
hueco
100 K
200K
100 K
200 K
100 K
100 K
200 K
100 K
100 K
200 K
100 K
300 K
200 K
100 K
100 K
100 K
500 K
200 K
InicioPetición de 200K Petición de 200K Petición de 100K
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 20
ETSINF-‐UPV
f SO Ejemplo
• Un sistema opera,vo ges,ona su memoria de 8196 palabras mediante asignación con%gua con par%ciones variables. En un instante t el sistema está ejecutando tres procesos de tamaño: Proceso A de tamaño 1024 palabras Proceso B de tamaño 3072 palabras Proceso C de tamaño 3584 palabras Razone si los siguientes escenarios independientes entre sí son posibles: a)Que el proceso B genere la dirección lógica 960 y que ésta sea traducida
por la dirección 5sica 725 b)Que el proceso A genere la dirección lógica 1500 y que ésta sea
traducida por la dirección 5sica 1500 c)Que el proceso C en el instante t genere la dirección lógica 525, que se
traduzca por la dirección Nsica 2061 y en el instante t+10 la misma dirección lógica se traduzca por la dirección Nsica 1549
Fund
amen
tos d
e los S
istem
as Ope
ra,vos
Pág. 21
ETSINF-‐UPV
f SO Prac,que los conceptos
• Memoria de asignación con,gua – Objetos interac,vos para aprendizaje • htp://labvirtual.webs.upv.es/Fijas_Mul,ples_colas.htm • htp://labvirtual.webs.upv.es/Fijas_Una_cola.htm • htp://labvirtual.webs.upv.es/Best_Fit.htm • htp://labvirtual.webs.upv.es/Worst_Fit.htm