Multitasking, multi-threads, interrupciones y demás ...
http://tallerarduino.wordpress.com/category/videotutoriales/arduino-tutorials/
http://arduino.cc/forum/index.php?topic=51883.0
http://real2electronics.blogspot.com.es/2011/01/timer-2.html
http://www.monografias.com/trabajos12/microco/microco.shtml
http://arduino.cc/forum/index.php/topic,5686.0.html
http://harteware.blogspot.com.es/2010/11/protothread-powerfull-library.html
http://www.uchobby.com/index.php/2007/11/24/arduino-interrupts/
http://www.avrfreaks.net/modules/FreaksArticles/files/14/Multitasking%20on%20an%20AVR.pdf
http://blutintegrado.blogspot.com.es/2012/05/interrupciones-en-arduino.html
http://synnick.blogspot.com.es/2012/05/manejo-de-interrupciones.html?m=1
http://dtup.danyuy.com/node/122/
- Threads/Hilos
- En sistemas operativos, un hilo de ejecución, hebra o subproceso es la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo
- Un hilo es simplemente una tarea que puede ser ejecutada al mismo tiempo con otra tarea
- Multithreads/Multihilo
- Los sistemas operativos generalmente implementan hilos de dos maneras:
- Multihilo apropiativo: permite al sistema operativo determinar cuándo debe haber un cambio de contexto. La desventaja de esto es que el sistema puede hacer un cambio de contexto en un momento inadecuado, causando un fenómeno conocido como inversión de prioridades y otros problemas.
- Multihilo cooperativo: depende del mismo hilo abandonar el control cuando llega a un punto de detención, lo cual puede traer problemas cuando el hilo espera la disponibilidad de un recurso.
- El soporte de hardware para multihilo se encuentra disponible desde hace mucho tiempo, en los 386 por ejemplo http://en.wikipedia.org/wiki/Compaq_SystemPro Hace relativamente poco tiempo, Esta característica es utilizada por el gran publico, Soportada nativamente por los Intel en el Pentium Pro y los pentium II y III en la version domestica, eliminada posteriormente en los celeron, al descubrirse que podia ser desbloqueado, y posteriormente reintroducido en el Pentium 4, bajo el nombre de HyperThreading.
- Los sistemas operativos generalmente implementan hilos de dos maneras:
- Procesos
- Son –generalmente– independientes, llevan bastante información de estados, e interactúan sólo a través de mecanismos de comunicación dados por el sistema.
- Hyperthreading
- Interrupciones
- Proceso que corre de forma paralela a nuestro codigo base. Nos avisa de un proceso que nosotros prevemos que puede pasar sin necesidad de estar comprobando todo el rato si pasa o no
- Tipos
- Internas
- Programamos nostros haciendo que cada x tiempo se tiene que hacer algo
- Externas
- Viene provocada por un hardware
- Internas
- Programacion en cascada (Multitarea Cooperativa simple)
- protothreads
- RTOS
- DuinOS
- FreeRTOS