Protoflujo

Un protothread  es una unidad de procesamiento de software proporcionada por herramientas de software especiales que le permiten no utilizar los mecanismos de subprocesamiento del sistema operativo , una de las formas de implementar corrutinas .

Al operar como subprocesos "ligeros" que no usan la pila , los protothreads proporcionan un contexto de bloqueo a costa de leer bytes de memoria por subproceso. Debido a que los protothreads no usan la pila, debe usar variables globales para guardar valores en los cambios de contexto [1] . Los protothreads no son prioritarios, por lo que el cambio de contexto solo es posible en operaciones de bloqueo.

El concepto de protoflujos fue desarrollado por Adam Dunkels y Oliver Schmidt [2] . Se han implementado varias bibliotecas de protothreading diferentes para C y C++ .

Notas

  1. A. Dunkels, O. Schmidt, T. Voigt y M. Ali, Protothreads: simplificación de la programación impulsada por eventos de sistemas integrados con restricciones de memoria , Proc. ACM SenSys , Boulder, CO, EE. UU., noviembre de 2006. ( PDF archivado el 28 de julio de 2020 en Wayback Machine , diapositivas de presentación archivado el 28 de julio de 2020 en Wayback Machine )
  2. Sitio web de Adam Dunkels . Consultado el 10 de septiembre de 2016. Archivado desde el original el 9 de diciembre de 2019.