PROGRAMACION CONCURRENTE La programación concurrente es la simultaneidad en la ejecución de múltiples tareas interactivas. Estas tareas pueden ser un conjunto de procesos o hilos de ejecución creados por un único programa. Las tareas se pueden ejecutar en un sola UCP (multiprogramación), en varios procesadores o en una red de computadores distribuidos. La programación concurrente está relacionada con la programación paralela, pero enfatiza más la interacción entre tareas. Así, la correcta secuencia de interacciones o comunicaciones entre los procesos y los nodos los procesos coordinados de recursos que se comparten por tareas son las claves de esta disciplina.
Multitarea, Multiprogramacion, multiprocesos La programación concurrente tiene capacidad para realizar varias tareas al mismo tiempo o muchas tareas en una sola PC con un procesador o varios.
Multitareas Multiprogramacion Multiprocesos
Multitareas Es la capacidad de un sistema operativo para ejecutar varios procesos al mismo tiempo corriendo sobre un procesador.
Con los sistemas operativos DOS esto era incapaz de realizarse.
Existen varios tipos de multitareas y son : * Multitarea Nula* Multitarea Cooperativa* Multitarea Preferente* Multitarea Real
Multitarea Nula ES aquel sistema operativo que carece de multitarea. Aún así puede simularla implementándola en un espacio de usuario Justamente la familia DOS son ejemplos de sistemas operativos de multitarea nula.
Multitarea Cooperativa Tipo de multitarea en donde los procesos de usuario son quienes ceden la CPU al sistema operativo a intervalos regulares. Es sumamente problemático porque si por algún motivo el proceso de usuario es interrumpido, no cede la CPU al sistema operativo que lo ejecuta y, por lo tanto, quedará trabado (bloqueado).Los sistemas operativos Windows antes de la versión 1995 implementaban este tipo de multitarea.
Multitarea Preferente Multitarea en donde el SO se encarga de administrar uno o más procesadores, repartiendo el tiempo de uso del mismo entre los distintos procesos que esperan utilizarlo (tareas en ejecución).En el caso de un solo procesador, cada proceso o tarea lo utiliza en períodos cortísimos de tiempo, lo que, en la práctica, da la sensación de que estuviesen ejecutándose al mismo tiempo.Los sistemas operativos que utilizan este tipo de multitareas son los UNIX y sus clones (Linux, etc), Windows NT, etc.
Multitarea Real Multitarea en donde el SO ejecuta los procesos realmente al mismo tiempo haciendo uso de múltiples procesadores (más de dos).La ejecución realmente se realiza en distintos procesadores para cada proceso o tarea. Obviamente en el caso de que los procesos o tareas sean más que la cantidad de procesadores, éstos comienzan a ejecutarse en procesadores "en uso" en la forma de multitareas preferenteTodos los sistemas operativos modernos soportan esta capacidad.
Multitarea Real
Página siguiente |