My description drifts a bit between the OS and the programming "language" that I'm using to develop it. They should probably be treated separately.
The OS (at least, the 32-bit version that is the most complete) has a command line interface shell similar to jEmbryOS (which is one of the projects that will probably be done way before I am). I actually modeled it after the Immediate Window in Visual Studio. You can see a list of all of the static classes, and the static methods within those classes, and execute them from the command line. Any object returned from the method is converted to a string (.ToString), and displayed on the screen. You can chain these together to drill down into the members:
Code:
>System.GetDate.Month.ToString.Length.ToString
5
>
Unfortunately, this shell currently makes up the majority of the OS, along will all of the included classes that it can access. In the next (64-bit) version, a lot of this will be broken up into separate classes.
The language, on the other hand, is essentially a bunch of XSD/XSLT pairs which "break down" an XML file into smaller (lower level) pieces until it is nothing but "Level 0" elements (byte, short, int, string, label, etc). The XSD defines the available elements that you can use in your XML file (similar to a .h file), and the XSLT transforms them into lower level XML files (similar to inline functions in a .c file). (This design was actually not my idea -- it was suggested to me by a co-worker during a discussion about how code is just data. It is something else that I looked for, but could not find, so I wrote my own.)
Using this approach, I've been able to "compile" several x86 OS images (16-bit, 32-bit, and now a 64-bit boot loader, floppy disk image, CD ISO, Hard Disk, Flash, Pxe image), a Commodore 64 cartridge image, an NES cartridge image, SNES, N64, GameBoy, GBA, ATARI cartridge image, a 16-bit Windows .EXE, a 16-bit DOS .COM program, a Java .class file (almost), and a Raspberry Pi boot image that turns on an LED. I've got platform XSD/XSLT files for Intel, ARM, MOS, JRE, CLI, MIPS, Motorola, and Z80 processors, and a bunch of PCI devices, video controllers, USB controllers, etc.
This site, and the people on it have been invaluable over the past few years. Thanks to all of the Wiki contributors and forum users for all of the help.