[HN Gopher] Show HN: TinyOS - A minimalist RTOS for Cortex-M wri...
       ___________________________________________________________________
        
       Show HN: TinyOS - A minimalist RTOS for Cortex-M written in C
        
       Author : hpscript
       Score  : 26 points
       Date   : 2026-04-03 21:46 UTC (1 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | hpscript wrote:
       | Hi HN,
       | 
       | I've been working on a tiny RTOS as a personal project to better
       | understand how operating systems and schedulers work internally.
       | 
       | This project includes: - Basic task scheduler - Context switching
       | - Simple memory management - Runs on (your target hardware or
       | environment)
       | 
       | Motivation: I wanted to learn OS internals by building everything
       | from scratch rather than relying on existing frameworks.
       | 
       | Challenges: - Implementing context switching correctly -
       | Designing a minimal but usable scheduler - Keeping the codebase
       | simple and readable
       | 
       | I'd really appreciate feedback, especially on: - Architecture
       | design - Scheduler implementation - Code structure
       | 
       | GitHub: https://github.com/cmc-labo/tinyos-rtos
        
         | bahmboo wrote:
         | Impressive! Very complete on first glance. You might want to
         | soften or qualify the RTOS statement so people focus on its
         | compactness and low latency. As you are already seeing in the
         | comments the RTOS aspect has a lot of opinions depending on
         | what one is trying to accomplish.
        
       | Yokohiii wrote:
       | I have no practical insight on RTOS in general, if anyone bothers
       | to give me a hint, please. From all what I've looked into, RTOS
       | does mean to create software systems that are almost perfectly
       | predictable and safe to execute. Predictable latency, runtime and
       | memory usage, plus maybe side channels to do the unpredictable
       | stuff in between. It's actual rocket science, as no systemic
       | mistakes are allowed. The confusion is that this project doesn't
       | mention any of it. Is it just hijacking of a fancy acronym, are
       | there two worlds side by side or am I completely misled?
        
         | avadodin wrote:
         | You're probably thinking of a hard real-time RTOS with time
         | slices and WCET constraints.
         | 
         | For soft real-time, you basically only need low latency.
         | 
         | Threads with priorities, synchronization primitives and some
         | way of handling interrupts is generally considered good enough.
         | 
         | From the description, this sounds like the kind of RTOS that
         | runs most embedded RT applications currently if perhaps a bit
         | heavier in features than the average with filesystem and
         | networking support.
        
         | jtrueb wrote:
         | RTOS can be used a lot looser than you describe. Like a build
         | system, scheduling, and interrupt framework that allows you to
         | program an MCU like you describe. Zephyr RTOS and Free RTOS
         | provide easy enough was to write code that uses blocking APIs
         | but probably runs your code according to the timing constraints
         | if you hold it right. As an alternative, you could write for
         | "bare metal" and handle the control flow, scheduling,
         | interrupting, etc. yourself. If you are writing to "random"
         | addresses according to some datasheet to effect some real world
         | change, you are probably reaching for an RTOS or bare metal
         | unless you are writing OS driversn. If you look at the linux
         | drivers, you will see a lot of similarities to the Zephyr RTOS
         | drivers, but one of them is probably clocking in the MHz while
         | the other in the GHz
        
         | sublinear wrote:
         | > It's actual rocket science, as no systemic mistakes are
         | allowed
         | 
         | Lots of everyday stuff is running on bare metal code that
         | exceeds so-called "real time" requirements without an OS at
         | all, and those programmers are definitely not rocket
         | scientists! :)
        
       | nofunsir wrote:
       | What ever happened to mC/OS?
       | 
       | Seemed both well documented and well suited to have taken over
       | for the current MCU explosion. I almost never see anyone talk
       | about it.
       | 
       | Looks like it open-sourced in 2020.
       | 
       | https://github.com/weston-embedded
        
       | mc7alazoun wrote:
       | I've learnt something new: RTOS stands for Real-Time Operating
       | System. Thanks for sharing; your README is top-notch!
        
       ___________________________________________________________________
       (page generated 2026-04-03 23:00 UTC)