Het Besturingssysteem van God
- September 15, 2017
- 0
De afgelopen keren ging de “het andere OS” rubriek niet echt over een ander besturingssysteem, maar over Linux distributies met aparte specialisaties of eigenschappen. In deze editie maken we de naam van de rubriek volledig waar, en kijken we naar een compleet ander OS. En met anders bedoelen we echt anders – anders dan je ooit hebt gezien. Maak kennis met het besturingssysteem van God: TempleOS.
TempleOS is over een periode van zo’n twaalf jaar eigenhandig ontwikkeld door Terry Davis: de in Las Vegas woonachtige programmeur die met de jaren is uitgegroeid tot een soort levende legende op technisch georiënteerde fora. De website van het besturingssysteem vat het project als volgt samen: TempleOS is God’s officiële tempel. Net als de tempel van Salomo is het een gemeenschappelijk middelpunt waar offers aan God worden gemaakt en waar God’s orakel wordt geraadpleegd. Dat is nog eens wat anders dan een Linux, Mac OS X of Windows. Als die omschrijving je nogal raar in de oren klinkt, dan heb je waarschijnlijk gelijk: Davis werd halverwege jaren negentig gediagnosticeerd met schizofrenie. De van oorsprong atheïstische programmeur is er van overtuigd dat hij met God kan praten, en dat God hem opdracht heeft gegeven tot het bouwen van een tempel, in de vorm van een besturingssysteem.
Davis was een veelbelovende Amerikaanse national merit scholar, studeerde af in informatica en elektrotechniek en ging vervolgens aan de slag als programmeur. Met andere woorden, alhoewel hij niet helemaal “normaal” is, is hij zeker niet dom. Hij was actief op verschillende websites en nieuwsgroepen, waar zijn gedrag met de tijd steeds verwarder werd. Hij is inmiddels beroemd, of misschien beter gezegd notoir, om zijn religieuze rants en absurde reacties, die meestal een vage combinatie vormen van complottheorieën en onverholen racisme. Vaak kopieert en plakt hij teksten vanuit een TempleOS programma genaamd AfterEgypt, dat willekeurige religieuze teksten samenstelt — zijn orakel, dat de woorden van God produceert. Als gevolg is hij inmiddels verbannen van een flinke verzameling online fora, wat overigens tot verhitte online debatten heeft geleid over de ethiek van het uitsluiten van “andersdenkenden”.
Los van de vraag of je hem zijn gedrag — gezien zijn staat van geest — kwalijk kunt nemen, wordt hij online vaak behandeld als een paria en wordt TempleOS gezien als het geesteskind van een gestoorde gek. Het klopt inderdaad dat hij niet helemaal normaal is en dat TempleOS verre van conventioneel is, maar dat maakt het juist extra interessant: hoe ziet een besturingssysteem eruit als het wordt ontwikkeld zonder rekening te houden met marktwerking of bestaande conventies, door een briljante programmeur met een frisse blik en zonder enige terughoudendheid — en dat als eerbetoon aan de almachtige? Wellicht kunnen we daar, in plaats van er grappen over te maken, juist een en ander van leren?
In den beginne, is er een zwart scherm. Het zwarte scherm maakt plaats voor een blauwe achtergrond met witte hexadecimale getallen en functieaanroepen, gevolgd door een wit scherm met een jaren tachtig aandoende bitmap van twee gekruiste zwaarden met daarboven de woorden “TempleOS, Public domain operating system”. Onder het plaatje lezen we “God on tap!”. In een seconde of twee zijn we opgestart: welkom in de wondere wereld van God’s eigen besturingssysteem.
Op het eerste gezicht doet het denken aan de archaïsche interfaces van Windows 1.0, midnight commander en andere ncurses-gebaseerde programma’s. Maar daar is een goede reden voor, aldus het “statuut” op de website: “God said 640×480 16 color graphics is a covenant like circumcision”. Het beschikt over een flinke verzameling spelletjes (met bij ten minste één spel de opmerking “speel geen spellen, maak ze!”) en zelfs een boekhoudprogramma. Maar er zijn ook de wat minder standaard functionaliteiten: Shift-F7 produceert een willekeurige Bijbelpassage en het programma Jukebox speelt, via de PC speaker, 16-bit geluiden af, begeleid met behoorlijk bizarre bijbelachtige songteksten.
Het hele besturingssysteem, met uitzondering van de bootloader, is geschreven in een programmeertaal die het beste te omschrijven is als een soort combinatie van C en C++, met de toepasselijke naam HolyC (het filesystem heeft een al even toepasselijke naam: “Red Sea”). Davis heeft dus, in zijn eentje, niet alleen een besturingssysteem geschreven, maar ook een bijbehorende compiler. Afgezien daarvan is die compiler interessant om technische redenen: het is een JIT (just in time) compiler die volledig is geïntegreerd in de shell van het besturingssysteem. In plaats van “cd ..” typen we “Cd(..);”. Elk programma is een functie of statement die aan te roepen is vanuit de JIT compiler — er is dus bijvoorbeeld geen rekenprogramma, je kunt “1+2+3” rechtstreeks in de shell intypen. Middels Control-F1 krijg je een autocomplete overzicht van alle mogelijke commando’s. Je kunt het vergelijken met een REPL (read-evaluate-print loop) in bijvoorbeeld Python of Ruby, maar dan tegelijkertijd dienstdoende als shell. Stel je voor dat je op een server inlogt en je bevindt je meteen in de Python interpreter!
Die shell is, los van de HolyC JIT functionaliteit, interessant om andere redenen: plaatjes kunnen direct in de shell worden weergegeven en het standaard tekst formaat heeft automatische hyperlinks. Om naar een bepaalde map te manoeuvreren, bijvoorbeeld, typ je dus “Dir;” en klik je je via de hyperlinks in de richting van de gewenste map. Ook in de JIT compiler kunnen we gebruik maken van hyperlinks en plaatjes, bijvoorbeeld om middels flowcharts in commentaar op de code uit te leggen wat een bepaalde functie precies hoort te doen. De shell en compiler zijn dus letterlijk multimedia, en je vraagt je bijna af waarom dat bij andere systemen niet het geval zou kunnen zijn.
Buiten standaard hardware is er nauwelijks hardware ondersteuning en totaal geen netwerk ondersteuning. Er is één enkele gebruiker en het hele besturingssysteem bevindt zich in ring 0 — een technische term om aan te duiden dat alle programma’s toegang hebben tot elkaars geheugen: een pointer die naar de verkeerde plek verwijst kan dus het hele systeem crashen. Dat gezegd hebbende, is TempleOS 64-bit, multi-tasked en multi-core, en dus behoorlijk geavanceerd voor een besturingssysteem geschreven door één eenzame programmeur. Qua architectuur doet het denken aan — en is het geïnspireerd door — de Commodore 64: Davis zelf beschrijft het als een moderne 64-bit Commodore 64 met HolyC in plaats van BASIC.
Het is te makkelijk om Davis’s werk af te schepen als het hobbyproject van een schizofreen. TempleOS heeft een aantal erg interessante en zelfs tamelijk briljante, eigenschappen: dankzij de multimediale integratie vervaagt de grens tussen programma, document en menu; en de JIT compiler/shell is een unieke manier om flexibele interactie met het systeem mogelijk te maken. Kortom, als je TempleOS bekijkt als een academisch of experimenteel besturingssysteem dan heeft het zeker haar waarde — al is het alleen maar om aan te tonen dat niet al onze conventies noodzakelijk zijn.
Waar hele open source gemeenschappen zich bezighouden met het ontwikkelen van besturingssystemen en compilers, heeft Davis eigenhandig zijn eigen hommage aan zijn God gebouwd — en daar kunnen we niet anders dan respect voor hebben. Tussen al de kathedralen en bazaars van de open source wereld, is er vast nog wel een plekje voor een tempel.
Referenties
http://www.templeos.org
http://www.codersnotes.com/notes/a-constructive-look-at-templeos