Los sistemas cuentan con gran capacidad de memoria, pero no es suficiente debido a que las aplicaciones actuales demandan la utilización de altos índices de memoria, generando la escasez de la misma.
Los sistemas operativos cuentan con un administrador de memoria, que es el encargado de llevar un registro acerca de las partes de la memoria que están siendo utilizadas y aquellas que no, con el objetivo de asignar espacio de memorias a los procesos cuando lo necesiten y liberarlas cuando el proceso haya finalizado.
Es así que los administradores de memoria utilizan diferentes técnicas para el manejo de la memoria, las más conocidas son la paginación y segmentación. Se utilizan estas técnicas con el fin de tener la mayor cantidad posible de memoria que requiera cada proceso, que sea la que necesita ni más pequeña ni más grande.
PAGINACIÓN
Es una técnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones físicas de igual tamaño, denominadas marcos de página. Los programas se dividen en unidades lógicas, denominadas páginas, que tienen el mismo tamaño que los marcos de páginas. De esta forma, se puede cargar una página de información en cualquier marco de página.
Las páginas sirven como unidad de almacenamiento de información y de transferencia entre memoria principal y memoria auxiliar o secundaria. Cada marco se identifica por la dirección de marco, que está en la posición física de la primera palabra en el marco de página.
SEGMENTACIÓN
Otro modo de subdividir el programa es la segmentación. En este caso, el programa y sus datos asociados se dividen en un conjunto de segmentos. No es necesario que todos los segmentos de todos los programas tengan la misma longitud, aunque existe una longitud máxima de segmento. Como en la paginación, una dirección lógica segmentada consta de dos partes, en este caso un número de segmento y desplazamiento.
Como consecuencia del empleo de segmentos de distintos tamaños, la segmentación resulta similar a la partición dinámica. En ausencia de un esquema de superposición o del uso de memoria virtual, sería necesario cargar en la memoria todos los segmentos de un programa para su ejecución.
La diferencia, en comparación con la partición dinámica, radica en que, con segmentación, un programa puede ocupar más de una partición.
Mientras que la paginación es transparente al programador, la segmentación generalmente es visible y se ofrece como la ventaja para la organización de los programas y datos.
Normalmente el programador o el compilador asignan los programas y los datos a diferentes segmentos. Para facilitar la programación modular, el programa o los datos pueden ser divididos de nuevo en diferentes segmentos.
jaja se mataron con segmentacion.. pero estuvo bueno!
ResponderEliminar