Announcing the "Toys" operating system

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
Post Reply
2 posts • Page 1 of 1
ebruneton
Posts: 1
Joined: Tue Aug 20, 2024 1:20 pm

Announcing the "Toys" operating system

Post by ebruneton »

This is a toy, monotasking, self-hosted operating system for the Arduino Due (ARM-v7M microcontroller, 96KB RAM, 512KB flash), in less than 3300 lines, for educational purposes(*). It is made of:
- a boot loader (~70 lines)
- a monolithic kernel with 3 drivers, a file system, and 10 system calls (~1080 lines)
- a small, statically typed, C-like compiler with only unsigned 32-bit ints and struct pointers (~1330 lines)
- a text editor (~220 lines), a shell (~230 lines), and 5 commands (ls, cp, rm, etc -- ~200 lines)

Links:
- book: https://ebruneton.github.io/toypc/toypc.pdf
- companion website: https://ebruneton.github.io/toypc/
- emulator: https://ebruneton.github.io/toypc/emula ... /final.txt
- source code: https://ebruneton.github.io/toypc/toys.zip

(*) the goal is not to teach how to write an OS. Instead, it is to introduce this topic via a practical example.
eekee
Member
Member
Posts: 960
Joined: Mon May 22, 2017 5:56 am
Location: Kerbin
Discord: eekee
Contact:

Re: Announcing the "Toys" operating system

Post by eekee »

It's good to see OSs for embedded hardware, I'm thinking of going that way myself. I sketched out a plan for an OS on a board with just 16KB RAM the other day, but that might be too small. :) The planning centered around using a Forth block scheme for virtual memory, but I doubt SD-card write speeds are fast enough for my taste.

It's interesting to see Toys clear the screen before running each command. I was just planning a script window in place of the command line for my larger OS, trying to decide whether or not it should clear after every run.
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie
Post Reply

2 posts • Page 1 of 1

Return to "Announcements, Test Requests, & Job openings"