Gestión de memoria

6,497 views
6,112 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,497
On SlideShare
0
From Embeds
0
Number of Embeds
417
Actions
Shares
0
Downloads
161
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Gestión de memoria

  1. 1. Gestión deMemoriaSistemas Operativos4AMECCI
  2. 2. Integrantes DeAnónymous Nicolás Edilberto Rozo Espinosa David Humberto Moreno Moreno Julián Felipe Parra Tunjano Néstor Yesid Beltrán Chiquiza Jorge Leonardo Mejía Rincón
  3. 3. Gestión DeMemoria Sistema Sistema MonoProgramado Multiprogramado La memoria principal  La parte de se divide en dos “Usuario” de la partes: una parte para el sistema memoria debe operativo y otra subdividirse aún parte para el más para hacer programa que se sitio a varios ejecuta en ese procesos. instante.
  4. 4. Requisitos De La Gestión De Memoria Reubicación. Protección. Compartición. Organización Lógica. Organización Física.
  5. 5. Reubicación La reubicación permite crear un espacio lógico independiente para cada proceso y el Sistema Operativo.  Direcciones lógicas: direcciones de memoria generadas por el programa.  Direcciones físicas: direcciones de memoria principal asignadas. Mientras que se está ejecutando el programa, puede que se descargue en el disco y que vuelva a la memoria principal, pero en una ubicación distinta a la anterior (reubicación).
  6. 6. ReubicaciónReubicación ReubicaciónEstática Dinámica  Implica  Implica que lageneralmente que correspondencia la reubicación es entre el espacio de realizada antes o direcciones virtuales y el espacio de durante la carga direcciones físicas se del proceso en efectúa en tiempo memoria. de ejecución.
  7. 7. Protección El código de un proceso no puede hacer referencia a posiciones de memoria de otros procesos sin permiso, con fines de lectura o escritura sin permiso. Es imposible comprobar las direcciones absolutas de los programas, puesto que se desconoce la ubicación de un programa en la memoria principal. Normalmente los procesos de usuario no pueden acceder al sistema operativo
  8. 8. Compartición Elsistema de gestión de memoria debe permitir accesos controlados a las áreas compartidas de la memoria, sin comprometer la protección básica.
  9. 9. Organización Lógica La mayoría de los programas se organizan en módulos. Los módulos pueden escribirse y compilarse independientemente. Pueden otorgarse distintos grados de protección alguno de los cuales no son modificables y otros contienen datos modificables. Compartir módulos.
  10. 10. Organización Física La memoria principal en algunos casos no puede ser suficiente para los programas y sus datos.  La superposición permite que varios módulos sean asignados a la misma región de memoria. El programador no conoce cuanto espacio será asignado o donde se encuentra este espacio.
  11. 11. Carga De Programas Para poder crear un proceso activo se requiere cargar un programa en la memoria principal y crear una imagen del proceso
  12. 12. Fragmentación interna Pueden reducirse, aunque no solventarse, ambos problemas, por medio del empleo de particiones de tamaños distintos. Las particiones de 512K permiten alojar programas mas pequeños con menor desperdicio.
  13. 13. Fragmentación Externao La fragmentación externa se produce en una memoria (RAM o disco duro) en el momento en que no es posible almacenar de forma contigua todos los bloques que componen un archivo.o si se produce en un disco duro, tiende a provocar múltiples accesos a distintas zonas físicas de los platos que lo componen, con lo que aumenta el tiempo final de lectura de ese archivo.
  14. 14. Partición fija La memoria principal se divide en un conjunto de particiones fijas durante la generación del sistema. Un proceso puede cargar en una partición de mayor tamaño o igual. Ventajas Desventajas Su implementación es  Emplea ineficientemente la sencilla. memoria debido a que  No sobrecarga el hace una fragmentación sistema. interna.  El numero de procesos activos es fijo.
  15. 15. Partición Dinámica Se Crean Dinámicamente, de forma que cada proceso se carga en una partición de exactamente el mismo tamaño que el proceso. Ventajas Desventajas No hay fragmentación  Uso indebido del interna procesador , debido a Uso mas eficiente de la la necesidad de memoria principal compartición para contrarrestar la fragmentación externa
  16. 16. Algoritmo de ubicación En particiones del mismo tamaño, cuando ahí alguna partición libre, puede cargarse un proceso en esa partición. Si todas las particiones están ocupadas con procesos que no están listos para ejecutarse, uno de estos se saca y da paso a un nuevo proceso, esta decisión de sacar procesos la hace el planificador. En particiones de distinto tamaño se asigna cada proceso a la partición mas pequeña en la que quepa.
  17. 17. Algoritmo de ReemplazoEste algoritmo tiene como finalidad retirar lapágina que vaya a ser referenciada mástarde. El problema de este método es quenecesita conocimiento del futuro, por lo quees imposible su implementación. Es unalgoritmo teórico. Se utiliza a los efectoscomparativos con los algoritmos factibles deser implementados para ver cuál se aproximamás a éste.
  18. 18. Algoritmo de ubicación Partición Fija En particiones del mismo tamaño, cuando ahí alguna partición libre, puede cargarse un proceso en esa partición. Si todas las particiones están ocupadas con procesos que no están listos para ejecutarse, uno de estos se saca y da paso a un nuevo proceso, esta decisión de sacar procesos la hace el planificador. En particiones de distinto tamaño se asigna cada proceso a la partición mas pequeña en la que quepa.
  19. 19. Algoritmo De Ubicación Con Particiones Dinámicas El sistema operativo debe decidir qué bloque libre se tiene que asignar al proceso. Algoritmo del mejor ajuste (best-fit):  Elige el bloque de tamaño más próximo al solicitado.  Proporciona en general los peores resultados.  Puesto que este algoritmo busca el hueco más pequeño para el proceso, garantiza que el fragmento que se deja es lo más pequeño posible y, por lo tanto, se debe compactar más frecuentemente.
  20. 20. Algoritmo de Ubicación con Particiones Dinámicas Algoritmo del primer ajuste (first-fit):  Es más rápido.  Puede tener varios procesos cargados en el extremo inicial de la memoria que es necesario recorrer cuando se intente encontrar un bloque libre.
  21. 21. Algoritmo de Ubicación Con Particiones Dinámicas Algoritmo del siguiente ajuste (next-fit):  Lleva frecuentemente a la asignación de un bloque de memoria de la última ubicación, donde se encuentra el bloque más grande.  El bloque de memoria más grande se divide en fragmentos pequeños.  Hará falta la compactación para obtener un bloque de memoria grande al final del espacio de memoria.
  22. 22. Registros Utilizados Durante La Ejecución Registro base:  Se carga con la dirección en la memoria principal del proceso. Registro límite:  Indica la posición final del programa. Estos valores deben asignarse cuando se carga el programa y cuando se carga el proceso.
  23. 23. Registros Utilizados Durante La Ejecución Se añade el valor del registro base a la dirección relativa para obtener una dirección absoluta. La dirección obtenida se compara con el valor del registro límite. Si la dirección no está dentro de los límites, se generará una interrupción en el sistema operativo.
  24. 24. Paginación SimpleLa memoria principal se divide en un conjunto demarcos de igual tamaño. Cada proceso se divide enuna serie de paginas del mismo tamaño que losmarcos . Un proceso se carga situando todas suspaginas en marcos libres pero no necesariamentecontiguos. Ventajas Desventajas o No tiene o Hay pequeñas fragmentación fragmentación externa. externa.
  25. 25. Segmentación simpleCada proceso se divide en una serie desegmentos. Un proceso se carga situando todossus segmentos en particiones dinámicas que notienen porque ser contiguasVentajas Desventajas No tiene fragmentación  Necesita compactación interna

×