Post on 05-Jul-2020
Sistemas de Computación
Memoria
2º Semestre, 2008José Miguel Rubio L.
jose.rubio.l@ucv.clhttp://www.inf.ucv.cl/~jrubio
2
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
La organización y la administración de la memoriaprincipal (primaria o real) es unode los factores mas importantes que influyen en eldiseño de los Sistemas Operativos.
Históricamente la memoria ha sido un recurso caro,por lo que se desea optimizar su uso, aunque en laactualidad ha bajado de precio, los programa hanaumentado su tamaño.
3
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Modelo de Memoria
4
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Técnicas de Administración de Memoria
5
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
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
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
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
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Multiprogramación :
Varios procesos en memoria.� La memoria debe ser dividida en
sectores. Ejemplo
8
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Multiprogramación :Ejemplo:Active - total memory activeInactive - total memory inactiveWired - memory that cannot be paged outCache - memory in the buffer cache queueFree - free memory in the system
¿Cómo se logra mantener varios procesos en memoria?
9
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
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
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Algunos problemas
El código debe ser relocalizable :
100: add $a, 1 101: jump 110....110: load $b,$a
200: add $a, 1 201: jump 210...210: load $b, $a
eq
11
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Algunos problemas
Un proceso no debe interferir con otro
DIR <
Límite - Base
No
Error!
+
Base
Memoria
Base
Límite
DIR
12
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Multiprogramación con particiones fijas
Kernel
400Kb
200Kb
600Kb590450500
100
350300250210
Memoria Real
Filas independientes
13
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Multiprogramación con particiones fijas
190550500100
Memoria Real
Fila únicaKernel
400Kb
200Kb
600Kb
14
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Multiprogramación con particiones fijas
• 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.
• 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.
Desventajas .
15
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Multiprogramación con particiones fijas
Desventajas .
Fragmentación intern a.
•Ocurre cuando un proceso no ocupa toda la memoria asignada.
•El espacio libre no puede ser utilizado por ningún otro proceso.
Fragmentación intern a.
•Ocurre cuando un proceso no ocupa toda la memoria asignada.
•El espacio libre no puede ser utilizado por ningún otro proceso.
16
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Multiprogramación con particiones fijas
•Administración es relativamente simple.
•Protección entre procesos se puede realizar mediante el registro base y la longitud de la zona
•Administración es relativamente simple.
•Protección entre procesos se puede realizar mediante el registro base y la longitud de la zona
Ventajas .
17
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Multiprogramación con particiones variables
La memoria se divide en bloques de diferente tamaño de acuerdo a las necesidades del proceso.
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
Define bloques del tamaño requerido
� termina con la fragmentación interna� permite un mejor uso de la memoria
18
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Desventajas
Fragmentación externa:Fragmentación externa:
Existen 400Kb libres
�Pero un proceso de400Kb no puede ser cargadoen memoria ...
Kernel100Kb
200Kb
250Kb
Memoria Real100Kb
300Kb
Multiprogramación con particiones variables
19
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Implementación con Listas/BitsMaps
Multiprogramación con particiones variables
20
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Multiprogramación con particiones variables
Estrategias para la asignación de memoria
Primer Ajuste (first fit) : Se asigna el primer espacioque sea mayor al tamaño deseado
21
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Multiprogramación con particiones variables
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.
Estrategias para la asignación de memoria
22
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Multiprogramación con particiones variables
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
Estrategias para la asignación de memoria
23
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Multiprogramación con particiones variables
Compactación de memoria: Es una fusión de bloques adyacentes para formar un sólo bloque más grande.
Administración de memoria insuficiente
24
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
Multiprogramación con particiones variables
Estrategias para la asignación de memoria
Compactación de memoria:
25
Intro
Administración de memoria
Monoprog.
Modelo.
Multiprog.
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 .