EuOS development has been discontinued. The files here are here for anyone who is interested.
Kernel Ideas Overview
NEW: Updated Kernel API
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
Matt Arriola noticed some mistakes I made in updating his playsnd.e -
now they are fixed.
- 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
New in 1.8
- Atoms IPC mechanism by Matt Arriola
- PC Speaker driver by Jeff Fielding
- 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
Improvements to sh and many new programs by Matt Arriola.
- kernel.e renamed to kernel.ex
- Documentation (euosdoc.html) added
- Small fix in sh.e to accept DOS backspace key code
- A few bug fixes, shell improved to accept backspace.
- 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 /demo.sh from the EuOS shell.
- added devfs
- added basic console I/O driver (/dev/stdin, /dev/stdout,
- fixed task id verification bug in tasks.e
- modified /bin/init to use console I/O driver instead of
- Added some more error checking.
- Fixed event.e (didn't allow you to add/remove event
- 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
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
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
- Add a root filesystem.
- Add a devfs-like filesystem, and add basic I/O.
- Add a simple shell.
- Add some example programs