21
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

UT07 FSO Gestión de Memoria

Embed Size (px)

DESCRIPTION

Tema 7 FSO Gestión de Memoria upv valencia

Citation preview

Page 1: UT07 FSO Gestión de Memoria

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  

Page 2: UT07 FSO Gestió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  

Page 3: UT07 FSO Gestió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    

Page 4: UT07 FSO Gestión de Memoria

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?

Page 5: UT07 FSO Gestión de Memoria

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

Page 6: UT07 FSO Gestión de Memoria

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  

Page 7: UT07 FSO Gestión 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    

Page 8: UT07 FSO Gestión de Memoria

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  

Page 9: UT07 FSO Gestión 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

Page 10: UT07 FSO Gestión de Memoria

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  

Page 11: UT07 FSO Gestión de Memoria

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  

Page 12: UT07 FSO Gestión 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

Page 13: UT07 FSO Gestión de Memoria

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                

Page 14: UT07 FSO Gestión de Memoria

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  

Page 15: UT07 FSO Gestión 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  

Page 16: UT07 FSO Gestión de Memoria

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

¿?

Page 17: UT07 FSO Gestión de Memoria

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  

Page 18: UT07 FSO Gestión de Memoria

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

Page 19: UT07 FSO Gestión de Memoria

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

Page 20: UT07 FSO Gestión de Memoria

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  

Page 21: UT07 FSO Gestión de Memoria

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