Tareas y multitareas

Solo disponible en BuenasTareas
  • Páginas : 8 (1769 palabras )
  • Descarga(s) : 4
  • Publicado : 19 de noviembre de 2009
Leer documento completo
Vista previa del texto
TAREAS Y MULTITAREAS

Considerando el entorno multithread (multihilo, multitarea, multihilvanado), cada thread (hilo, tarea, flujo de control del programa) representa un proceso individual ejecutándose en un sistema. A veces se les llama procesos ligeros o contextos de ejecución.

Se recuerda que cuando se refiere a tarea, se refiere a un hilo de ejecución, a un thread y del mismo modo,cuando se refiere a multitarea se refiere a multithread.

Generalmente, cada tarea controla un único aspecto dentro de un programa, como puede ser supervisar la entrada de un determinado periférico o controlas toda la entrada/salida del disco. Todas las tareas comparten los mismos recursos, al contrario que los procesos, en donde cada uno tiene su propia copia de código y datos (separados unos deotros).

Hay que distinguir multitarea de multiproceso. El multiproceso se refiere a dos programas que se ejecutan “aparentemente”, a la vez, bajo el control del Sistema Operativo. Los programas no necesitan tener relación entre sí, simplemente el hecho de que el usuario desee que se ejecuten a la vez. Multitarea se refiere a que dos o más tareas se ejecutan “aparentemente” a la vez en un mismoprograma.

Se usa “aparentemente” en ambos casos, porque normalmente las plataformas tienen una sola CPU, con lo cual, los procesos no se ejecutan en realidad “concurrentemente”, sino que comparten la CPU. En plataformas con varias CPU, sí es posible que los procesos se ejecuten realmente a la vez.

Tanto en multiproceso con en multitarea, el Sistema Operativo se encarga de que se genere lailusón de que todo se ejecuta a la vez. Sin embargo, la multitarea puede producir programas que realicen más trabajo en la misma cantidad de tiempo que el multiproceso, debido a que la CPU està compartida entre varias tareas de un mismo proceso. Además como el multiproceso está implementado a nivel de sistema operativo,el programador no puede intervenir en el planteamiento de su ejecución; mientras queen el caso de la multitarea, como el programa debe ser diseñado expresamente para que pueda soportar esta característica, es imprescindible que el autor tenga que planificar adecuadamente la ejecución de cada tarea.

Actualmente, hay diferencias en la especificación del intérprete de Java, porque el intérprete de Windows conmuta las tareas de igual prioridad mediante un algoritmo ciscular(round-robin), mientras que el de solaris 2.X deja que una tarea ocupe la CPU indefinidamente, lo que implica la inanición de las demàs.

PROGRAMAS DE FLUJO ÚNICO

Un programa de flujo único, tarea única o mono-hilo (single-thread) utiliza un único flujo de control para controlar su ejecución. Muchos programas no necesitan la potencia o utilidad de múltiples tareas. Sin necesidad de especificarexplícitamente que se quiere un unico flujo de control, muchos de los applets y aplicaciones son de flujo único.

Por ejemplo, en la aplicación estándar de saludo para aprender cualquier lenguaje de programación:

public class HolaMundo{
static public voin main (Strings args[]){
System.out.println(“Hola Mundo!”);
}
}
Aquí, cuando se llama a main(), la aplicación imprime el mensaje ytermina. Esto ocurre dentro de una única tarea.

Debido a que la mayor parte de los entornos operativos no solían ofrecer un soporte razonable para múltiples tareas, los lenguajes de programación tradicionales, tales como C++, no incorporaron mecanismos para describir de manera elegante soluciones de este tipo. La sincronización entre las múltiples partes de un programa se llevaba a cabomediante un bucle de suceso único. Estos entornos son de tipo síncrono, gestionados por sucesos. Entornos tales como el de MacOS de applet, Windows de Microsoft, y X11/Motif fueron diseñados en torno al modelo de bucle de suceso.

PROGRAMAS DE FLUJO MÚLTIPLE

En la aplicación de saludo, no se ve la tarea que está ejecutando el programa. Sin embargo, Java posibilita la creación y control de...
tracking img