miércoles, 30 de noviembre de 2011

Sistemas de Tiempo compartido y Tiempo Real


         Los sistemas de tiempo compartido son una extensión lógica de la multiprogramación. La CPU corre todas las aplicaciones asignando tiempos para ejecutarse de forma alternada para cada una de ellas, esto permite a los usuarios compartir el computador y hace parecer que cada usuario tuviera uno propio ya que los procesos realizan rápidamente  su uso de CPU.
Hoy en día los ordenadores poseen sistemas por lotes y sistemas de tiempo compartido pero siempre en su diseño inicial se inclinan por uno de los dos.
Ya que en la multiprogramación hay que mantener los programas en la memoria principal en espera de su ejecución, en este sistema se deben intercambiar los trabajos entre la memoria principal y el disco duro, el cual sirve de respaldo a la memoria principal; por lo que además de poseer una planificación de memoria, tienen que tener una administración de disco.

          Los sistemas de tiempo real o SRT interactúan con una forma de realizar las acciones que es conocida en relación a sus entradas, salidas y restricciones de tiempo; para que su funcionamiento sea adecuado y este de acuerdo con los conceptos de predictibilidad, estabilidad, controlabilidad y alcanzabilidad.

Un SRT cumple tres condiciones:
  • Interactúa con el mundo real (proceso físico).
  • Emite respuestas correctas.
  • Cumple restricciones temporales.

          Estos sistemas están presentes todos los días en todas partes desde las centrales de energía eléctrica, controlando la generación, transmisión y distribución de esta; hasta las líneas de metro y aéreas, monitoreando el trafico de estas últimas. Además de asegurar la calidad de múltiples procesos industriales.

Los SRT se pueden clasificar en:

  • SRT por hard: garantizan la ejecución de tareas criticas de forma eficiente, almacenando los datos en la ROM y sin ocupar memoria virtual ni tiempo compartido, ya que ambas técnicas no son usadas por hardware.
 
  • SRT por soft: ejecutan las tareas menos criticas usando técnicas de prioridad para asignar las tareas. Su utilización es menor en comparación que por hard ya que por ejemplo no se pueden implementar en control industrial y/o robótica. Pero si para multimedia y realidad virtual.

martes, 29 de noviembre de 2011

Multiprogramacion

La Esencia de la multiprogramación propone que la CPU nunca se encuentra ociosa, es así como por ejemplo, si en su sistema se esta ejecutando un trabajo que estaba en cola, este tendrá que en algún momento pausar su ejecución por alguna razón(esperar que se introduzca un comando por teclado o algo por el estilo), la CPU seguirá activa siendo usada por el siguiente trabajo que esté listo para ejecutarse y así sucesivamente, y obviamente el trabajo inicial en algún momento retomara la CPU para continuar su ejecución.

                Para  poder llevar a cabo este complejo método de programación, es necesario una Planificación de CPU, con esto logramos que todos los programas que están listos para  ejecutarse sean conservados en la memoria  y se les pueda administrar la misma, además de elegir entre todos estos programas el que se va a ejecutar primero, cual después, el siguiente y así hasta el último.



                Existen dos formas de organizar las diferencias de  velocidades de ejecución entre la CPU y los dispositivos:

  •  Polling: La CPU está continuamente consultando a cada periférico si tiene algo que hace

  • Interrupciones: La CPU prioriza los procesos y cuando algún dispositivo necesita de la CPU, le     enviara una solicitud de interrupción, este procedimiento es inverso al Polling.

Tenemos Sistemas de Multiprogramación de Partición Fija, estos poseen espacios de almacenamiento fijo para los procesos que se encuentran en cola, por eso esos deben esperar que exista un bloque o mas de memoria con tamaño suficiente para ser atendido; en cambio en los Sistemas de Multiprogramación de Partición Variable, la memoria se divide en espacios variables de acuerdo a lo que exijan los procesos que sean almacenados en ella.