Changes for page StarshipOS
Last modified by XWikiGuest on 2026/10/07 18:59
From version 1.1
edited by Robert James
on 2026/10/07 17:42
on 2026/10/07 17:42
Change comment:
There is no comment for this version
To version
2.1
edited by XWikiGuest
on 2026/10/07 18:25
on 2026/10/07 18:25
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. RobertJamesrajames1 +XWiki.XWikiGuest - Content
-
... ... @@ -1,1 +1,162 @@ 1 -[[StarshipOS.org>>https://strshipos.org]] 1 +{{box cssClass="floatinginfobox" title="**Quick Facts**"}} 2 +* **Kernel**: LithosAnanake v2.0.0 3 +* **VM**: StarForth v3.1.0 4 +* **Architectures**: amd64 · aarch64 · riscv64 5 +* **Status**: M7.1 In Progress 6 +* **License**: [[Starship License 1.0>>https://strshipos.org]] 7 +* **Patent**: USPTO Provisional (Dec 2025) 8 +{{/box}} 9 + 10 += StarshipOS = 11 + 12 +StarshipOS is a **UEFI-bootable bare-metal FORTH microkernel** that boots directly from firmware with no libc and no operating system beneath it — just hardware, a kernel, and a FORTH runtime. Its tagline is //stone and necessity.// 13 + 14 +The system is composed of two tightly coupled components: 15 + 16 +* **LithosAnanake** — the kernel (Greek: //Lithos// = stone, //Ananake// = necessity) 17 +* **StarForth** — a physics-driven FORTH-79 VM that is the sole userspace runtime 18 + 19 +---- 20 + 21 +== Architecture == 22 + 23 +=== The Kernel: LithosAnanake === 24 + 25 +LithosAnanake is a minimal UEFI-bootable microkernel. It handles: 26 + 27 +* Physical Memory Manager (PMM) 28 +* Virtual Memory Manager (VMM) 29 +* Interrupt Descriptor Table (IDT) and APIC 30 +* Heap allocator 31 +* Framebuffer with VT100 console 32 +* VirtIO block device (storage via virtio-blk) 33 +* Capsule birth, load, and run lifecycle 34 + 35 +The kernel targets **three architectures** simultaneously: **amd64**, **aarch64**, and **riscv64**. The only valid acceptance test is booting all three in QEMU and capturing serial logs. 36 + 37 +=== StarForth: The Physics-Driven VM === 38 + 39 +StarForth is not a conventional FORTH interpreter. It is a **self-adaptive runtime** governed by a system of physics-inspired feedback loops that continuously tune execution behavior at runtime — no offline profiling, no hand-tuning. 40 + 41 +==== The 7 Feedback Loops + L8 Jacquard ==== 42 + 43 +|=Loop|=Name|=Mechanism 44 +|1|Execution Heat|Frequency counter per word 45 +|2|Rolling Window|Circular buffer of execution history 46 +|3|Linear Decay|Quiescent words lose heat over time 47 +|4|Pipelining|Word-to-word transition prediction 48 +|5|Window Width Inference|Levene's test + binary chop 49 +|6|Decay Slope Inference|Exponential regression 50 +|7|Adaptive Heartrate|Background tick coordinator 51 +|L8|**Jacquard Mode Selector**|128-state 7-bit gate routing loop signals into fleet-wide tuning 52 + 53 +The Jacquard layer (L8) is the keystone: it reads the outputs of all 7 loops and selects the VM's operating mode, feeding a per-VM heat channel into fleet-wide tuning across the Tripod. 54 + 55 +---- 56 + 57 +== The Tripod Fleet == 58 + 59 +StarForth runs as a fleet of three independent VMs called the **Tripod**: 60 + 61 +|=VM|=Role 62 +|**Hera**|Fleet coordinator and policy anchor 63 +|**Artemis**|Workload execution VM 64 +|**Hestia**|Stability and quorum VM 65 + 66 +Each VM in the Tripod is born, run, and re-born independently. All three are verified on all three architectures. 67 + 68 +{{info}} 69 +**Note on Hermes**: Earlier documentation refers to a "Tripod + Hermes" configuration. As of M7.1 Phase 4 (2026-09-22), Hermes was moved into the kernel itself as //kernel-Hermes// (`kernel_hermes.c`). The Tripod is Hera, Artemis, and Hestia only. Any document describing Hermes as a Tripod VM is superseded. 70 +{{/info}} 71 + 72 +---- 73 + 74 +== Capsules == 75 + 76 +The primary unit of organization in StarForth is the **content-addressed immutable capsule**, identified by XXHash64. Capsules are born, loaded, and run through a formal protocol — they cannot be mutated in place. 77 + 78 +Block namespace allocation: 79 + 80 +|=Block Range|=Purpose 81 +|2048–2099|init.4th only 82 +|2100–2199|doe.4th only 83 +|3000–3999|Workload capsules 84 +|4000–4015|ACL.4th 85 +|4016–4018|zuse.4th 86 +|4019+|User-defined 87 + 88 +Each block is strictly **64 characters × 16 lines = 1024 bytes**. This constraint is non-negotiable. 89 + 90 +---- 91 + 92 +== Word-Level ACL Security == 93 + 94 +Every dictionary word carries a 4-field ACL structure: 95 + 96 +* **acl_ttl** — time-to-live for the permission 97 +* **acl_allow** — permission bitmap 98 +* **acl_mode** — operating mode 99 +* **acl_pinned** — kernel-pinned flag (set in C after capsule load for kernel-only words) 100 + 101 +Plus two VM-level flags: `emergency_console` and `zuse_session`. 102 + 103 +ACL policy is defined in **ACL.4th**, not in C. Measured overhead: **+0.0603%**, CV = 0.000%. 104 + 105 +The **Mama capsule** dictionary ships ~530 words covering the full FORTH-79 standard plus StarForth extensions. 106 + 107 +---- 108 + 109 +== Formal Verification == 110 + 111 +The project includes **52 Isabelle/HOL theory files** (47 StarForth_* + 5 ACL_*). The goal is not a green build — it is **boundary identification**: rigorously characterising the limits of correctness guarantees. See `proof/COVERAGE.md` for scope. 112 + 113 +---- 114 + 115 +== Milestone Status == 116 + 117 +|=Milestone|=Description|=Status 118 +|M0|UEFI boot|✅ Complete 119 +|M1|Physical Memory Manager|✅ Complete 120 +|M2|Virtual Memory Manager|✅ Complete 121 +|M3|IDT + Interrupts|✅ Complete 122 +|M4|APIC|✅ Complete 123 +|M5|Heap allocator|✅ Complete 124 +|M6|Framebuffer + VT100|✅ Complete 125 +|M7|StarForth VM integration + parity validation|✅ Complete 126 +|**M7.1**|Capsule birth protocol, Mama vocabulary, Tripod fleet, word-level ACL Phases 1–7|🔄 **In Progress** 127 +|M7.1 Phase 8|Ed25519 PKI / thumbdrive challenge-response|📋 Planned 128 +|M8|TBD|📋 Planned 129 +|M9|VirtIO block storage|✅ Complete 130 + 131 +---- 132 + 133 +== Build == 134 + 135 +{{code language="bash"}} 136 +# Kernel — all three architectures 137 +make -f kernel/Makefile ARCH=amd64 clean qemu 138 +make -f kernel/Makefile ARCH=aarch64 clean qemu 139 +make -f kernel/Makefile ARCH=riscv64 clean qemu 140 + 141 +# Interactive Kconfig 142 +make -f kernel/Makefile ARCH=amd64 menuconfig 143 +{{/code}} 144 + 145 +{{warning}} 146 +The hosted `make` build is a **sanity check only**. It is never used to validate kernel changes. All acceptance testing requires booting all three architectures in QEMU and capturing serial output. 147 +{{/warning}} 148 + 149 +---- 150 + 151 +== License == 152 + 153 +StarshipOS is released under the **Starship License 1.0 (SL-1.0)**: 154 + 155 +* ✅ Free for personal, research, and educational use 156 +* ❌ Commercial use requires a separate agreement 157 +* ⚠️ Attribution to **R.A. James ("Captain Bob")** is mandatory in all distributions 158 + 159 +The physics-grounded self-adaptive runtime system is **patent pending** (USPTO provisional, December 2025). The license does not grant patent rights. 160 + 161 +Licensing enquiries: [[rajames440@gmail.com>>mailto:rajames440@gmail.com]] 162 +