04.5. Administración de Memoria particional

En la mayoría de los esquemas de gestión de memoria, se puede suponer que el sistema operativo ocupa una parte fija de la memoria principal y el resto de la memoria está disponible para ser usado por varios procesos.

El esquema más sencillo de gestión de la memoria disponible es dividirla en particiones con límites fijos. Las particiones pueden ser del mismo o de distinto tamaño, pero generalmente serán de distinto tamaño.

Si las particiones son del mismo tamaño, la ubicación de un proceso en la memoria es trivial, ya que mientras haya una partición libre, puede cargarse un proceso en esa partición. Cuando todas las particiones están ocupadas por procesos que no están listos para ejecutarse, uno de esos procesos debe sacarse y hacer sitio para un nuevo proceso.

Si las particiones son de distinto tamaño, hay dos maneras posibles de asignar los procesos a las particiones:

  • particiones
    Particiones del mismo tamaño y distinto tamaño

    La forma más simple es asignar cada proceso a la partición más pequeña en la que quepa, es decir, solo en la que mejor se adapte, para lo cual es preciso conocer la cantidad máxima de memoria, que necesitaría cada uno de los procesos y realmente esta información no siempre se conocerá. En este caso, será necesaria una cola de planificación para cada partición, que albergue los procesos listos para ejecutarse, cuyo destino es esa partición. La ventaja de este enfoque es que los procesos están siempre asignados de forma que se minimiza la memoria desaprovechada dentro de cada partición.Este enfoque que parece óptimo desde el punto de vista de una partición individual, no lo es, desde el punto de vista del sistema global, ya que si tenemos particiones grandes y los procesos que van llegando son todos pequeños, las colas de las particiones grandes permanecerán sin usar, incluso aunque algún proceso más pequeño pudiera haber sido asignado a las mismas.

  • Una solución mejor sería emplear una sola cola para todos los procesos y cuando se va a cargar un proceso en memoria principal, se selecciona la partición más pequeña disponible que pueda albergar al proceso. Si todas las particiones están ocupadas, se debe tomar una decisión de intercambio y puede darse preferencia al intercambio de la partición más pequeña, que pueda contener el proceso entrante. También es posible considerar otros factores, tales como, prioridades y preferencia para descargar procesos bloqueados antes que procesos listos.

El uso de particiones de distinto tamaño proporciona cierto grado de flexibilidad a las particiones fijas, además, ambos tipos de esquema de partición fija son relativamente simples y exigen un software del sistema operativo sencillo y una sobrecarga de procesamiento mínima.

El particionamiento fijo consiste en la asignación estática de la memoria particionada, que es una forma de hacer posible la multiprogramación, dividiendo la memoria física disponible en varias particiones, cada una de las cuales puede ser asignada a diferentes procesos.

Dependiendo de cómo y cuándo son creadas y modificadas esas particiones, el particionamiento de la memoria, puede ser estático o dinámico.

Banner De todo un Poco (1) con URL

Anuncios

Publicado por

Luis Castellanos

Experto en e-Learning, Seguridad y Tecnología. luiscastellanos @ yahoo.com | @lrcastellanos