Gestión de Memoria en Sistemas Operativos: Conceptos Clave y Estrategias
Clasificado en Informática
Escrito el en español con un tamaño de 5,74 KB
Sistema Operativo (SO)
Es el software que controla la computadora, sirviendo como interfaz hombre-máquina. Administra los recursos de un sistema de cómputo (hardware y software).
Recursos Administrados por el Sistema Operativo
- Administración de procesos (programas en ejecución, tareas)
- Administración de E/S (dispositivos, periféricos)
- Administración de memoria
- Administración de archivos
Concepto de Memoria
La memoria principal puede ser considerada como un arreglo lineal de localidades de almacenamiento de un byte de tamaño. Es el lugar donde la CPU lee las instrucciones a ejecutar, así como los datos a emplear.
Tipos de Memoria Primaria
- Memoria Volátil (RAM): Es similar a un pizarrón, ya que puede perder los datos al apagar el sistema.
- Memoria No Volátil (ROM): El administrador de memoria se encarga de gestionar la memoria RAM, mientras que la memoria ROM solo se utiliza para funciones específicas y no es gestionada de la misma manera.
La principal característica de la memoria principal es que no es persistente, lo que significa que su contenido se pierde al apagar el equipo.
Operaciones Básicas de Memoria
Las dos operaciones básicas que se realizan sobre la memoria son: lectura (r) y escritura (w).
La Ley de Parkinson y la Memoria
“Los programas se expanden hasta llenar la memoria disponible para contenerlos.”
Administrador de Memoria
El administrador de memoria sirve para tener un control sobre los lugares donde están almacenados los procesos y datos que actualmente se están utilizando.
Administrador de Disponibilidad
Tanto el administrador de memoria como el de archivos son ejemplos claros de un administrador de disponibilidad sobre recursos del sistema.
Memoria Caché
La memoria caché es una memoria de acceso rápido y finita. Se utiliza en muchos niveles, como por ejemplo en microprocesadores, o en servicios como la Web para mejorar el rendimiento.
Otros Tipos de Memoria: Buffers
Otro ejemplo de memoria son los buffers o memorias temporales de E/S (Entrada/Salida).
Tendencias y Aplicaciones del Manejo de Memoria
- Portapapeles: Permite guardar datos y transferirlos a otros programas.
- Bases de Datos en Memoria: Algunas versiones de bases de datos, como SQLite, permiten el uso de bases de datos directamente en memoria para un acceso más rápido.
- Hibernación y Suspensión: Las computadoras actuales permiten guardar el estado del sistema al apagar o suspender, lo que contribuye a un mejor desempeño y reanudación rápida.
- Punteros: Los punteros permiten desplazarse por las localidades de memoria. Es importante recordar que una variable es, en esencia, una localidad de memoria.
Mecanismos de Asignación de Memoria
Un mecanismo de asignación determina la cantidad de bloques (particiones) que serán administrados en la memoria.
Tipos de Mecanismos de Asignación
- Asignación de una partición: En este esquema, la memoria considera la existencia de una sola partición, lo que implica la capacidad de ejecutar un único proceso a la vez.
- Asignación de dos particiones: La memoria se divide en dos bloques. En una partición se carga el Sistema Operativo y en la otra el programa del usuario.
- Asignación de múltiples particiones: La memoria se divide en varias particiones; una se destina al Sistema Operativo y las demás a los procesos de usuarios u otras funciones especiales del Sistema Operativo.
Estrategias de Asignación de Memoria
Las estrategias de asignación de memoria determinan el lugar donde será cargado un nuevo proceso en base a un criterio específico.
Principales Estrategias de Asignación
- Primer ajuste: El Sistema Operativo asigna el primer bloque de memoria libre con espacio suficiente para satisfacer el requerimiento. La búsqueda de este bloque es de manera secuencial.
- Mejor ajuste: El Sistema Operativo busca el bloque de memoria que represente el menor desperdicio según el requerimiento.
- Peor ajuste: El Sistema Operativo asigna el bloque más grande que encuentre, buscando maximizar el espacio restante.
Otras Estrategias de Asignación
- Siguiente ajuste: En este esquema, se accede a la siguiente partición de memoria disponible, siendo semejante al primer ajuste. Es útil para garantizar espacios adicionales.
- Listas variables: En este esquema, se propone una forma de mejorar el acceso a las unidades de asignación (particiones) disponibles.
Inconvenientes en la Gestión de Memoria
Cualquier método para manejar la disponibilidad de la memoria presenta inconvenientes como:
- Fragmentación (interna y externa)
- Overhead (sobrecarga del sistema)
- Relocalización de programas
- Trashing (expulsar un programa inmediatamente después de haberle asignado memoria, lo que reduce el rendimiento)
Concepto de Memoria Virtual
La memoria virtual es un método mediante el cual un sistema operativo simula tener más memoria principal de la que existe físicamente, permitiendo ejecutar programas más grandes de lo que la RAM real permitiría.
Mecanismos de Localización de Programas
Los mecanismos de localización hacen referencia a la forma en que se puede ubicar un programa en memoria.