Modelos de Gestión de Memoria y Almacenamiento en Sistemas Operativos: Working-Set, Buddy System y NAS

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,8 KB

Working-Set: Modelo del Conjunto de Trabajo

El modelo Working-Set (Conjunto de Trabajo) está basado en la suposición de la localidad de ejecución de los programas. Utiliza un parámetro A que define la ventana del conjunto de trabajo.

La idea es examinar las A referencias de páginas más recientes que forman el conjunto de trabajo. Si una página está siendo usada de forma activa, se encontrará dentro del conjunto de trabajo; si ya no está siendo utilizada, será eliminada después de A unidades de tiempo tras la última referencia que se hiciera a la misma.

Esta estrategia impide la hiperpaginación al mismo tiempo que mantiene el grado de multiprogramación con el mayor valor posible.

Principio de Localidad de Referencia

A medida que un proceso se ejecuta, se va desplazando de una localidad a otra. Una Localidad es un conjunto de páginas que se utilizan activamente de forma combinada.

  • Los programas están compuestos de varias localidades diferentes, que pueden estar solapadas.
  • Las localidades están definidas por la estructura del programa y por sus estructuras de datos.

El modelo de localidad afirma que todos los programas exhibirán esta estructura básica de referencias en memoria.

Impacto en la Asignación de Marcos

Si asignamos a un proceso los suficientes marcos como para acomodar su localidad actual, el proceso generará fallos de página para todas las páginas de su localidad, hasta que todas ellas estén en memoria. A partir de ahí, no volverá a generar fallos de página hasta que cambie de localidad.

Si asignamos menos marcos que el tamaño de la localidad actual, el proceso entra en sobrepaginación.

Asignación de Memoria del Kernel

Descomposición Binaria (Buddy System)

Este método asigna la memoria a partir de un segmento de tamaño fijo compuesto de páginas físicas contiguas. La memoria se asigna mediante un asignador de potencias de 2, que satisface las solicitudes en unidades cuyo tamaño es una potencia de 2.

Toda solicitud cuyas unidades no tengan el tamaño apropiado se redondeará hasta la siguiente potencia de 2 más alta.

  • Ventaja: Rapidez para combinar subsegmentos adyacentes (consolidación).
  • Desventaja: El redondeo produce fragmentación dentro de los segmentos.

Asignación de Franjas (Slab Allocation)

Una franja (slab) está formada por una o más páginas físicas contiguas. Una caché está compuesta de una o más franjas. Se utiliza una única caché por cada estructura de datos del kernel distinta.

Cada caché se rellena de objetos que son instancias de la estructura de datos del kernel que la caché representa. Este algoritmo utiliza cachés para almacenar objetos del kernel.

Cuando se crea una caché, se asigna un cierto número de objetos, marcados inicialmente como libres.

Estados de la Franja

  1. Llena
  2. Vacía
  3. Parcial

NAS (Network Attached Storage)

Un dispositivo NAS es un sistema de almacenamiento de propósito general conectado a la red, al que se accede de forma remota a través de una red de datos.

Los clientes acceden al almacenamiento a través de una interfaz de Llamadas a Procedimiento Remoto (RPC). Las RPC se realizan mediante protocolos TCP o UDP sobre una red IP.

Entradas relacionadas: