lunes, 27 de octubre de 2014

3.3 ORGANIZACIÓN DE MEMORIA VIRTUAL



Memoria Virtual.
La memoria virtual ha llegado a ser un componente esencial de la mayoría de los Sistemas Operativos actuales. Y como en un instante dado, en la memoria solo se tienen unos pocos fragmentos de un proceso, se pueden mantener más procesos en la memoria.
La memoria virtual también simplifica la carga del programa para su ejecución llamado reubicación, este procedimiento permite que el mismo programa se ejecute en cualquier posición de la memoria física.
La memoria virtual combina la RAM del equipo con espacio temporal en el disco duro. Cuando queda poca RAM, la memoria virtual mueve datos de la RAM a un espacio llamado archivo de paginación. Al mover datos al archivo de paginación y desde él, se libera RAM para que el equipo pueda completar la tarea.
Evaluación de las Organizaciones de Almacenamiento.
Almacenamiento virtual “significa la capacidad de direccionar un espacio de almacenamiento mucho mayor que el disponible en el almacenamiento primario de determinado sistema de computación”. Esta tecnología apareció en 1960 en la Universidad de Manchester (Inglaterra), en el sistema “Atlas”.
Los métodos más comunes de implementación son mediante:
¡  Técnicas de “Paginación”.
¡  Técnicas de “Segmentación”.
¡  Una combinación de ambas técnicas.

Implicaciones de la memoria Virtual.
La segmentación permite al programador contemplar la memoria como si constara de varios espacios de direcciones o segmentos. Los segmentos pueden ser distintos tamaños, incluso de forma dinámica. Las referencias a la memoria constan de una dirección de la forma (número de segmento, desplazamiento).

Unidad III: ADMINISTRACION DE MEMORIA



3.1 POLÍTICA Y FILOSOFÍA

Filosofía
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 datos y procesos 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 que estrategias se deben utilizar para obtener un rendimiento óptimo.

Políticas

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 politica 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. (Ver figura (1)).
  



Figura 3.1.1
Round Robin: Los procesos se despachan en la forma que lo hace el FIFO, pero se les asigna una cantidad limitada de tiempo (CUANTUM) en el procesador, si no termina en ese lapso se manda al final de la lista de procesos listos. (Ver figura(2))



Figura 3.1.2
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. (Ver Figura(3))
 





Concurrencia y Secuencialidad



La consecuencia es  el punto de los campos anteriores: 
       a) multiprogramación 
       b) multiprocesos 
       c) procesos distribuidos: es la gestión de varios procesos que ejecutan en sistemas de computación múltiple y remota.


La concurrencia comprende un gran número de cuestiones de diseño incluyendo la comunicación entre procesos, compartición y competencia por los recursos , sincronización de la ejecución de varios procesos y asignación de tiempo del procesador a los procesos.