gestion de memoria

28
Sistemas Operativos M.Sc. Luis Eduardo Sepúlveda Rodríguez

Upload: luis-eduardo-sepulveda

Post on 22-Mar-2016

221 views

Category:

Documents


0 download

DESCRIPTION

Teoria general de sistemas operativos relacionada con al gestion de la memoria principal (RAM).

TRANSCRIPT

Page 1: Gestion de Memoria

Sistemas  Operativos  

M.Sc. Luis Eduardo Sepúlveda Rodríguez

Page 2: Gestion de Memoria

¡  Identificar  diversas  formar  utilizadas  para  la  organización  de  la  memoria  física.  

¡  Analizar  técnicas  para  la  gestión  de  memoria  

Gestión de Memoria 2

Page 3: Gestion de Memoria

¡  En  las  computadoras    reales,  la  memoria  está  compuesta  de  semiconductores  

¡  La  memoria  es  accesible  directamente  por  la  unidad  central  de  procesamiento  (CPU).  

Gestión de Memoria 3

Page 4: Gestion de Memoria

¡  La  memoria  puede  considerarse  como  un  arreglo  unidimensional,  como  si  fuera  una  serie  de  casillas  contiguas  donde  se  almacena  información.    

¡  Cada  casilla  tiene  asignado  un  número  único  o  subíndice  considerado  como  la  dirección  física  de  memoria),  el  cual  sirve  para  identificarla    

Gestión de Memoria 4

Page 5: Gestion de Memoria

¡  Tanto  la  capacidad  de  almacenamiento  de  una  casilla,  como  la  cantidad  de  ellas  en  la  memoria,  son  definidas  directamente  por  el  fabricante  del  hardware.    

¡  La  cantidad  de  casillas  en  memoria,  está  estrechamente  relacionada  con  la  capacidad  de  direccionamiento  del  hardware.    

Gestión de Memoria 5

Page 6: Gestion de Memoria

¡  La  CPU  lee  constantemente  instrucciones  y  datos  de  la  memoria  para  poder  ejecutar  los  programas  e  interactuar  con  los  procesos  

¡  Por  lo  anterior,  la  velocidad  de  la  memoria  influye  directamente  en  el  desempeño  general  del  sistema  operativo.    

Gestión de Memoria 6

Page 7: Gestion de Memoria

¡  Al  referirse  a  la  velocidad  de  la  memoria,  es  importante  tener  en  cuenta  dos  factores:  

§  Tiempo  de  Acceso:  Es  el  tiempo  que  transcurre  entre  el  inicio  y  el  fin  de  una  operación  de  lectura  o  escritura  sobre  la  memoria.  

§  Tiempo  de  Ciclo  de  Memoria:  Es  el  tiempo  mínimo  entre  el  inicio  de  dos  accesos  consecutivos  a  memoria.  A  veces  coincide  con  el  tiempo  de  acceso,  pero  otras  veces  es  mayor.  

Gestión de Memoria 7

Page 8: Gestion de Memoria

La  memoria  principal  es  un  recurso  muy  costoso  e  importante;  por  esta  razón,  y  con  el  fin  de  optimizar  su  uso,  ha  sido  objeto  de  muchos  estudios  relacionados  con  las  siguientes  preguntas:  

§  ¿Se  localizará  a  un  sólo  usuario,  o  a  varios  usuarios  en  la  memoria  principal  al  mismo  tiempo?  

§  Si  hay  varios  usuarios  al  mismo  tiempo,  ¿le  asignaremos  la  misma  cantidad  de  memoria  a  cada  uno,  o  le  asignaremos  particiones  de  tamaño  diferente  a  cada  uno?  

§  ¿Se  realizarán  particiones  de  la  memoria  en  forma  dinámica  o  en  forma  estática?  

§  ¿Requerimos  que  los  procesos  de  usuario  sean  diseñados  para  ejecutarse  en  una  partición  específica,  o  pueden  correr  en  cualquier  partición  en  al  que  quepan?  

§  ¿Se  requiere  que  un  proceso  sea  localizado  en  un  sólo  bloque  contiguo  en  memoria  principal,  o  puede  ser  dividido  en  varios  bloques  no  contiguos?  

