1 / 25

Teoría de Sistemas Operativos Memoria

Teoría de Sistemas Operativos Memoria. Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz http://www.elo.utfsm.cl/~elo321. La organización y la administración de la memoria principal (primaria o real) es uno de los factores mas importantes que influyen en el

argus
Download Presentation

Teoría de Sistemas Operativos Memoria

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teoría de Sistemas OperativosMemoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz http://www.elo.utfsm.cl/~elo321

  2. La organización y la administración de la memoria principal (primaria o real) es uno de los factores mas importantes que influyen en el diseño de los Sistemas Operativos. Históricamente la memoria ha sido un recurso caro, por lo que se desea optimizar su uso, aunque en la actualidad ha bajado de precio, los programa han aumentado su tamaño.

  3. Modelo de Memoria

  4. Técnicas de Administración de Memoria

  5. La forma más simple de administrar memoria es ejecutando sólo un programa a la vez. Cuando usuario digita un comando, el sistema operativo carga el programa correspondiente en la memoria, y lo ejecuta. Cuando el programa termina, el sistema operativo solicita un nuevo comando y carga el nuevo programa en la memoria, sobreescribiendo el anterior.

  6. Ventajas: • simple de implementar Desventajas: • No permite dividir un programa de usuario en varios procesos • Bajo rendimiento en sistemas de tiempo compartido • Menor utilización de recursos

  7. Multiprogramación: Varios procesos en memoria.  La memoria debe ser dividida en sectores. Ejemplo

  8. Multiprogramación: Ejemplo: Active - total memory active Inactive - total memory inactive Wired - memory that cannot be paged out Cache - memory in the buffer cache queue Free - free memory in the system ¿Cómo se logra mantener varios procesos en memoria?

  9. Algunos problemas • El código debe ser relocalizable: • ajustar las direcciones de un programa al sitio donde fue cargado, para que éste pueda ser ejecutado.

  10. Algunos problemas El código debe ser relocalizable: 100: add $a, 1 101: jump 110 .... 110: load $b,$a eq 200: add $a, 1 201: jump 210 ... 210: load $b, $a

  11. Algunos problemas Un proceso no debe interferir con otro

  12. Filas independientes Kernel 400Kb 210 250 300 350 200Kb 100 600Kb 500 450 590 Memoria Real Multiprogramación con particiones fijas

  13. Kernel Fila única 400Kb 200Kb 100 500 550 190 600Kb Memoria Real Multiprogramación con particiones fijas

  14. Multiprogramación con particiones fijas Desventajas . • ·Se hace una mala utilización de la memoria debido a la poca flexibilidad del método. • ·Es complicado correr programas más grandes que el tamaño de la partición.

  15. Multiprogramación con particiones fijas Desventajas . • Fragmentación interna. • Ocurre cuando un proceso no ocupa toda la memoria asignada. • El espacio libre no puede ser utilizado por ningún otro proceso.

  16. Multiprogramación con particiones fijas Ventajas . • Administración es relativamente simple. • Protección entre procesos se puede realizar mediante el registro base y la longitud de la zona

  17. Multiprogramación con particiones variables La memoria se divide en bloques de diferente tamaño de acuerdo a las necesidades del proceso. Ventajas • Define bloques del tamaño requerido • termina con la fragmentación interna • permite un mejor uso de la memoria

  18. Multiprogramación con particiones variables Desventajas Fragmentación externa: • Existen 400Kb libres • Pero un proceso de 400Kb no puede ser cargado en memoria ...

  19. Multiprogramación con particiones variables Implementación con Listas/BitsMaps

  20. Multiprogramación con particiones variables Estrategias para la asignación de memoria • Primer Ajuste (first fit): • Se asigna el primer espacio • que sea mayor al tamaño deseado

  21. Multiprogramación con particiones variables Estrategias para la asignación de memoria • Mejor Ajuste (best fit): • Se asigna el espacio cuyo tamaño exceda en la menor cantidad al tamaño deseado. • - Requiere de una búsqueda exhaustiva. • - Mayor fragmentación externa. • - Tiende a llenar con trozos de memoria • pequeños.

  22. Multiprogramación con particiones variables Estrategias para la asignación de memoria • Peor Ajuste (worst fit): • Se asigna un espacio de memoria cuyo tamaño exceda en la mayor cantidad al tamaño deseado. • - Requiere de una búsqueda exhaustiva. • - Genera la mayor fragmentación interna

  23. Multiprogramación con particiones variables Administración de memoria insuficiente • Compactación de memoria: • Es una fusión de bloques adyacentes para formar un sólo bloque más grande.

  24. Multiprogramación con particiones variables Estrategias para la asignación de memoria Compactación de memoria:

  25. Multiprogramación con particiones variables Estrategias para la asignación de memoria • Swapping: • Se puede crear un nuevo espacio de memoria eliminando uno de los procesos residentes y temporalmente enviarlos a almacenamiento secundario.

More Related