3.1 Política y Filosofía

La administración de memoria se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se aproveche de la mejor manera posible el espacio disponible.
Para poder lograrlo, la operación principal que realiza es la de trasladar la información que deberá ser ejecutada por el procesador, a la memoria principal. Actualmente esta administración se conoce como Memoria Virtual ya que no es la memoria física del procesador sino una memoria virtual que la representa. Entre algunas ventajas, esta memoria permite que el sistema cuente con una memoria más extensa teniendo la misma memoria real, con lo que esta se puede utilizar de manera más eficiente. Y por supuesto, que los programas que son utilizados no ocupen lugar innecesario.
Las técnicas que existen para la carga de programas en la memoria son: partición fija, que es la división de la memoria libre en varias partes (de igual o distinto tamaño) y la partición dinámica, que son las particiones de la memoria en tamaños que pueden ser variables, según la cantidad de memoria que necesita cada proceso.
Entre las principales operaciones que desarrolla la administración de memoria se encuentran la reubicación, que consiste en trasladar procesos activos dentro y fuera e la memoria principal para maximizar la utilización del procesador; la protección, mecanismos que protegen los procesos que se ejecutan de interferencias de otros procesos; uso compartido de códigos y datos, con lo que el mecanismo de protección permite que ciertos procesos de un mismo programa que comparten una tarea tengan memoria en común.
La parte del sistema operativo que administra la memoria se llama administrador de memoria y su labor consiste en llevar un registro de las partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos cuando éstos la necesiten y liberándola cuando terminen, así como administrar el intercambio entre la memoria principal y el disco en los casos en los que la memoria principal no le pueda dar capacidad a todos los procesos que tienen necesidad de ella.
Los sistemas de administración de memoria se pueden clasificar en dos tipos: los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecución y los que no.
Para poder comprender como se administra la memoria es necesario  conocer primero  que es la memoria principal, por lo que a continuación se citaran algunas definiciones:
  • La memoria principal puede ser considerada como un arreglo lineal de localidades de almacenamiento de un byte de tamaño. Cada localidad de almacenamiento tiene asignada una dirección que la identifica.
  • Memoria interna del sistema informático, con direcciones accesibles por los programas y que puede cargarse en los registros para su posterior ejecución o procesamiento.
  • Lugar en el cual se almacenan datos e instrucciones en una computadora antes y durante su ejecución.
Sea cual sea es esquema de organización del almacenamiento que se adopte para un sistema específico, es necesario decidir que estrategias se deben utilizar para obtener un rendimiento óptimo.
Política
El sistema operativo debe llevar a cabo una política de espacio de asignación de memoria.
Esto es necesario cuando se precisa crear el mapa de memoria de un proceso que ocupa un determinado tamaño  para poder así determinar qué zonas libres se deberían utilizar; esto con el fin de lograr conjugar los siguientes aspectos:
  • Buen aprovechamiento de la memoria
  • Algoritmo de decisión eficiente
Para lograr conjugar los aspectos anteriores es necesario contestarnos las siguientes preguntas

  • ¿Cuándo se toma un nuevo programa para colocarlo en memoria?
  • ¿Se toma el programa cuando el sistema lo solicita específicamente o se intenta anticiparse a las particiones del sistema?
  • ¿En qué lugar del almacenamiento principal se coloca el programa por ejecutar?
  • ¿Se colocan los programas lo más cerca unos de otros en los espacios disponibles de la memoria principal para reducir al mínimo el desperdicio de espacio, o se colocan los programas lo más rápido posible para reducir al mínimo el tiempo de ejecución?
Si se necesita colocar un nuevo programa en el almacenamiento principal y éste está lleno, ¿Cuál de los otros programas se desaloja? Una vez que hayan respondido esas preguntas, entonces será posible determinar cuál es la mejor política de asignación de memoria.
 Entre las políticas de asignación de memoria tenemos las siguientes:

FIFO
Los procesos se despachan de acuerdo a su tiempo de llega a la cola de procesos listos, si un proceso llega al procesador sale hasta que termine. La política FIFO actualmente no se usa como el esquema principal de un sistema, pero si por ejemplo cuando se usa una política de prioridades y hay procesos con la misma prioridad, a estos se les podría aplicar FIFO.


Round Robin
Los procesos se atienden en la forma que lo hace el FIFO, pero se les asigna una cantidad limitada de tiempo en el procesador, si no termina en ese lapso se manda al final de la lista de procesos listos.

SJF (Shortest job first - Prioridad del trabajo más corto)
Se ejecuta primero el proceso en espera que tiene el menor tiempo estimado. SJF favorece a los procesos cortos, ya que los largos podrían llegar a rezagarse mucho tiempo e incluso nunca ejecutarse.

SRT (Sortest remaining time scheduling – Tiempo restante más corto)
En SJF una vez que un proceso comienza su ejecución continúa hasta terminar. En SRT, un proceso en ejecución puede ser desposeído por uno nuevo de menor tiempo de ejecución.

HRN: (highest response ratio next – Prioridad de la tasa de respuesta más alta)
Política no apropiativa que corrige el retraso excesivo de procesos grandes que produce el SJF, para así no caer en un favoritismo excesivo por los procesos cortos, lo logra usando una formula basada en el tiempo de espera y el tiempo de servicio, con lo cual la prioridad de cada trabajo no solo está en función del tiempo de servicio sino también del tiempo que ha esperado para ser atendido.
 Enlace a la Técnica HRN

No hay comentarios.:

Publicar un comentario

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Resultado de imagen para sistemas operativos ¡Hoy en día la tecnología avanza a cada año...