Gestión de Memoria 8

Page 9: Gestion de Memoria

¡  Es  importante  considerar  que,  todo  programa  debe  encontrarse  en  memoria,  de  manera  contigua  antes  de  ser  ejecutado.  

¡  Luego  que  un  programa  termina  su  ejecución,  la  memoria  que  éste  ocupa  se  libera.    

¡  Existen  básicamente  dos  tipos  de  programas  desde  el  punto  de  vista  de  la  memoria:    

§  Programas  re-­‐localizables.  

§  Programas  no  re-­‐localizables.  

Esta  clasificación  se  refiere  a  si  los  programas  una  vez  cargados  en  la  memoria,  se  pueden  cambiar  o  mover  a  otra  posición  de  memoria,  sin  ver  afectada  su  ejecución.  En  adelante,  nos  centraremos  en  los  programas  re-­‐localizables.    

Gestión de Memoria 9

Page 10: Gestion de Memoria

¡  Por  su  naturaleza  móvil,  los  programas  re-­‐localizables  no  pueden  utilizar  direccionamiento  directo  en  la  memoria  para  referirse  a  sus  componentes.  

¡  Los  programas  re-­‐localizables  deben  utilizar  direccionamiento  relativo.  

¡  Direccionamiento  relativo    

§  Consiste  en  referenciar  todos  los  componentes  de  la  aplicación  a  partir  de  un  desplazamiento  sobre  una  variable  llamada  cero  relativo.    

§  El  cero  relativo  será  una  dirección  física  de  la  memoria,  en  la  cual  se  encuentra  actualmente  la  aplicación.  

Gestión de Memoria 10

Page 11: Gestion de Memoria

¡  En  los  años  50  y  60,  la  memoria  principal  estaba  constituida  por  costosos  núcleos  magnéticos,  lo  cual  hizo  indispensable  diseñar  un  sistema  computacional  con  el  mínimo  tamaño  requerido.  

¡  Debían  conservarse  en  memoria  principal  sólo  el  código  y  los  datos  estrictamente  necesarios  y  lo  demás  en  memoria  secundaria  (medios  de  almacenamiento  persistente  usados  como  extensión  de  la  memoria  principal  –  swap).    

¡  La  memoria  secundaria  tiene  un  menor  costo  por  bit,  pero  con  tiempos  de  acceso  mayores  que  la  memoria  principal.    

Gestión de Memoria 11

Page 12: Gestion de Memoria

Gestión de Memoria 12

Disco  Duro  

R1  

R2  RAM  

Mayor costo por bit y velocidad de acceso. Menor capacidad

Menor costo por bit y velocidad de acceso. Mayor capacidad

Memoria Principal

Memoria Secundaria

Registros del CPU

Page 13: Gestion de Memoria

¡  Durante  la  década  de  los  60  fue  muy  clara  la  necesidad  de  que  la  jerarquía  de  almacenamiento  incluyera  un  nivel  adicional,  lo  cual  traería  cambios  sustanciales  en  el  desempeño  de  los  sistemas  computacionales.  

¡  Este  nuevo  nivel  fue  la  memoria  caché,  que  estaría  entre  la  CPU  y  la  memoria  principal.  La  memoria  caché  es  más  costosa  y  de  menos  capacidad  que  la  memoria  principal.  

Gestión de Memoria 13

Page 14: Gestion de Memoria

Gestión de Memoria 14

Disco  Duro  

R1  

R2   RAM  

Mayor costo por bit y velocidad de acceso. Menor capacidad

Menor costo por bit y velocidad de acceso. Mayor capacidad

Caché  

Memoria Principal

Memoria Secundaria

Registros del CPU

Memoria Caché

Page 15: Gestion de Memoria

¡  En  sistemas  con  monoprogramación,  la  memoria  principal  se  divide  en  dos  partes:    

 §  una  parte  para  el  sistema  operativo    §  otra  parte  para  el  programa  que  se  ejecuta  en  ese  instante.    

Gestión de Memoria 15

Page 16: Gestion de Memoria

¡  En  un  sistema  con  multiprogramación,  la  parte  de  "usuario"  de  la  memoria  debe  subdividirse  aún  más  para  incluir    a  varios  procesos.    

