SlideShare una empresa de Scribd logo
4.1 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Gestion de la Memoria
4.2 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Manejo de memoria
 Antecedentes
 Swapping(intercambio)
 Asignación de memoria contigua
 Paginación
 Estructura de la tabla Página
 Segmentación
4.3 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Objetivos
 Proveer descripciones detalladas de distintas formas de
organizar el hardware de memoria
 Discutir las distintas técnicas de manejo de memoria,
incluyendo paginación y segmentación
4.4 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Introduccion
 Hemos visto como la CPU puede compartir su uso con
un conjunto de procesos; como resultado la planificacion
de la CPU permite mejorar la utilizacion y la velocidad de
respuesta.
 Pero, para lograr esta mejora se requiere mantener
varios procesos en memoria, es decir, debemos
“compartir” la memoria.
 Por ello examinaremos varias formas de administrar la
memoria…. La seleccion de alguno de estos metodos
depende de muchos factores, principalmente del diseño
del hadware del sistema
4.5 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Antecedentes
 Son 05 los pasos que se siguen para que resulte un
proceso en ejecución:
 Codificación: en un lenguaje ya sea de bajo o alto
nivel.
 Traducción: por ejemplo con un compilador para
crear un modulo objeto.
 Ligación: entre los modulados generados.
 Carga: cuando se llevan los procesos a la
memoria.
 Ejecución.
4.6 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Antecedentes
 Un programa debe traerse (del disco) a la memoria y
colocarse dentro de un proceso para su ejecución.
 La memoria es un gran arreglo de palabras o bytes.
 El CPU puede acceder exclusivamente a la memoria
principal y los registros.
 Cache está entre la memoria principal y los registros.
 Se requiere de protección de memoria para asegurar
la correcta operación.
4.7 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Registros base y límite
 Un par de registros base y límite definen el espacio
lógico de direcciones
4.8 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Protección de direcciones de HW
con registros base y límite
4.9 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Vinculación de instrucciones y datos a memoria
 La vinculación de instrucciones y datos a direcciones de
memoria puede suceder en tres etapas
 Tiempo de compilación: Si se conoce la localidad de
memoria en la que va residir el proceso en la
compilación, se puede generar código absoluto. Si es
así, se debe recompilar si la localidad de inicio cambia.
 Tiempo de cargado: Si no se conoce donde residirá el
proceso en memoria, el compilador deberá generar
código relocalizable(reubicable), entonces se retarda
la reasignación o vinculación hasta el momento de la
carga… Si la dirección inicial cambia, tan solo es
necesario volver a cargar el código…
4.10 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Vinculacion de instrucciones y datos a memoria
 La vinculacion de instrucciones y datos a direcciones de
memoria puede suceder en tres etapas
 Tiempo de ejecución: la reasignacion o vinculacion se
retrasa hasta tiempo de ejecución, si el proceso puede
desplazarse de una ubicacion a otra en la memoria
durante su ejecución. Para que este esquema funcione
requiere soporte de hardware …. Como por ejemplo,
registro de reubicacion.
4.11 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Pasos en el procesamiento de un programa de
usuario
4.12 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Espacio de direcciones físico vs. lógico
 El concepto de espacio de direcciones lógico asociado
a distintos espacios de direcciones físicas es central
para el manejo de memoria:
 Dirección lógica – generada por el CPU; también
conocida como dirección virtual.
 Dirección física – dirección vista por la unidad de
memoria.
 Las direcciones lógicas y físicas son idénticas en
tiempo de compilación y cargado; en cambio estas ,
direcciones lógicas (virtuales) y físicas difieren en
tiempo de ejecución.
4.13 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Unidad de Manejo de Memoria (MMU)
 Dispositivo de hardware que mapea direcciones logica
o virtuales a físicas en tiempo de ejecucion: MMU
 En el esquema MMU, existen varios metodos distintos
para establecer dicho mapeo o correspondecia,
evaluaremos un esquema simple del MMU que es una
generalizacion del esquema del registro base:
resgistro de reubicacion(relocalizacion).
4.14 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Unidad de Manejo de Memoria (MMU)
 Con el resgistro de reubicacion, el valor en el
registro de reubicacion se añade a cada
dirección generada por un proceso de usuario
al momento de enviarla a la memoria.
 El programa de usuario trabaja con
direcciones lógicas; nunca ve las direcciones
físicas reales
4.15 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Relocalización dinámica utilizando un registro
de relocalización
4.16 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Carga dinámica
 La rutina es cargada hasta que es llamada.
 Mejor utilización de espacio de memoria; una
rutina que no se utiliza, no se carga.
 Útil cuando grandes cantidades de código se
