I'm working on a simple sort of operating system for CZ.
Some of the following are working, others are in design or dream phase:
• runs under a host OS, not standalone (for a beginning), e.g. under Linux.
• Like Inferno, JVM, etc., but not a virtual machine.
• No need to write drivers to get started.
• might develop to an on-metal OS later
• all public domain code (with an explicit grant of freedom for anti-PD realms)
• cooperative scheduler: no pre-emption, but can have multi-processing.
• processes must call yield()
• a time-limit interrupt can stop rogue or untrusted / untested processes
• user can also trigger a 'break' interrupt to stop a rogue process
• no memory protection / hardware segmentation
• use a variant of C that helps to avoid out-of-bounds pointers
• a stricter variant of C can be used to run untrusted code safely
• by default, processes have no access to anything
• shared memory / IPC / inter-process RPC can be very quick and efficient
• 2d graphics: support O(1) hardware scrolling and scaling, if possible
• color balance in hardware, like xgamma - include dimming, inverse video
• unusual contextual GUI system, not much like the normal WIMPy ones.