Make your own free website on


EuOS development has been discontinued. The files here are here for anyone who is interested.

Kernel Ideas Overview

NEW: Updated Kernel API Documentation

EuOS 1.9-pre2

Fixes a small problem in sh.e - F7 now displays the command history with each command on a new line. Also makes sh.e compatible with Linux (F3 and F7 now work) - this should really be done in the stdin driver; I'll do that later

EuOS 1.9-pre1

Matt Arriola noticed some mistakes I made in updating his playsnd.e - now they are fixed.

EuOS 1.9

  • Bugfix in tasks.e - error routines now use correct task data id.
  • /dev/null device added
  • /bin/echo modified to redirect output to /dev/null instead of turning it off. this also allows one instance of sh to have it's output sent to /dev/null while the other instances are unaffected.
  • sh cleaned up to allow multiple, independent instances
  • bugfix in sh - command history list no longer terminates sh

EuOS 1.8

New in 1.8
  • Atoms IPC mechanism by Matt Arriola
  • PC Speaker driver by Jeff Fielding
To Do
  • Figure out a cleaner /bin filesystem
  • Create virtual console I/O driver, make current console I/O driver cleaner
  • Clean up programs to allow multiple instances

EuOS 1.7

Improvements to sh and many new programs by Matt Arriola.

EuOS 1.6-3

  • kernel.e renamed to kernel.ex
  • Documentation (euosdoc.html) added

EuOS 1.6-2

  • Small fix in sh.e to accept DOS backspace key code

EuOS 1.6-1

  • A few bug fixes, shell improved to accept backspace.

EuOS 1.6

  • Added k_join to sleep until another task finishes
  • Improved /bin/init
  • Ported the sieve benchmark to EuOS
  • Added a simple hello, world program
  • Added a simple shell which runs all of the programs, and supports foreground and background tasks. It also supports shell scripts. Try: /bin/sh / from the EuOS shell.

EuOS 1.5

  • added devfs
  • added basic console I/O driver (/dev/stdin, /dev/stdout, /dev/stderr)
  • fixed task id verification bug in tasks.e
  • modified /bin/init to use console I/O driver instead of built-in puts

EuOS 1.4

  • Added some more error checking.
  • Fixed event.e (didn't allow you to add/remove event handlers)

EuOS 1.3

  • error routines (k_setLastError, k_getLastError etc.) added
  • tasks.e now does error checking
  • bug fixed in fs.e - it was using the wrong index into the task data

EuOS 1.2 is out!

I've added a root filesystem, a test of the root filesystem in the init program, and a procedure to simplify program registration.

Newsflash: EuOS 1.1 is out!

I've just uploaded EuOS 1.1. It doesn't do much yet, but it demonstrates some of the concepts and much of the core routines are finished. Right now, it mounts /bin via binfs. This filesystem contains the information for running programs. Then it runs the /bin/init program, which just displays a message, then quits.

Some parts of EuOS are not as elegant as I would like them to be, but I'll keep working on it. Right now, my priorities are to:

  • Add a root filesystem.
  • Add a devfs-like filesystem, and add basic I/O.
  • Add a simple shell.
  • Add some example programs