Ensayo

Solo disponible en BuenasTareas
  • Páginas : 7 (1661 palabras )
  • Descarga(s) : 0
  • Publicado : 19 de febrero de 2012
Leer documento completo
Vista previa del texto
Procesos e Hilos
Dos tareas se dice que son concurrentes si transcurren durante el mismo intervalo de tiempo. Se entiende por programación concurrente el conjunto de técnicas y notaciones que sirven para expresar el paralelismo potencial en los programas, así como resolver problemas de comunicación y sincronización. Cuando se trabaja en entornos distribuidos o con máquinas con múltiplesprocesadores, se suele hablar de programación distribuida o paralela, respectivamente. En una PC, el sistema operativo pasa el control de la CPU de una tarea a otra cada pocos milisegundos, lo cual es conocido como cambio de contexto. Al realizar los cambios de contexto en intervalos de tiempo muy cortos, el usuario tiene la percepción de que las distintas tareas se ejecutan en paralelo (algo que,obviamente, sólo sucede si disponemos de un multiprocesador). Cuando se decide descomponer un programa en varias tareas potencialmente paralelas, estas tareas se pueden implementar como procesos o como hilos. Un proceso es una instancia de un programa en ejecución con un estado asociado. Las distintas aplicaciones que se pueden ejecutar en un sistema operativo multitarea son procesos independientes. Cadaproceso ocupa un espacio de memoria independiente (para no interferir con la ejecución de otros procesos). Una aplicación puede implementarse como un conjunto de procesos que colaboren entre sí para lograr sus objetivos, para lo que se pueden emplear distintos mecanismos de comunicación entre procesos. Relación entre hilos y procesos

Los sistemas operativos actuales permiten un nivel adicionalde paralelismo dentro de un proceso: En un proceso pueden existir varios hilos de control independientes

(threads). Cada hilo es una vía simultánea de ejecución dentro del espacio de memoria del proceso. La comunicación entre los distintos hilos se puede realizar a través del espacio de memoria que comparten, aunque habrá que utilizar mecanismos de sincronización para controlar el acceso aeste recurso compartido por todos los hilos de un proceso. Se denomina aplicación concurrente a una aplicación que se descompone en un conjunto de procesos y/o hilos. Del mismo modo, una aplicación multihilo está constituida por distintos hilos que comparten el espacio de memoria de un proceso. Independientemente de si se utilizan procesos o hilos, el desarrollo de aplicaciones concurrentesinvolucra el uso de técnicas específicas y la superación de dificultades que no se presentan en la implementación de programas secuénciales. A la hora de crear aplicaciones concurrentes se deben de considerar lo siguiente: • • • • Diseño: es más complejo que el de las aplicaciones secuénciales. Implementación: es más compleja que la de aplicaciones secuénciales. Depuración: es difícil. Tiempo deejecución: hay carga adicional para el sistema, por lo que se debe tener en cuenta la eficiencia de la implementación resultante.

Los hilos y procesos permiten crear interfaces que respondan mejor a las órdenes de los usuarios. En una aplicación que tiene que realizar alguna tarea larga, su interfaz debería seguir respondiendo. Para poder obtener un paralelismo real se requiere el uso de hilos y procesosque corran en un sistema multiprocesador (dispone de varios CPUs). A veces los motivos que conducen a utilizar hilos y procesos no tienen una justificación física, sino que un programa puede diseñarse con más comodidad si se descompone en un conjunto de tareas independientes. El objetivo principal del uso del paralelismo es mejorar el rendimiento del sistema, el tiempo de respuesta y la carga detrabajo que puede soportar un sistema. Sin embargo, un número excesivo de hilos y procesos puede llegar a degradar el rendimiento del sistema (debido al tiempo de CPU requerido por los cambios de contexto; por lo que se debe analizar hasta que punto se compensa utilizar hilos y procesos). Los cambios de contexto son más costosos en el caso de los procesos al tener que cambiar el espacio de...
tracking img