From 1903a86bf2cc6b685ccc475e62eabe49a4ec5b43 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 12 Apr 2009 20:25:39 -0700 Subject: Initial AltOS import --- README | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 README (limited to 'README') diff --git a/README b/README new file mode 100644 index 00000000..83929a2a --- /dev/null +++ b/README @@ -0,0 +1,32 @@ +AltOS - 8051 operating system for Altus-Metrum projects + +Parameters: + + * Multi-tasking + * Non-preemptive + * Unix-style sleep/wakeup scheduling + * Strict round-robin, no priorities + +API: + + int ao_sleep(void *wchan) + + Puts current task to sleep. Will wake up when wchan is signalled + + int ao_wakeup(void *wchan) + + Wakeup all tasks sleeping on wchan + + void ao_add_task(struct ao_task *task) + + Adds a task to the queue of available tasks + + void ao_start_scheduler(void) + + Invokes the scheduler, starting the operating system + + void ao_switch(void) + + Switches to another task which is ready to run. Allows + tasks which want to run for a while to give up the CPU + without needing to sleep -- cgit v1.2.3