Introduction to RTOS Part 11 - Priority Inversion | Digi-Key Electronics

Introduction to RTOS Part 11 - Priority Inversion | Digi-Key Electronics

¿Qué desafíos enfrenta el mundo actual?

Introducción a los problemas globales

  • Se menciona un evento relacionado con la NASA y una persona herida, lo que sugiere un contexto de crisis o emergencia en Panamá.
  • Se hace referencia a la globalización y cómo afecta a las personas, destacando ejemplos de interconexión tecnológica y social.

Impacto de la tecnología en la vida cotidiana

  • La tecnología se presenta como una herramienta poderosa pero también preocupante, ya que puede generar ansiedad sobre el futuro.
  • Se discute cómo los avances tecnológicos han transformado las comunicaciones y el acceso a información, aunque esto puede llevar a sentimientos de soledad.

Relaciones personales y sociales

  • La importancia de mantener relaciones significativas es subrayada; se menciona que las conexiones humanas son esenciales para el bienestar emocional.
  • Se plantea que el uso excesivo de dispositivos puede dificultar estas relaciones, creando barreras en lugar de puentes.

Reflexiones sobre la vida moderna

  • Hay una reflexión sobre cómo lidiar con las expectativas sociales y personales en un mundo lleno de distracciones.
  • Se enfatiza la necesidad de encontrar un equilibrio entre el trabajo y la vida personal para evitar el agotamiento.

Conclusiones sobre los retos contemporáneos

  • El discurso concluye con una llamada a ser conscientes del impacto que nuestras elecciones tienen en nuestra salud mental y física.

¿Qué se discute sobre la historia y eventos actuales?

Reflexiones sobre el pasado y el presente

  • Se menciona un "Epic Quest" relacionado con la historia americana, sugiriendo una búsqueda de conocimiento o entendimiento en este contexto.
  • La conversación incluye referencias a pruebas y ediciones premium, lo que podría implicar un enfoque en la calidad y precisión en la evaluación de eventos históricos.
  • Se habla de la importancia de los informes y cómo estos pueden influir en las decisiones futuras, especialmente en contextos críticos como el trabajo con extraterrestres.
  • Se introduce el concepto de aplicaciones gratuitas que facilitan el acceso a información histórica, destacando su relevancia para entender mejor los eventos pasados.
  • La discusión también toca temas sobre transporte público y su costo, lo que puede reflejar preocupaciones sociales contemporáneas relacionadas con la accesibilidad.

Conexiones entre cultura y tecnología

  • Se hace referencia a cómo las plataformas digitales permiten compartir experiencias culturales, aunque también se cuestiona si esto afecta nuestra comunicación personal.
  • La mención de "instant noodles" puede simbolizar una conexión entre la cultura moderna y las tradiciones culinarias, resaltando cambios en hábitos alimenticios.
Video description

Priority inversion is a nasty concurrency bug that occurs when a low priority thread prevents a high priority thread from running. In a sense, the priority structure has been “inverted,” as the low priority thread gets to run first. The code for the challenge, which starts with unbounded priority inversion, can be found here: https://github.com/ShawnHymel/introduction-to-rtos/blob/main/11-priority-inversion/esp32-freertos-11-demo-priority-inversion/esp32-freertos-11-demo-priority-inversion.ino The solution to the challenge can be found here: https://www.digikey.com/en/maker/projects/introduction-to-rtos-solution-to-part-11-priority-inversion/abf4b8f7cd4a4c70bece35678d178321 Code for this video series (including demonstrations, challenges, and solutions) can be found here: https://github.com/ShawnHymel/introduction-to-rtos Bounded priority inversion happens in the simple case where a high priority task takes a lock (e.g. mutex or semaphore) and prevents a high priority task from running, as the high priority task is blocked waiting for the same lock. We consider this “bounded” because the blocking is bounded by the length of time the low priority task is executing inside the critical section (prior to returning the lock). Preventing bounded priority inversion requires careful thinking about how the threads interact and either limiting or avoiding critical sections. One possible solution is to create a task (or thread) that manages a shared resource. All other threads must use queues (or other synchronization techniques) to send and receive data from this task. Unbounded priority inversion occurs when a medium priority task preempts a low priority task that’s holding a lock needed by a high priority task. It’s “unbounded” because the amount of time that the high priority task is blocked is dependent on the time the medium task runs without yielding to the low priority task (which needs to release the lock). We can prevent unbounded priority inversion through the use of the priority ceiling protocol or priority inheritance, which we cover in the video. Both techniques require that the priorities of tasks can be dynamically changed at runtime. Note that both techniques do not prevent bounded priority inversion. Product Links: https://www.digikey.com/en/products/detail/adafruit-industries-llc/3405/7244967 Related Videos: Introduction to RTOS Part 1 - What is a Real-Time Operating System (RTOS)? - https://youtu.be/F321087yYy4​ Introduction to RTOS Part 2 - Getting Started with FreeRTOS - https://youtu.be/JIr7Xm_riRs​ Introduction to RTOS Part 3 - Task Scheduling - https://youtu.be/95yUbClyf3E​ Introduction to RTOS Part 4 - Memory Management - https://youtu.be/Qske3yZRW5I​ Introduction to RTOS Part 5 - Queue - https://youtu.be/pHJ3lxOoWeI​ Introduction to RTOS Part 6 - Mutex - https://youtu.be/I55auRpbiTs​ Introduction to RTOS Part 7 - https://youtu.be/5JcMtbA9QEE​ Introduction to RTOS Part 8 - https://youtu.be/b1f1Iex0Tso Introduction to RTOS Part 9 - https://youtu.be/qsflCf6ahXU Introduction to RTOS Part 10 - https://youtu.be/hRsWi4HIENc Introduction to RTOS Part 11 - https://youtu.be/C2xKhxROmhA Introduction to RTOS Part 12 - https://youtu.be/LPSHUcH5aQc Related Project Links: https://www.digikey.com/en/maker/projects/introduction-to-rtos-solution-to-part-11-priority-inversion/abf4b8f7cd4a4c70bece35678d178321 Related Articles: https://www.digikey.com/en/maker/videos/shawn-hymel/getting-started-with-stm32-and-nucleo-part-3-how-to-run-multiple-threads-with-cmsis-rtos-interface Learn more: Maker.io - https://www.digikey.com/en/maker Digi-Key’s Blog – TheCircuit https://www.digikey.com/en/blog Connect with Digi-Key on Facebook https://www.facebook.com/digikey.electronics/ And follow us on Twitter https://twitter.com/digikey