Skip to content

Repository files navigation

🌌 GridOS

Version Platform Language Bootloader License

GridOS is an experimental operating system designed to explore alternative computing paradigms. It rejects the traditional Unix-like directory tree in favor of a spatial, tag-based architecture inspired by digital landscapes like Disney’s TRON.

Rather than managing files in nested folders, GridOS treats data as objects existing at specific coordinates within an infinite multi-modal environment.


🕹️ The Three Interaction Models

GridOS offers three distinct ways to interact with the kernel, switchable at any time via the shell:

1. The Terminal (TUI)

A high-performance text interface for users who value speed.

  • 32+ Commands: Including ls, cat, grep, and custom memory tools like lookat/pokeat.
  • Custom Rendering: Scaled font engine (1x to 3x) with a dedicated backbuffer.
  • Command History: Full scrollback and command recall.

2. The Canvas (cmd_canvas)

An infinite 2D plane where files and programs exist as floating elements.

  • Spatial Freedom: Pan with WASD and zoom through the file pool.
  • Floating Terminals: Open command overlays directly on top of data structures.
  • Visual Comparison: Layout files side-by-side on a boundless surface.

3. The 3D Grid (cmd_pov)

A first-person, wireframe exploration mode.

  • Dwarf Fortress Inspired: A spatial representation of the "User World."
  • Software Renderer: Custom math engine (Sin/Cos Taylor series) and Bresenham line rendering.
  • Procedural Generation: Explore memory as terrain through the "Spatial Hex" mode.

🏷️ GridVFS: Tag-Based Filesystem

GridOS replaces the path/to/file convention with GridVFS, a flat, UUID-based file pool organized by metadata and coordinates.

  • No Directories: Files are retrieved via tag intersection (e.g., focus type:text project:kernel).
  • Spatial Identity: Every file has an (x, y, z) coordinate, determining its location in the Canvas and 3D Grid.
  • Query Engine: Filter the system state using dynamic tag queries.
> newfile config.txt
> tag config.txt system
> move config.txt 500 200 0
> prop config.txt

⚙️ Core Architecture

Subsystem Description
Kernel Monolithic x86_64 kernel booting via Limine.
Memory 32MB Static Bump Allocator with custom malloc/free.
VM Custom 11-instruction Bytecode VM for safe program execution.
LibC++ Zero-dependency custom STL (Vector, HashMap, String).
Graphics Generic Framebuffer with SSE-optimized software rendering.
Drivers PS/2 Mouse (IntelliMouse), PS/2 Keyboard, RTC, PC Speaker.

The Virtual Machine (VM)

GridOS includes a custom-built sandbox for running untrusted or experimental code:

  • 4 General-purpose registers.
  • 1024-byte scratchpad memory.
  • "Gas" limit to prevent infinite loops.
  • Instruction set designed for genetic algorithm experiments.

🚀 Getting Started

Prerequisites

  • nasm
  • gcc / g++ (cross-compiler for x86_64-elf recommended)
  • make
  • qemu-system-x86_64

Building

make
make run

🗺️ Roadmap

  • ATA/PIO Driver: Implement persistent storage for GridVFS.
  • Multitasking: Round-robin scheduler for Ring 0 processes.
  • User Mode: Transition to Ring 3 with system calls.
  • Networking: Basic TCP/IP stack using the e1000 driver.

GridOS is an early-stage research project. Architecture decisions and system design are original works, developed with AI assistance for implementation and documentation.

About

An experimental OS kernel with bare metal graphics and philosophy

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages