Yet another operating system for IoT devices

Document created by Kwon.Kyunghwan on Mar 16, 2017Last modified by Kwon.Kyunghwan on Mar 17, 2017
Version 2Show Document
  • View in full screen mode


About this project

yaos is an embedded operating system for IoT devices. It is designed for energy efficiency and hardware independent development.



Project info

Type : Operating System

Progress : In progress

Difficulty : Intermediate

License : Apache 2.0

Code Repository : GitHub - onkwon/yaos: Operating System for Internet of Things(IoT) devices 

The Team :

Who made this ?

Kyunghwan KwonDevelop kernel

Things used in this project

Software Tools :




It provides the system call interface entering privileged mode as a user task runs in user(unprivileged) mode.


Two types of task are handled: normal and real time tasks. Round-robin scheduler for normal tasks while priority scheduler for real time tasks. Each task is given a priority which can be dynamically changed. For a real time task a higher priority task always preempts lower priority tasks while the same priority tasks take place in turn under round-robin scheduling.


The concept of virtual file system is implemented. The embedded flash in SoC can be mounted as the root file system while a ramfs is mounted as a devfs for a device node.


And there are some more features. Please check it out. Any feedback on improvements, suggestion, or whatever would be appreciated.