About
Symmetry is a small operating system that runs on the x86 architecture. It is being written from scratch in Assembly and C++, and is designed to be easily ported to other platforms. At the current time, Symmetry is in a fairly basic state at the moment. All it does at startup is to load the GDT and IDT, start power management and then start paging and virtual memory management. There isn’t much that a user can do with the operating system yet, because I am working on building a more solid base under the hood before I start on any user interface.
In the future, I would like to give Symmetry the ability to parse and execute ELF executables, and then port the standard C and C++ libraries to my operating system. This, with a cross compiler would allow me to create native applications for Symmetry. I will then port a terminal (like Bash) to it, and maybe write some other small applications. A driver interface that can dynamically load drivers from the ramdisk, and later from other fixed and removable storage mediums will be implemented.
I’d also like to implement a VESA driver, and then make a simple graphical user interface. I will port Freetype, zlib and libpng (among other libraries) to my operating system for nice font rendering, and transparent image support.
Running Symmetry
Symmetry can be run from a CD, floppy disk, USB drive or hard drive. The operating system will run if you start your computer with the Symmetry disk in the drive, assuming that the BIOS is set up correctly. Alternatively, you can use an emulator such as Bochs or QEMU, or a visualisation application like Virtualbox, or VMware to run it in.
Symmetry is fully multiboot compliant, so you can easily boot it using a multiboot compliant bootloader (such as GNU GRUB, which is used in most Linux systems). GRUB also lets you boot from a far wider variety of media types than a custom bootloader does. It can be easily run on hard drives, CDs and USB drives.
For information on installing Symmetry, please see the installation instructions page.
Errors and Bugs
At the moment, Symmetry does not have a publicly accessible bug tracker. I am in the progress of moving the the Trac defect tracker, and this will be available soon. In the meantime, if you find an error or bug in Symmetry, I would appreciate it if you would file an issue at our old Google Code site, or just shoot me an email about it. If you know how, you could even help fix the bug, and contribute the new code back to the project.
Legal Information
Symmetry is free, open source software, licensed under the BSD license. This basically means that the source code is publicly available, and you can use it for any commercial or non-commercial purpose as long as the copyright notice and license are distributed with any source or binaries that you release. For more information, please see our Legal Information.
Older Versions of Symmetry
You can read about the old version of Symmetry, then called SoS, at our old about page.