2. Administración de las memorias
Su labor consiste en llevar un registro
de las partes de memoria que se
estén utilizando y aquellas que no,
con el fin de asignar espacio en memoria
a los procesos cuando éstos la necesiten
y liberándola cuando terminen, así como administrar
el intercambio entre la memoria principal
y el disco en los casos en los que la memoria principal.
3. Mono-programación sin intercambio o
paginación
• Dividen los programas en pequeñas partes o páginas.
Del mismo modo, la memoria es dividida
en trozos del mismo tamaño que las páginas
llamados marcos de página. De esta forma, la cantidad
de memoria desperdiciada por un proceso es el final
de su última página, lo que minimiza
la fragmentación interna y evita la externa.
4. Multiprogramación
La multiprogramación es una técnica de multiplexación
que permite la ejecución simultánea de múltiples
procesos en un único procesador En realidad,
esta técnica produce una ilusión de paralelismo,
de manera que parece que todos los procesos
se están ejecutando a la vez. Sin embargo,
hay un único proceso ejecutándose en el procesador a la vez.
5. Multi-programación con particiones fijas.
• Divide la memoria en varias particiones de
tamaño fijo y cada partición contiene un proceso.
Está limitado por el número de particiones.
Cualquier espacio que no sea utilizado por
una tarea se pierde. El Sistema Operativo
conserva una tabla en la que indica
que partes de la memoria están disponibles y cuales ocupadas.
6. Swapping
Un proceso puede intercambiarse temporalmente de memoria
a un almacenamiento de respaldo y luego
puede ser retornado hacia la memoria para
continuar su ejecución.
El almacenamiento de respaldo se hace en
el disco, que debe ser rápido y tener suficiente
espacio para ubicar copia de todas las imágenes de memoria para todos los usuarios;
7. Multi-programación con particiones variables
Cada proceso ocupa tanto espacio como necesite
pero no puede superar el espacio disponible de memoria.
La partición de un trabajo es su propio tamaño
ya que no hay límites fijos de memoria.
Se dan esquemas de asignación contigua dado
que un programa debe ocupar posiciones
adyacentes de almacenamiento.
Los procesos que terminan dejan espacios
disponibles de memoria principal llamados agujeros.
8. Administración de la memoria con mapas bits
• La memoria se divide en unidades de asignación
tal vez sólo de unas cuantas palabras o quizá de varios kilobytes
A cada unidad de asignación corresponde un
bit del mapa de bits, que es 0 si la unidad está
libre y 1 si está ocupada (o viceversa).
9. Administración de la memoria con listas ligadas
• Cuando un proceso termina o se pasa a disco
si quedan dos hoyos juntos, se funden en
un solo segmento. Si la lista se
mantiene ordenada por dirección, podemos usar uno
de los siguientes algoritmos para escoger un
hoyo donde poner un nuevo proceso.
10. • First-fit.
Asignar el primer hoyo que sea suficientemente grande como para contener al
proceso.
• Best-fit.
Asignar el menor hoyo en el que el proceso quepa.
• Worst-fit.
Asignar el mayor hoyo.
12. Memoria Virtual en el Sistema Operativo.
Es una técnica que permite la ejecución
de procesos sin que éstos tengan que
ser cargados completamente en la memoria.
La idea es que el tamaño combinado
de la pila, programa y datos puede
exceder la memoria física disponible para ello.
13. Paginación
• La paginación es una estrategia de organización
de la memoria física que consiste en dividir
la memoria en porciones de igual tamaño.
A dichas porciones se las conoce como páginas
físicas o marcos. La división de la memoria
en páginas facilita la gestión de la memoria física.
14. Segmentación
• La segmentación es una técnica de gestión de memoria
que pretende acercarse más al punto de vista del usuario.
Los programas se desarrollan, generalmente, en
torno a un núcleo central (principal) desde el
que se bifurca a otras partes (rutinas) o se
accede a zonas de datos (tablas, pilas, etc).