requieren para manejar casos poco frecuentes,
como por ejemplo, las rutinas de error.
 No se requiere soporte del sistema operativo, se
implementa a través del diseño del programa.
4.17 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Enlace dinámico
 Se pospone el ligado hasta tiempo de ejecución.
 Un pedacito de código, stub, se utiliza para
localizar la rutina apropiada residente en memoria.
 Stub se sustituye a sí misma con la dirección de la
rutina y ejecuta la rutina.
 El sistema operativo verifica si la rutina está en una
dirección de memoria de otro proceso.
 Enlace dinámico es útil para bibliotecas.
 Sistema de conoce como biboliotecas
compartidas
4.18 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Intercambio(swapping)
 Un proceso debe estar en memoria para ser ejecutado.
 Un proceso puede ser removido (swapped) temporalmente
fuera de la memoria a un almacenamiento de respaldo y
después de regreso a memoria para continuar su ejecución.
 Almacenamiento de respaldo – disco rápido y lo
suficientemente grande para acomodar copias de toda las
imágenes de memoria de los usuarios; debe permitir acceso
directo a estas imágenes.
 Mayor parte del tiempo de swap es tiempo de transferencia;
tiempo total de transferencia es directamente proporcional a
la cantidad de memoria movida.
 Debera traerse el proceso a la misma direccion???
4.19 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Vista esquemática de swapping
4.20 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Intercambio(swapping)
 No todos los procesos se pueden intercambiar, es
decir no todos pureden ser movidos al area de
intercambio, se debe tener especial cuidado con
aquellos que estan en espera por un evento de
E/S.
 Que pasa si se intercambia un proceso que tuvo
que ubicarse una cola de dispositivo porque este
estaba ocupado? Cuando acceda al dispositivo,
por la operacion solicitada, quiza querra acceder a
un espacio de direccion que ya no le pretenece al
proceso que solicito dicho evento.
 Se podria solucionar con buffers del sistema
operativo.
4.21 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Intercambio(swapping)
 Versiones modificadas de swapping se
encuentran en varios sistemas (i.e., UNIX, Linux,
and Windows)
 Por ejemplo, en los sistemas Unix el mecanismo
de intercambio esta desactivado… solo se activa
que el espacio ocupado en memoria sobrepasa
un umbral… y se desactiva cuando el sistema ya
no es exigido.
4.22 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Asignación de memoria contigua
 Memoria principal usualmente en dos particiones:
 Sistema operativo residente, usualmente se
mantiene en memoria baja, por el vector de
interrupciones.
 Procesos de usuario se mantienen en memoria
alta.
4.23 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Asignación de memoria contigua
Mapeo de memoria y proteccion
 Para ello utilizaremos lo revisado anteriormente: registro de
reubicacion y el registro limite. Utilizados para proteger los
procesos de usuario entre sí y también de datos y código
cambiante del sistema operativo
 El registro de reubicacion, tambien conocido como de
relocalización, contiene el valor de la dirección física más
pequeña o menor.
 El registro límite contiene el rango de direcciones lógicas
– toda dirección lógica debe ser menor que el registro
limite.
 MMU mapea direcciones lógicas dinámicamente
4.24 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Protección de direcciones de HW con registros de
reubicacion y límite
4.25 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Asignación de memoria contigua (Cont.)
 Asignación de particiones múltiples
 Hueco(hoyo) – bloque de memoria disponible, bloques libres;
huecos de distintos tamaños distribuidos en la memoria.
 Cuando un proceso llega, es asignado en un hueco de memoria
lo suficientemente grande para acomodarlo.
 Sistema operativo mantiene información acerca:
a) particiones(bloques) asignadas b) particiones libres (huecos).
OS
process 5
process 8
process 2
OS
process 5
process 2
OS
process 5
process 2
OS
process 5
process 9
process 2
process 9
process 10
4.26 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Problema asignación dinámica de
almacenamiento
 First-fit(primer ajuste): Asigna el primer hueco(hoyo) lo
suficientemente grande.
 Best-fit(mejor ajuste): Asigna el hueco(hoyo) más
pequeño que tenga el tamaño suficiente; debe buscar toda
la lista, a menos que esté ordenada.
 Produce el hueco sobrante (hoyo) más pequeño
 Worst-fit(peor ajuste): Asigna el hueco(hoyo) más grande;
también busca en toda la lista
 Produce el sobrante(hueco) más grande
¿Cómo satisfacer una solicitud de tamaño n de una lista
de huecos libres?
First-fit y best-fit mejores que worst-fit en términos de
velocidad y utilización de almacenamiento
4.27 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition
Final

