Segmentación en Sistema Operativo

Un proceso se divide en Segmentos. Los fragmentos en los que se divide un programa, que no son necesariamente del mismo tamaño, se denominan segmentos. La segmentación le da al usuario una vista del proceso que no da la paginación. Aquí la vista del usuario se asigna a la memoria física.
Hay tipos de segmentación:

  1. Segmentación de la memoria virtual:
    cada proceso se divide en una serie de segmentos, no todos los cuales residen en un momento determinado.
  2. Segmentación simple:
    cada proceso se divide en varios segmentos, todos los cuales se cargan en la memoria en tiempo de ejecución, aunque no necesariamente de forma contigua.

No existe una relación simple entre las direcciones lógicas y las direcciones físicas en la segmentación. Una tabla almacena la información sobre todos esos segmentos y se denomina tabla de segmentos.

Tabla de segmentos: asigna una dirección lógica bidimensional a una dirección física unidimensional. Cada entrada de la tabla tiene:

  • Dirección base: contiene  la dirección física inicial donde residen los segmentos en la memoria.
  • Límite: Especifica la longitud del segmento.

Traducción de dirección lógica bidimensional a dirección física unidimensional.

La dirección generada por la CPU se divide en:

  • Número(s) de segmento: Número de bits necesarios para representar el segmento.
  • Desplazamiento de segmento (d):  número de bits necesarios para representar el tamaño del segmento.

Ventajas de la segmentación –

  • Sin fragmentación interna.
  • La tabla de segmentos consume menos espacio en comparación con la tabla de páginas en la paginación.

Desventaja de la segmentación –

  • A medida que los procesos se cargan y eliminan de la memoria, el espacio de memoria libre se rompe en pequeños fragmentos, lo que provoca la fragmentación externa.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *