OverviewZygoma

The Zygomatic system is a collection of software components organized, and organizable, in such a way as to turn your computer hardware into somethings useful. This is often commonly referred to as a "Computer Operating System" although that term has a number of other definitions.

Most computer operating systems available today were designed around presenting an interface paradigm based on a real life prototype. For example, the Linux philosophy is that everything is a file, which is a historic name for an unorganized stream of bytes on a block-storage medium such as a magnetic tape but also a collection of papers stuffed in a manila folder, categorized, and shoved into a metal cabinet in a small back room in an office. The Macintosh took the office theme to heart and pretended the nine-inch visual display it proffered to its operator was a desktop and that everything it presented on that desktop was a document of some sort.

Other modern operating systems are generally a hodgepodge of such paradigms, depending on where they stole their ideas.

With todays technology and user interface expectations, making everything appear as a transfer unit from an archaic form of backing store is quaint and dated. Most users don't confuse their computer screen with the desk it sits on and don't need abstractions beyond what their applications offer them.

What a modern operating system needs is a good API that makes sense. Everything as a file made perfect sense back in the days when they still taught external sorts and m-way tape merges but in todays environment where a diskless workstation might pull pictures off a camera for manipulation and post them to a web server for display, well, something else might be better.

What Zygomatic does is present an API, the programmer's point of view, based on the idea that everything is an iterable container. Iterators operate over containers and can be operated on by algorithms. The best exemplar of this concept is the C++ standard library, but the goal of ZYgomatic is to present an entire OS API using these concepts.

The initial target hardware for the Zygomatic reference implementation is the industry-standard ia32 architecture.

The full zygomatic system will encompass a core distribution of the zygoma kernel, base API libraries, basic device driver modules, and a minimum of ported development tools sufficient to make the system self-hosting. More complete distributions would fall outside the scope if this project.