| ▲ | Show HN: TinyOS – A minimalist RTOS for Cortex-M written in C(github.com) | |||||||||||||||||||
| 39 points by hpscript 2 hours ago | 9 comments | ||||||||||||||||||||
| ▲ | jockm 14 minutes ago | parent | next [-] | |||||||||||||||||||
Question: Do you mean real time, meaning there is some kind of expectation of task switching time, nothing can stop other threads from executing, etc; or do you really mean embedded? | ||||||||||||||||||||
| ▲ | hpscript 2 hours ago | parent | prev | next [-] | |||||||||||||||||||
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 | ||||||||||||||||||||
| ||||||||||||||||||||
| ▲ | nofunsir an hour ago | parent | prev | next [-] | |||||||||||||||||||
What ever happened to μC/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. | ||||||||||||||||||||
| ▲ | mc7alazoun 43 minutes ago | parent | prev | next [-] | |||||||||||||||||||
I've learnt something new: RTOS stands for Real-Time Operating System. Thanks for sharing; your README is top-notch! | ||||||||||||||||||||
| ▲ | Yokohiii 2 hours ago | parent | prev [-] | |||||||||||||||||||
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? | ||||||||||||||||||||
| ||||||||||||||||||||