Más contenido relacionado

Similar a Sistemas Operativos 08-Presentacionn.pdf

Capitulo3
Capitulo3Capitulo3
Capitulo3
Jammil Ramos
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
Jammil Ramos
 
Sistemas - Operativos: Procesos, Silberschatz.pptx
Sistemas - Operativos: Procesos, Silberschatz.pptxSistemas - Operativos: Procesos, Silberschatz.pptx
Sistemas - Operativos: Procesos, Silberschatz.pptx
epadilla024
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
Heder Ithamar Romero
 
Coordinacion Y Sincronizacion De Procesos
Coordinacion  Y  Sincronizacion  De  ProcesosCoordinacion  Y  Sincronizacion  De  Procesos
Coordinacion Y Sincronizacion De Procesos
Jessica Suarez
 
Tc2 paso3
Tc2 paso3Tc2 paso3
Tc2 paso3
andreschap24
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
giovatovar
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
giovatovar
 
Administracion y manejo de memoria
Administracion y manejo de memoriaAdministracion y manejo de memoria
Administracion y manejo de memoria
giovatovar
 
Monit optim iis6_2
Monit optim iis6_2Monit optim iis6_2
Monit optim iis6_2
emilianoaquino
 
ENTRADAS Y SALIDAS DE UN PC
ENTRADAS Y SALIDAS DE UN PCENTRADAS Y SALIDAS DE UN PC
ENTRADAS Y SALIDAS DE UN PC
guestdb824f
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
guestaff6d2
 
Capitulo 8 Memoria Principal
Capitulo 8 Memoria PrincipalCapitulo 8 Memoria Principal
Capitulo 8 Memoria Principal
lagm000
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
UCC
 
Unidad 3 el administrador de memoria
Unidad 3 el administrador de memoriaUnidad 3 el administrador de memoria
Unidad 3 el administrador de memoria
coffeejimenez
 
Migración Sistemas operativos
Migración Sistemas operativosMigración Sistemas operativos
Migración Sistemas operativos
Walther Acosta
 
Administración de la memoria
Administración de la memoriaAdministración de la memoria
Administración de la memoria
Beatriz Pérez
 
Presentacion de Santoy Cetis 120 (For Gays) XD
Presentacion de Santoy Cetis 120 (For Gays) XDPresentacion de Santoy Cetis 120 (For Gays) XD
Presentacion de Santoy Cetis 120 (For Gays) XD
pookybon
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principal
jbersosa
 
Cuentionario
CuentionarioCuentionario
Cuentionario
Monica CasJim
 

Similar a Sistemas Operativos 08-Presentacionn.pdf (20)

Capitulo3
Capitulo3Capitulo3
Capitulo3
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Sistemas - Operativos: Procesos, Silberschatz.pptx
Sistemas - Operativos: Procesos, Silberschatz.pptxSistemas - Operativos: Procesos, Silberschatz.pptx
Sistemas - Operativos: Procesos, Silberschatz.pptx
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Coordinacion Y Sincronizacion De Procesos
Coordinacion  Y  Sincronizacion  De  ProcesosCoordinacion  Y  Sincronizacion  De  Procesos
Coordinacion Y Sincronizacion De Procesos
 
Tc2 paso3
Tc2 paso3Tc2 paso3
Tc2 paso3
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
 
Administracion y manejo de memoria
Administracion y manejo de memoriaAdministracion y manejo de memoria
Administracion y manejo de memoria
 
Monit optim iis6_2
Monit optim iis6_2Monit optim iis6_2
Monit optim iis6_2
 
ENTRADAS Y SALIDAS DE UN PC
ENTRADAS Y SALIDAS DE UN PCENTRADAS Y SALIDAS DE UN PC
ENTRADAS Y SALIDAS DE UN PC
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 
Capitulo 8 Memoria Principal
Capitulo 8 Memoria PrincipalCapitulo 8 Memoria Principal
Capitulo 8 Memoria Principal
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Unidad 3 el administrador de memoria
Unidad 3 el administrador de memoriaUnidad 3 el administrador de memoria
Unidad 3 el administrador de memoria
 
Migración Sistemas operativos
Migración Sistemas operativosMigración Sistemas operativos
Migración Sistemas operativos
 
Administración de la memoria
Administración de la memoriaAdministración de la memoria
Administración de la memoria
 
Presentacion de Santoy Cetis 120 (For Gays) XD
Presentacion de Santoy Cetis 120 (For Gays) XDPresentacion de Santoy Cetis 120 (For Gays) XD
Presentacion de Santoy Cetis 120 (For Gays) XD
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principal
 
