Multitasking, multi-threads, interrupciones y demás ...

De Proyectos
Saltar a: navegación, buscar

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.
  • 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
  • Programacion en cascada (Multitarea Cooperativa simple)
    • La programación en cascada se basa en un principio sencillo: si tenemos dos o más programas y los dividimos en partes pequeñas, y ejecutamos alternadamente las partes de cada programa, nos da la sensación de que todos los programas se están ejecutando al mismo tiempo.
  • protothreads
  • RTOS
    • Es un kernel multiplataforma que nos permite optimizar el tiempo y el procesador, de esta forma nuestro procesador se vuelve mas eficiente y podemos sacarle el mayor provecho.
    • Utiliza los espacios de tiempo en que el procesador esta esperando (a algun dato o evento) sin hacer ningun calculo para que realize calculos de otros hilos.
    • Sistemas RTOS
      • DuinOS
      • FreeRTOS
  • El Patrón "Super Lazo" (Super Loop)
  • Patrón Plano Secundario / Plano Principal (Background / Foreground)
  • Autómata de Estado Finito
    • Es toda máquina de estado finito en la que el conjunto de símbolos de salida es exclusivamente 0={0,1} y dónde el estado actual determina cuál fué el último dato de salida
  • Máquinas de Estado Finito
    • Mealy
    • Moore
  • Autómata Secuencial Finito
  • Sistemas Conducidos Por Eventos (Event Driven Systems)
  • Sistemas Conducidos Por Tiempo (Time Driven Systems)
  • Sistemas
    • Síncrono
    • Secuencial

La teoría de máquinas de estado es el nombre con el que se conocen los métodos de Análisis y Diseño de Circuitos Secuenciales Sincrónicos