IoT Foundations: Operating Systems Fundamentals
2h 3mIntermediate2025-08-26
Authors

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 ThingsHardwareClient Operating SystemsIT Help DeskFoundationsSoftware Development
Concepts
0. Introduction
- 01 - The brain of IoT - Meet the operating system (OS)
- 02 - What you should know
- 03 - Using the exercise files
1. Introduction to Operating Systems for IoT
- 04 - Why do we need OSs
- 05 - OS characteristics for IoT
- 06 - General-purpose OS vs. embedded OS
2. Overview of Existing Operating Systems for IoT
- 07 - OSs for resource-constrained devices
- 08 - Linux OSs
- 09 - Windows for IoT
3. Introduction to FreeRTOS
- 10 - Overview of FreeRTOS
- 11 - System architecture
- 12 - Get started with FreeRTOS
- 13 - Run FreeRTOS on embedded devices
4. Tasks
- 14 - Multitasking
- 15 - Task scheduler
- 16 - Task management
- 17 - Thread safety
- 18 - Deadlock
5. Intertask Communication
- 19 - Queue
- 20 - Semaphore and mutex
6. Memory Management
- 21 - Memory management
- 22 - Memory allocation algorithms
7. Timers
- 23 - Use software timers
8. Inputs and Outputs
- 24 - I O devices and peripherals
- 25 - Interrupts
9. Debugging
- 26 - Debug your OS-based applications
Conclusion
- 27 - Next steps