¡  La  tarea  de  subdivisión  la  lleva  a  cabo  dinámicamente  el  sistema  operativo  y  se  conoce  como  gestión  de  memoria.  

¡  En  un  sistema  con  multiprogramación  resulta  vital  una  gestión  efectiva  de  la  memoria.  

Gestión de Memoria 16

Page 17: Gestion de Memoria

Monoprogramación Multiprogramación

Gestión de Memoria 17

Sistema  Operativo  

Programa  en  ejecución    

Proceso  único    

(sección  para  el  usuario)  

Sistema  Operativo  

Programas  en  ejecución    

Proceso  1    -­‐  Proceso  2  Proceso  3  …  Proceso  n  

 (sección  para  el  usuario)  

Page 18: Gestion de Memoria

Existen  muchos  mecanismos  o  alternativas  para  la  administración  de  la  memoria.  

¡  La  primera  alternativa  que  se  tiene,  es  no  tener  ningún  mecanismo  propio  del  sistema  para  la  asignación  de  memoria  §  Ante  la  existencia  de  un  entorno  de  trabajo,  es  el  programador  el  dueño  y  señor  de  ella.  

§  Utilizado  en  los  sistema  que  tienen  propósitos  específicos  en  la  industria,  la  investigación  científica,  etc.  

Gestión de Memoria 18

Page 19: Gestion de Memoria

¡  En  los  sistemas  multitarea,  las  aplicaciones  del  usuario  se  encuentran  en  ejecución,  al  mismo  tiempo  que  el  sistema  operativo  

¡  Es  necesario  la  existencia  de  algún  mecanismo  para  que  las  aplicaciones  del  usuario  no  dañen  al  sistema  operativo  ya  sea  accidentalmente  o  no.  

Gestión de Memoria 19

Page 20: Gestion de Memoria

¡  Un  mecanismo  consiste  en  comparar  si  cada  dirección  de  memoria  se  encuentra  o  no  dentro  de  la  zona  asignada  al  usuario.    

¡  En  este  mecanismo  de  protección,  existen  dos  posibilidades,  que  el  sistema  operativo  esté  ubicado  al  inicio  de  la  memoria,  o  al  final  de  ella.    

Gestión de Memoria 20

Page 21: Gestion de Memoria

Gestión de Memoria 21

Page 22: Gestion de Memoria

Gestión de Memoria 22

Page 23: Gestion de Memoria

¡  Protección  con  registro  base:    

§  Es  otro  mecanismo  de  protección,  con  el  sistema  operativo  al  inicio  de  la  memoria.  

§  Consiste  en  sumar  a  la  dirección  solicitada  el  contenido  de  un  registro  base,  el  cual  contiene  el  límite  superior  del  sistema  operativo.    

Gestión de Memoria 23

Page 24: Gestion de Memoria

Gestión de Memoria 24

Page 25: Gestion de Memoria

¡  Para  lograr  atender  a  varios  usuarios  y  varias  tareas  “simultáneas”,  hay  que  garantizar  entornos  de  trabajo  protegidos  de  otros  tareas  que  accidentalmente  o  no  utilicen  memoria  ya  asignada  a  una  tarea  determinada.  

¡  Para  poder  garantizar    esto,  es  necesario  dividir  la  memoria  en  múltiples  particiones,  una  para  el  sistema  operativo  y  una  para  cada  uno  de  los  programas  que  se  estén  ejecutando  en  el  sistema.  

Gestión de Memoria 25

Page 26: Gestion de Memoria

¡  Para  garantizar  la  “privacidad”  de  todos  los  entornos  de  trabajo,  se  pueden  utilizar  los  mismos  mecanismos  ya  vistos,  pero  con  unas  ligeras  modificaciones.    

Gestión de Memoria 26

Page 27: Gestion de Memoria

Gestión de Memoria 27

Page 28: Gestion de Memoria

¡  SILBERSCHATZ  A,  GALVIN  P,  GAGNE  G.  Operating  System  Concepts.  8th  Edition.  2009.  

¡  STANLLINGS  W.  Sistemas  Operativos,  2ed.  PRENTICE  HALL,  Madrid,  2000.    

Gestión de Memoria 28