IoT Foundations: Operating Systems Fundamentals

IoT Foundations: Operating Systems Fundamentals

2h 3mIntermediate2025-08-26

Authors

Ryan Hu

Ryan Hu

Professor at the Seneca College of Applied Arts and Technology

Course details

The Internet of Things (IoT) offers developers an array of exciting possibilities to explore. But building systems solutions for IoT can be challenging, and such systems may not be equipped to effectively manage resources and schedule tasks for modern IoT devices. Using an operating system (OS) can help you solve some of these issues. In this course, join instructor Ryan Hu as he reviews the basics of using an operating system for IoT, and explores OS-related concepts and examples using an OS kernel, FreeRTOS. Along the way, discover some of the common characteristics and technical requirements of OSs, as well as essential skills for task management, intertask communication, memory management, debugging, and more.

Skills covered

Internet of ThingsClient Operating SystemsHardwareIT Help DeskFoundationsSoftware Development

Concepts

Introduction

  • The brain of IoT - Meet the operating system (OS)
  • What you should know
  • Using the exercise files

Introduction to Operating Systems for IoT

  • Why do we need OSs
  • OS characteristics for IoT
  • General-purpose OS vs. embedded OS

Overview of Existing Operating Systems for IoT

  • OSs for resource-constrained devices
  • Linux OSs
  • Windows for IoT

Introduction to FreeRTOS

  • Overview of FreeRTOS
  • System architecture
  • Get started with FreeRTOS
  • Run FreeRTOS on embedded devices

Tasks

  • Multitasking
  • Task scheduler
  • Task management
  • Thread safety
  • Deadlock

Intertask Communication

  • Queue
  • Semaphore and mutex

Memory Management

  • Memory management
  • Memory allocation algorithms

Timers

  • Use software timers

Inputs and Outputs

  • I O devices and peripherals
  • Interrupts

Debugging

  • Debug your OS-based applications

Conclusion

  • Next steps
80,000 Toman