Changes for page StarshipOS

Last modified by XWikiGuest on 2026/10/07 18:59

From version Icon 2.1 Icon
edited by XWikiGuest
on 2026/10/07 18:25
Change comment: There is no comment for this version
To version 1.1 Icon
edited by Robert James
on 2026/10/07 17:42
Change comment: There is no comment for this version

Summary

Details

Icon Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.XWikiGuest
1 +XWiki.RobertJamesrajames
Content
... ... @@ -1,162 +1,1 @@
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 -
1 +[[StarshipOS.org>>https://strshipos.org]]