Diferencia Entre Paginación y Segmentación en Sistemas Operativos


La paginación en los sistemas operativos es un esquema de administración de memoria mediante el cual una computadora almacena y recupera datos del almacenamiento secundario para usarlos en la memoria principal. En este esquema, el sistema operativo recupera datos del almacenamiento secundario en bloques del mismo tamaño denominados páginas.

La idea principal detrás de la paginación es dividir cada proceso en forma de páginas. La memoria principal también se dividirá en forma de cuadros y, por lo tanto, una página del proceso se almacenará en uno de los cuadros de la memoria.

La paginación disminuye la eficiencia del sistema, ya que puede dividir la misma función en diferentes páginas que pueden o no cargarse en la memoria al mismo tiempo.

Ordenador portátil con sistema operativo windows


La segmentación, por otro lado, es una técnica de gestión de la memoria en la que la memoria se divide en partes de tamaño variable. Luego, cada parte se denomina segmento, es decir, se puede asignar a un proceso.

Aunque la paginación está más cerca del sistema operativo que del usuario porque divide todos los procesos en forma de páginas, la segmentación es mucho mejor porque divide el proceso en segmentos en los que cada segmento constituye el mismo tipo de funciones, como la función principal en una el segmento y la función de biblioteca están en el otro segmento.

Ventajas y desventajas de la segmentación

Ventajas

  • Hay menos gastos generales en la segmentación
  • Es mucho más sencillo reubicar segmentos que todo el espacio de direcciones.
  • No hay fragmentación interna, porque hay que hacer una fragmentación externa.
  • La tabla de segmentos es de menor tamaño en comparación con la tabla de páginas en paginación.
  • El tamaño medio del segmento es relativamente mayor que el tamaño real de la página.

Desventajas

  • Puede contener fragmentación externa
  • Es difícil asignar memoria contagiosa a la partición debido a su tamaño variable.
  • Esta técnica de administración de memoria es demasiado costosa.

Diferencias entre paginación y la segmanetación


  1. La segmentación permite que los programas, datos y códigos se dividan en espacios de direcciones independientes. Estos espacios ayudan a proteger y compartir los programas. La paginación, por otro lado, se utiliza cuando se obtiene una dirección lineal grande. Por lo general, esto se hace sin tener que comprar más memoria física.
  2. En la segmentación, la tabla segmentada asigna la dirección lógica a la dirección física y contiene el número segmentado y el desplazamiento (límite de segmento). En la paginación, la tabla de páginas asigna la dirección lógica a la dirección física y contiene la dirección base de cada página almacenada en los marcos del espacio de memoria física.
  3. La segmentación permite compartir procedimientos mientras que la paginación no permite compartir procedimientos.
  4. La segmentación puede diferenciar y proteger los procedimientos y los datos por separado, mientras que la paginación no distingue y protege los procedimientos y los datos de forma separada.
  5. La segmentación puede conducir a una fragmentación externa ya que la memoria se llena con bloques de tamaño variable. Por el contrario, la paginación puede llevar a una fragmentación interna ya que la página es de tamaño de bloque fijo, pero puede suceder que el proceso no adquiera el tamaño de bloque completo lo que generará la fragmentación interna en la memoria.
  6.  Una de las otras ventajas de la segmentación es que es visible y los desarrolladores pueden verla. Este proceso puede gestionar el crecimiento general de la modularidad, la estructura de datos y proporcionar soporte para el intercambio y la protección de datos. Por otro lado, la ventaja de la paginación es que las unidades que se mueven a través de la memoria principal son del mismo tamaño y están fijas. Por tanto, no son posibles complicados algoritmos de gestión de memoria para explotar el comportamiento del programa.
  7. La segmentación consiste en un enlace dinámico y una carga dinámica, mientras que la paginación consiste en un enlace estático y una carga dinámica.
  8.  En la segmentación, el cambio en los datos o el procedimiento requiere compilar solo el segmento afectado, no el programa completo. Por otro lado, en la paginación, el cambio de datos o procedimiento requiere compilar el programa completo.
  9. En la segmentación, hay disponibilidad de muchos espacios de direcciones independientes, mientras que en la paginación, el espacio de direcciones es unidimensional.
  10. En la segmentación, el usuario especifica el tamaño de la página segmentada. Por otro lado, en la paginación, el tamaño de la página lo decide o especifica el hardware.
  11. En la segmentación, el usuario especifica la dirección en dos cantidades, es decir, número de segmento y desplazamiento. En la paginación, el usuario solo proporciona un único entero como dirección que es dividida por el hardware en un número de página y desplazamiento.
  12. La segmentación hace posible que los programadores tengan un conocimiento previo de los límites de la memoria. Esto generalmente se hace cuando el programador intenta asignar funciones de espacio de memoria, variables y se esfuerza por alcanzar la violación de memoria de solo lectura que eventualmente resulta en fallas de segmentación. Por otro lado, la paginación es transparente y clara para los programadores, ya que el sistema la administra automáticamente.

