Métodos de Asignación de Memoria Paginación La paginación consiste en considerar el espacio de direcciones lógicas de cada proceso como un conjunto de bloques de tamaño consistente llamados paginas. Cada dirección lógica manejada para un proceso estará conformada por un par de valores [pagina: desplazamiento]. Obviamente el tamaño de un 'marco' debe ser igual al tamaño de una página y por lo general el tamaño designado para los marcos y páginas es p equeño. El almacenamiento real es particionado en marcos del mismo tamaño que las páginas. De este modo una página puede y debe ser almacenada sólo en un marco y viceversa. Se utiliza también una tabla de páginas en la cual serán almacenadas todas las referencias a la página. Así mismo, el descriptor de páginas es similar al descriptor de segmentos, pero sin el campo de longitud de página.
Segmentación Es posible generalizar la idea de separar la parte de programa y datos, y dividir la memoria en tantos trozos de longitud variable como sea posible y necesario. Este procedimiento es conocido como segmentación. Así, por ejemplo, cada rutina podría pertenecer a un trozo separado. El tamaño máximo para un segmento estará determinado por la capacidad de direccionamiento del hardware de la computadora, esto es, de cuantos bits se dispone para almacenar una dirección. El acceso a cada elemento individual (byte) en la memoria se hace mediante una dirección de memoria que se integra por dos elementos: una dirección de segmento y una de desplazamiento. La segmentación tiene considerables ventajas desde el punto de vista admini administr strati ativo vo de la memori memoria, a, ya que es más fácil fácil encont encontrar rar trozos trozos libres libres pequeños. Además, no es necesario tener todo el programa en memoria a la vez; vez; basta basta tener tener aquell aquellos os segment segmentos, os, de él, que verdad verdadera erament mente e están están participando de la ejecución.
Fragmentación Tanto para el caso de la paginación, para el de segmentación y en general en todos los sistemas de cómputo (sea cual sea la organización de su almacenamiento), se presenta la fragmentación del almacenamiento. En los sistemas de multiprogramación y particiones fijas, la fragmentación se presenta porque los trabajos de los usuarios (páginas) no llenan por completo las particiones designadas (marcos) o porque una partición se queda sin utilizar por ser demasiado pequeña para almacenar una tarea en espera. La fragmentación se presenta en todas las formas de almacenamiento y a todo nivel de información. En el caso de la paginación, cuanto menor sea el tamaño de las páginas, más páginas y marcos de página habrá y mayores tendrán que ser las tablas de marcos. El desperdicio de almacenamiento primario debido a tablas excesivamente grandes se denomina fragmentación de tablas.
En la segmentación-paginación, como ya se ha mencionado las direcciones virtuales se componen de tres partes: un segmento, una página y un desplazamiento. La primera sirve para encontrar la entrada en la tabla de segmentos, en donde se encuentra la dirección donde comienza la página; con la segunda componente se encuentra la entrada correspondiente a la página y allí la dirección del marco de página, que junto con el desplazamiento dan la dirección real. En la paginación un fallo de página ocurre cuando la página no reside en memoria real y en la segmentación, cuando se referencia un segmento que no se encuentra en la memoria.
Cuestionario: I-
Conteste las Siguientes preguntas según el texto anteriormente leído.
1- ¿Qué entiende por método de asignación de memoria? 2- Defina Paginación de Memoria 3- Defina Segmentación de Memoria. 4- Indique 4 diferencias entre la paginación y la segmentación 5- ¿Porque se genera la fragmentación en la memoria?
II-
Según los contenidos anteriormente vistos en clases, conteste las siguientes preguntas
1- ¿Qué entiende por mecanismo de asignación de memoria? 2- ¿Cuáles son los mecanismos de asignación de memoria? 3- ¿Qué entiende por estrategia de asignación de memoria? 4- ¿En qué consiste la estrategia más eficiente de asignación de memoria? 5- ¿Cuál es el rol del sistema operativo con respecto a la función de la memoria principal?