Gestión de Memoria en Sistemas Operativos: Paginación, Segmentación y Memoria Virtual

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

Escrito el en español con un tamaño de 5,52 KB

Conceptos Avanzados de Gestión de Memoria en Sistemas Operativos

Paginación Segmentada

La memoria física se divide en páginas, y estas, a su vez, se dividen en segmentos que pueden ser de distinto tamaño.

  • La dirección virtual consta de número de página, número de segmento y desplazamiento dentro de este.
  • Se utiliza una Tabla de Descriptores de Segmento (TDS) por proceso y una Tabla de Mapeo de Páginas (TMP) por segmento.
  • Este método es poco eficiente y rara vez se utiliza.

Segmentación Paginada

La memoria se divide en segmentos, y estos, a su vez, en páginas. Los segmentos tendrán un tamaño múltiplo al tamaño de la página.

  • La dirección virtual consta de número de segmento, número de página y desplazamiento dentro de este.
  • Se tiene una Tabla de Mapeo de Páginas (TMP) independiente para cada segmento. Como cada segmento tiene una longitud limitada por su entrada en la tabla de segmentos, la tabla de páginas no tiene por qué tener su tamaño máximo, solo tendrá tantas entradas como se necesiten.
  • La TDS no contiene la dirección base del segmento, sino la dirección base de una tabla de páginas para ese segmento.
  • Se elimina la fragmentación externa, pero se presenta fragmentación interna: generalmente, la última página de cada segmento no estará totalmente llena.

Ventajas

  • Compartición: Permite compartir código común entre varios procesos simplemente indicando que están en el mismo marco de página.
  • No se produce fragmentación externa.
  • No es necesario compactar.

Desventajas

  • El programador no podría distinguirla de la segmentación pura.
  • Requiere más tablas, lo que implica mayor consumo de almacenamiento.

Memoria Virtual con Paginación por Demanda

Los procesos se dividen en páginas, pero solo pasarán a memoria principal aquellas que sean estrictamente necesarias.

  • Para "intercambiar" las páginas, se utiliza un intercambiador perezoso, que nunca reincorpora una página a memoria a menos que se necesite.
  • Se consulta una tabla interna que se conserva en el Bloque de Control de Proceso (PCB) del proceso.
  • Se tiene una Tabla de Mapeo de Páginas (TMP): marca una entrada como válida o inválida usando los bits de presencia. Cada entrada de la TMP tiene asociado un bit de validez. Si es 1 (válido), indica que la página asociada está en memoria principal; si es 0 (inválido), está en disco.
  • La memoria secundaria contiene las páginas que no residen en memoria principal.

Protección de Memoria

Se utilizan registros límite y bits de protección para asegurar la integridad de la memoria.

Ventajas

  • Acelera la carga de un proceso (no se cargan páginas que no se referencian).
  • Mejor uso de la memoria principal.
  • Capacidad de hacer funcionar programas que ocupan más memoria que la poseída.

Desventajas

  • Cada fallo de página requiere cargar una página desde disco, lo que degrada el rendimiento si ocurren muchos fallos.
  • Las páginas que son sacadas por intercambio pueden volver a ser llamadas, lo que ocasiona que se lea en múltiples ocasiones la misma información.

Fórmulas Clave en la Gestión de Memoria

Paginación

Cálculo de la Dirección Física (DF) a partir de la Dirección Virtual (DV):

DV(NºPag, Desp) = (NºMarcoPag * Tam.Pag) + Desp

Cálculo del Número de Página (NºPag) y Desplazamiento (Desp) a partir de la Dirección Lógica (Dir.Lógica):

NºPag = Dir.Lógica / Tam.Pag
Desp = Dir.Lógica - (NºPag * Tam.Pag)

Segmentación

Cálculo de la Dirección Física (DF) a partir de la Dirección Lógica (DL):

DL(NºSeg, Desp) = Dir.Base_Seg + Desp

Nota: En segmentación, la dirección lógica es la dirección virtual.

Segmentación Paginada

Estructura de la Dirección Lógica (DL):

DL (NºSeg, NºMPag, Desp)
DL (NºSeg, DlogPag)

Cálculo de la Dirección Lógica de Página (DlogPag):

DlogPag = (NºMPag * TamPag) + Desp

Este valor DlogPag se utiliza posteriormente para obtener la dirección física real.

Comandos de Gestión de Usuarios en Windows (net user)

A continuación, se presentan algunos comandos básicos para la gestión de usuarios en sistemas Windows, utilizando la utilidad net user.

net user [nombredeusuario [contraseña | *] [opciones]] [/domain]
net user nombredeusuario [contraseña | *] /add [opciones] [/domain]
net user [nombredeusuario [/delete] [/domain]]

Opciones comunes:

  • /expires:{(mm/dd/aaaa | dd/mm/aaaa | mmm,dd,aaaa) | never}
  • /active:[no | yes]
  • /fullname:"nombre"
  • /times:(dia[-dia][dia[-dia]] hora[-hora][:..] | all)
  • /comment:"texto"
  • /passwordchg:{yes | no}

Nota: Esta sección no está directamente relacionada con la gestión de memoria, pero se incluye según el documento original.

Entradas relacionadas: