Web site: www.argon.org.uk
Origin: United Kingdom
Desktop environment: CLI
Architecture: x86, x86_64
Based on: independent
The last version | Released: active
Argon – an attempt to design a next generation computing platform. By computing platform, I mean both an operating system, or a platform like Java that sits atop an existing operating system, but appearing the same to the software running on top.
The design process has been simple: I have studied every applicable field of computing as best I can, learning the pros and cons of existing systems, studying even the most exotic theoretical solutions to a problem. Then I have tried my best to find the best combination of technologies to solve the problem at hand: To build a platform upon which the highest possible quality of software can be constructed with the least effort.
Argon are set out to write an OS which dynamically compiles high-level languages to machine code as needed, and where all parts (ARGOT modules) have orthogonal persistence, and communicate through a network-transparent messaging protocol based on globally unique addresses, whether local to the system or on the other side of the world.
ARGON is designed as a series of components, with trendy names taken from the periodic table. Each has a conceptual design page, and then a specification grows in Docbook as the conceptual design settles down; I’m migrating the conceptual design pages from the old site, so many of the components listed here lack their design link until the new page is ready. Specifications will be linked as they appear.
ARGON refers to the system described here as a whole, but in terms of actual source code, it’s the glue that combines all of the software components listed here into a running kernel on every node; the boot sequence and shared library code that doesn’t fit into any particular module, or deserve a module in its own right. Variations on the structure of the kernel cater for specialised cluster nodes that handle different combinations of the storage and computational tasks within the cluster, or for standalone nodes that do not join a cluster at all, such as minimal embedded systems or user-interface-oriented devices such as thin clients or table computers.