summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2009-04-12 20:25:39 -0700
committerKeith Packard <keithp@keithp.com>2009-04-12 20:25:39 -0700
commit1903a86bf2cc6b685ccc475e62eabe49a4ec5b43 (patch)
treebc791a4a40f84ea8890e001c2d03afd1abd51d7d /README
Initial AltOS import
Diffstat (limited to 'README')
-rw-r--r--README32
1 files changed, 32 insertions, 0 deletions
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