
 ==============
  Nano OS v2.1   written by Viktor Peter Kovacs (KVP)
 ==============    for the fasm os contest of 2004

 This is a demo os, written to show some os design
 methods, and to proove that it's possible to put
 a simple multitasking os into 512 bytes...

 Features:
  -hard realtime scheduler:
    -round-robin policy
    -18.2 tasks/second

  -i/o support:
    -ascii character console
    -blocking terminal i/o

  -ipc support:
    -copy based message passing
    -blocking send/recv primitives

  -standard library:
    -task control: exec, exit
    -ipc support: send, recv
    -i/o support: getc, putc

  -3 applications:
    -ipc demo: glass tty with text filter, task lanuching
    -ipc service: simple listener (started dynamically)
    -hello world: prints 'Hello World!' on the terminal

 How to test it:
  -start the os from a bootsector
  -type any text and it will be echoed back
  -type 'H' (big h letter) and the ipc demo will lanuch
   the hello world application
  -it's possible to launch multiple instances of the
   hello world application (and even keep typing while
   they print their texts)

 Remarks:
  -the ipc speed is intentionally slow, so it's possible
   to see the mixed output of the various tasks running
   concurrently
  -the demo itself is not too informative when run, but
   looking at the source code reveals that it contains
   most important features of a simple os (I would add
   disk i/o and fs support in the next 512 bytes)
  -required hardware: an i8086 compatible computer with
   at least 128Kb of ram