Cuentionario
CuentionarioCuentionario
Cuentionario
 

Sistemas Operativos 08-Presentacionn.pdf

  • 1. 4.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Gestion de la Memoria
  • 2. 4.2 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Manejo de memoria  Antecedentes  Swapping(intercambio)  Asignación de memoria contigua  Paginación  Estructura de la tabla Página  Segmentación
  • 3. 4.3 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Objetivos  Proveer descripciones detalladas de distintas formas de organizar el hardware de memoria  Discutir las distintas técnicas de manejo de memoria, incluyendo paginación y segmentación
  • 4. 4.4 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Introduccion  Hemos visto como la CPU puede compartir su uso con un conjunto de procesos; como resultado la planificacion de la CPU permite mejorar la utilizacion y la velocidad de respuesta.  Pero, para lograr esta mejora se requiere mantener varios procesos en memoria, es decir, debemos “compartir” la memoria.  Por ello examinaremos varias formas de administrar la memoria…. La seleccion de alguno de estos metodos depende de muchos factores, principalmente del diseño del hadware del sistema
  • 5. 4.5 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Antecedentes  Son 05 los pasos que se siguen para que resulte un proceso en ejecución:  Codificación: en un lenguaje ya sea de bajo o alto nivel.  Traducción: por ejemplo con un compilador para crear un modulo objeto.  Ligación: entre los modulados generados.  Carga: cuando se llevan los procesos a la memoria.  Ejecución.
  • 6. 4.6 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Antecedentes  Un programa debe traerse (del disco) a la memoria y colocarse dentro de un proceso para su ejecución.  La memoria es un gran arreglo de palabras o bytes.  El CPU puede acceder exclusivamente a la memoria principal y los registros.  Cache está entre la memoria principal y los registros.  Se requiere de protección de memoria para asegurar la correcta operación.
  • 7. 4.7 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Registros base y límite  Un par de registros base y límite definen el espacio lógico de direcciones
  • 8. 4.8 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Protección de direcciones de HW con registros base y límite
  • 9. 4.9 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Vinculación de instrucciones y datos a memoria  La vinculación de instrucciones y datos a direcciones de memoria puede suceder en tres etapas  Tiempo de compilación: Si se conoce la localidad de memoria en la que va residir el proceso en la compilación, se puede generar código absoluto. Si es así, se debe recompilar si la localidad de inicio cambia.  Tiempo de cargado: Si no se conoce donde residirá el proceso en memoria, el compilador deberá generar código relocalizable(reubicable), entonces se retarda la reasignación o vinculación hasta el momento de la carga… Si la dirección inicial cambia, tan solo es necesario volver a cargar el código…
  • 10. 4.10 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Vinculacion de instrucciones y datos a memoria  La vinculacion de instrucciones y datos a direcciones de memoria puede suceder en tres etapas  Tiempo de ejecución: la reasignacion o vinculacion se retrasa hasta tiempo de ejecución, si el proceso puede desplazarse de una ubicacion a otra en la memoria durante su ejecución. Para que este esquema funcione requiere soporte de hardware …. Como por ejemplo, registro de reubicacion.
  • 11. 4.11 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Pasos en el procesamiento de un programa de usuario
  • 12. 4.12 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Espacio de direcciones físico vs. lógico  El concepto de espacio de direcciones lógico asociado a distintos espacios de direcciones físicas es central para el manejo de memoria:  Dirección lógica – generada por el CPU; también conocida como dirección virtual.  Dirección física – dirección vista por la unidad de memoria.  Las direcciones lógicas y físicas son idénticas en tiempo de compilación y cargado; en cambio estas , direcciones lógicas (virtuales) y físicas difieren en tiempo de ejecución.
  • 13. 4.13 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Unidad de Manejo de Memoria (MMU)  Dispositivo de hardware que mapea direcciones logica o virtuales a físicas en tiempo de ejecucion: MMU  En el esquema MMU, existen varios metodos distintos para establecer dicho mapeo o correspondecia, evaluaremos un esquema simple del MMU que es una generalizacion del esquema del registro base: resgistro de reubicacion(relocalizacion).
  • 14. 4.14 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Unidad de Manejo de Memoria (MMU)  Con el resgistro de reubicacion, el valor en el registro de reubicacion se añade a cada dirección generada por un proceso de usuario al momento de enviarla a la memoria.  El programa de usuario trabaja con direcciones lógicas; nunca ve las direcciones físicas reales
  • 15. 4.15 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Relocalización dinámica utilizando un registro de relocalización
  • 16. 4.16 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Carga dinámica  La rutina es cargada hasta que es llamada.  Mejor utilización de espacio de memoria; una rutina que no se utiliza, no se carga.  Útil cuando grandes cantidades de código se requieren para manejar casos poco frecuentes, como por ejemplo, las rutinas de error.  No se requiere soporte del sistema operativo, se implementa a través del diseño del programa.
  • 17. 4.17 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Enlace dinámico  Se pospone el ligado hasta tiempo de ejecución.  Un pedacito de código, stub, se utiliza para localizar la rutina apropiada residente en memoria.  Stub se sustituye a sí misma con la dirección de la rutina y ejecuta la rutina.  El sistema operativo verifica si la rutina está en una dirección de memoria de otro proceso.  Enlace dinámico es útil para bibliotecas.  Sistema de conoce como biboliotecas compartidas
  • 18. 4.18 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Intercambio(swapping)  Un proceso debe estar en memoria para ser ejecutado.  Un proceso puede ser removido (swapped) temporalmente fuera de la memoria a un almacenamiento de respaldo y después de regreso a memoria para continuar su ejecución.  Almacenamiento de respaldo – disco rápido y lo suficientemente grande para acomodar copias de toda las imágenes de memoria de los usuarios; debe permitir acceso directo a estas imágenes.  Mayor parte del tiempo de swap es tiempo de transferencia; tiempo total de transferencia es directamente proporcional a la cantidad de memoria movida.  Debera traerse el proceso a la misma direccion???
  • 19. 4.19 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Vista esquemática de swapping
  • 20. 4.20 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Intercambio(swapping)  No todos los procesos se pueden intercambiar, es decir no todos pureden ser movidos al area de intercambio, se debe tener especial cuidado con aquellos que estan en espera por un evento de E/S.  Que pasa si se intercambia un proceso que tuvo que ubicarse una cola de dispositivo porque este estaba ocupado? Cuando acceda al dispositivo, por la operacion solicitada, quiza querra acceder a un espacio de direccion que ya no le pretenece al proceso que solicito dicho evento.  Se podria solucionar con buffers del sistema operativo.
  • 21. 4.21 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Intercambio(swapping)  Versiones modificadas de swapping se encuentran en varios sistemas (i.e., UNIX, Linux, and Windows)  Por ejemplo, en los sistemas Unix el mecanismo de intercambio esta desactivado… solo se activa que el espacio ocupado en memoria sobrepasa un umbral… y se desactiva cuando el sistema ya no es exigido.
  • 22. 4.22 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Asignación de memoria contigua  Memoria principal usualmente en dos particiones:  Sistema operativo residente, usualmente se mantiene en memoria baja, por el vector de interrupciones.  Procesos de usuario se mantienen en memoria alta.
  • 23. 4.23 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Asignación de memoria contigua Mapeo de memoria y proteccion  Para ello utilizaremos lo revisado anteriormente: registro de reubicacion y el registro limite. Utilizados para proteger los procesos de usuario entre sí y también de datos y código cambiante del sistema operativo  El registro de reubicacion, tambien conocido como de relocalización, contiene el valor de la dirección física más pequeña o menor.  El registro límite contiene el rango de direcciones lógicas – toda dirección lógica debe ser menor que el registro limite.  MMU mapea direcciones lógicas dinámicamente
  • 24. 4.24 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Protección de direcciones de HW con registros de reubicacion y límite
  • 25. 4.25 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Asignación de memoria contigua (Cont.)  Asignación de particiones múltiples  Hueco(hoyo) – bloque de memoria disponible, bloques libres; huecos de distintos tamaños distribuidos en la memoria.  Cuando un proceso llega, es asignado en un hueco de memoria lo suficientemente grande para acomodarlo.  Sistema operativo mantiene información acerca: a) particiones(bloques) asignadas b) particiones libres (huecos). OS process 5 process 8 process 2 OS process 5 process 2 OS process 5 process 2 OS process 5 process 9 process 2 process 9 process 10
  • 26. 4.26 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Problema asignación dinámica de almacenamiento  First-fit(primer ajuste): Asigna el primer hueco(hoyo) lo suficientemente grande.  Best-fit(mejor ajuste): Asigna el hueco(hoyo) más pequeño que tenga el tamaño suficiente; debe buscar toda la lista, a menos que esté ordenada.  Produce el hueco sobrante (hoyo) más pequeño  Worst-fit(peor ajuste): Asigna el hueco(hoyo) más grande; también busca en toda la lista  Produce el sobrante(hueco) más grande ¿Cómo satisfacer una solicitud de tamaño n de una lista de huecos libres? First-fit y best-fit mejores que worst-fit en términos de velocidad y utilización de almacenamiento
  • 27. 4.27 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8th Edition Final