Tabla conparativa de las diferencias

SEGMENTACIÓNPAGINACIÓN
Cuando se usaLa segmentación permite que los programas, datos y códigos se dividan en espacios de direcciones independientes. Estos espacios ayudan a proteger y compartir los programas.
La paginaciónse utiliza cuando se obtiene una dirección lineal grande. Por lo general, esto se hace sin tener que comprar más memoria física.
Mapas de tablaEn la segmentación, la tabla segmentada asigna la dirección lógica a la dirección física y contiene el número segmentado y el desplazamiento (límite de segmento).
En la paginación, la tabla de páginas asigna la dirección lógica a la dirección física y contiene la dirección base de cada página almacenada en los marcos del espacio de memoria física.
 
Compartir procedimientos
La segmentación permite compartir procedimientos.
 
La paginación no permite compartir procedimientos.
Diferenciación de procedimientos y datos seguros
La segmentación puede diferenciar y proteger los procedimientos y los datos por separado.

La paginación no distingue ni protege los procedimientos y los datos de forma separada.
Resultado
La segmentación puede conducir a una fragmentación externa ya que la memoria se llena con bloques de tamaño variable.
La paginación puede llevar a una fragmentación interna ya que la página tiene un tamaño de bloque fijo, pero puede suceder que el proceso no adquiera el tamaño de bloque completo, lo que generará la fragmentación interna en la memoria.
VentajaLa ventaja de la segmentación es que es visible y los desarrolladores pueden verla. Este proceso puede gestionar el crecimiento general de la modularidad, la estructura de datos y proporcionar soporte para el intercambio y la protección de datos.La ventaja de la paginación es que las unidades que se mueven a través de la memoria principal son del mismo tamaño y están fijas. Por tanto, no son posibles complicados algoritmos de gestión de memoria para explotar el comportamiento del programa.
Constituyentes La segmentación consiste en enlaces dinámicos y carga dinámica.La paginación consta de enlace estático y carga dinámica.
Cambio de datosEn la segmentación, el cambio en los datos o el procedimiento requiere compilar solo el segmento afectado, no el programa completo.En la paginación, el cambio de datos o procedimiento requiere la compilación del programa completo.
Espacios de direccionesEn la segmentación, hay disponibilidad de muchos espacios de direcciones independientes.En la paginación, el espacio de direcciones es unidimensional.
Tamaño de la páginaEn la segmentación, el usuario especifica el tamaño de la página segmentada.En la paginación, el tamaño de la página lo decide o especifica el hardware.
El usuarioEn la segmentación, el usuario especifica la dirección en dos cantidades, es decir, número de segmento y desplazamiento. En la paginación, el usuario solo proporciona un único entero como dirección que es dividida por el hardware en un número de página y desplazamiento.
Programadores La segmentación hace posible que los programadores tengan un conocimiento previo de los límites de la memoria.
La paginación es transparente y clara para los programadores, ya que el sistema la administra automáticamente.

Deja un comentario