Multitarea cooperativa


La multitarea cooperativa, también conocida como multitarea no apropiativa, es un estilo de multitarea de computadora en el que el sistema operativo nunca inicia un cambio de contexto de un proceso en ejecución a otro proceso. En su lugar, los procesos ceden voluntariamente el control periódicamente o cuando están inactivos o bloqueados lógicamente para permitir la ejecución simultánea de múltiples aplicaciones. Este tipo de multitarea se llama "cooperativo" porque todos los programas deben cooperar para que todo el esquema de programación funcione. En este esquema, el programador de procesos de un sistema operativo se conoce como un programador cooperativo, cuya función se reduce a iniciar los procesos y les permite devolver el control de forma voluntaria.[1][2]

Índice

Uso


Aunque rara vez se usa en sistemas modernos más grandes, se usa ampliamente en sistemas embebidos con limitaciones de memoria y también, en aplicaciones específicas como CICS o el subsistema JES2. La multitarea cooperativa fue el esquema de programación principal para aplicaciones de 16 bits empleadas por Microsoft Windows antes de Windows 95 y Windows NT (como Windows 3.1x ), y por el Mac OS clásico. Windows 9x utilizó multitarea no preferente para aplicaciones heredadas de 16 bits y las versiones PowerPC de Mac OS   X antes de Leopard lo usaba para aplicaciones clásicas. [1]NetWare, que es un sistema operativo orientado a la red, utilizó la multitarea cooperativa hasta NetWare 6.5. La multitarea cooperativa todavía se usa en sistemas RISC OS.[3]

La multitarea cooperativa se usa con aguardar en idiomas con un bucle de eventos de un solo hilo en su tiempo de ejecución, como JavaScript o Python.

Problemas


Como un sistema multitarea cooperativo depende de que cada proceso regularmente dedique tiempo a otros procesos en el sistema, un programa mal diseñado puede consumir todo el tiempo de la CPU por sí mismo, ya sea realizando cálculos extensos o esperando; Ambos harían que todo el sistema se bloqueara. En un entorno de servidor, este es un peligro que hace que todo el entorno sea inaceptablemente frágil.[1]​ Sin embargo, la multitarea cooperativa permite una implementación mucho más sencilla de las aplicaciones porque su ejecución nunca es interrumpida inesperadamente por el programador de procesos; por ejemplo, varias funciones dentro de la aplicación no necesitan ser reentrantes.[2]

En contraste, la multitarea apropiativa interrumpe las aplicaciones y da control a otros procesos fuera del control de la aplicación.

Véase también


Referencias


  1. a b c «Definition of non-preemptive multitasking» . pcmag.com. Consultado el 2015-08-15 de mdy. 
  2. a b Joe Bartel (2011-11-05 de mdy). «Non-Preemptive Multitasking» . classiccmp.org. Consultado el 2015-08-15 de mdy. 
  3. «Preemptive multitasking» . riscos.info. 2009-11-02 de mdy. Consultado el 2015-08-15 de mdy. 









Categorías: Programación concurrente




A partir de: 04.12.2020 11:12:30 CET

Fuente: Wikipedia (Autores [Historia])    Licencia: CC-BY-SA-3.0

Modificaciónes: Se eliminaron todas las imágenes y la mayoría de los elementos de diseño relacionados con ellos. Algunos iconos fueron reemplazados por FontAwesome-Icons. Algunas plantillas se eliminaron (como "el artículo necesita expansión) o se asignaron (como" notas de sombrero "). Las clases CSS fueron eliminadas o armonizadas.
Se eliminaron los enlaces específicos de Wikipedia que no conducen a un artículo o categoría (como "Enlaces rojos", "enlaces a la página de edición", "enlaces a portales"). Cada enlace externo tiene un FontAwesome-Icon adicional. Además de algunos pequeños cambios de diseño, se eliminaron los contenedores de medios, mapas, cuadros de navegación, versiones habladas y Geo-microformatos.

Tenga en cuenta: Debido a que el contenido dado se toma automáticamente de Wikipedia en el momento dado, una verificación manual fue y no es posible. Por lo tanto, LinkFang.org no garantiza la precisión y la actualidad del contenido adquirido. Si hay una información que es incorrecta en este momento o tiene una pantalla incorrecta, no dude en Contáctenos: e-mail.
Ver también: Información legal & Política de privacidad.