1. Paginación :La paginación es una técnica de gestión de memoria ampliamente utilizada en la que la memoria física se divide en bloques de tamaño fijo llamados páginas. Cuando un proceso necesita acceder a la memoria, lo hace a través de su espacio de direcciones de memoria virtual. El sistema operativo traduce estas direcciones virtuales en direcciones físicas asignándolas a las páginas apropiadas. Esto permite un uso eficiente de la memoria física, ya que varios procesos pueden compartir las mismas páginas físicas en diferentes momentos.
2. Segmentación :La segmentación es otra técnica de gestión de memoria que divide el espacio de direcciones lógicas del usuario en segmentos de tamaño variable. A cada segmento se le pueden asignar diferentes atributos de protección y puede crecer o reducirse dinámicamente según sea necesario. Esta flexibilidad es útil para organizar diferentes partes de un programa, como código, datos y pila, y para hacer cumplir el control de acceso.
3. Intercambio :El intercambio implica transferir temporalmente páginas o segmentos inactivos o usados con menos frecuencia desde la memoria principal al almacenamiento secundario (generalmente un disco) para liberar espacio para otros procesos que necesitan más memoria. Cuando se necesita nuevamente una página o segmento intercambiado, se vuelve a leer en la memoria principal. El intercambio ayuda a administrar la memoria cuando no hay suficiente memoria física para acomodar todos los procesos activos.
4. Paginación/segmentación de la demanda :La paginación de demanda y la segmentación de demanda son técnicas que se utilizan para optimizar el uso de la memoria física cargando solo las páginas o segmentos necesarios en la memoria principal cuando son necesarios. Esta estrategia reduce la cantidad de memoria física necesaria en un momento dado y mejora el rendimiento general del sistema.
5. Compactación de memoria :La compactación de memoria es una técnica opcional que se puede emplear para recuperar bloques contiguos de memoria libre acercando páginas o segmentos activos para eliminar la fragmentación. Este proceso puede mejorar la utilización de la memoria y reducir la probabilidad de intercambio.
6. Sistema de amigos :El sistema de amigos es un algoritmo de asignación de memoria que divide la memoria disponible en bloques del mismo tamaño, conocidos como "amigos". Cuando se realiza una solicitud de asignación de memoria, el algoritmo intenta encontrar un bloque amigo del tamaño apropiado. Si no hay ningún bloque adecuado disponible, divide un bloque más grande en dos compañeros hasta alcanzar el tamaño deseado. Este enfoque minimiza la fragmentación y garantiza una utilización eficiente de la memoria.
Estas técnicas, ya sea utilizadas solas o en combinación, permiten que los sistemas de tiempo compartido administren la memoria de manera eficiente, permitiendo que múltiples usuarios y procesos compartan recursos y se ejecuten simultáneamente.