viernes, 29 de agosto de 2014

3.1.- Politica y Filosofia

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. 
Una de las funciones básicas que debe implementar un SO es la Administración de la Memoria para tener un 
control sobre los lugares donde están almacenados los procesos y datos que actualmente se están utilizando. 
Sea cual sea el esquema de organización del almacenamiento que se adopte para un sistema específico, es 
necesario decidir qué estrategias se deben utilizar para obtener un rendimiento óptimo. Las estrategias de 
administración del almacenamiento determinan el comportamiento de la administración de memoria cuando 
se siguen ciertas políticas: 
¿Cuándo se toma un nuevo programa para colocarlo en memoria? 
¿Se toma el programa cuando el sistema lo solicita específicamente o intenta anticiparse a las peticiones 
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? 
Se han realizado sistemas que utilizan cada una de estas estrategias de administración. 
Los programas y datos necesitan estar en el almacenamiento principal para ser ejecutados o para poder hacer 
referencia de ellos. Los que no se necesitan de inmediato pueden guardarse en el almacenamiento secundario. 
Por ejemplo el caso de Unix permite procesos múltiples y un proceso puede generar otro fácilmente. La 
planificación del procesador usa un algoritmo basado en prioridades. La administración de memoria es un 
algoritmo de regiones variables con intercambios. Inicialmente los algoritmos realizados se eligieron por 
sencillez, no por velocidad ni complejidad. El desarrollo inicial se hizo bajo un espacio muy pequeño de 
memoria. 
Los recursos de memoria totales eran insuficientes para justificar algoritmos complejos, por lo que UNIX 
intercambiaba el contenido en memoria de los procesos. 

No hay comentarios.:

Publicar un comentario