Tierra szimulációs rendszer

Tierra Virtuális gép

Tierra Virtuális gép felépítése

Virtuális gép - nyílt forráskóddal

A Tierra virtuális gép C nyelven írodott. Forráskódja nyílvános így bárki tanulámányozhatja vagy módosíthat rajta. Ezáltal tetszőleges CPU struktúrájú vagy utasításkészletű Tierra módosítást készíthet. Az utasításkészlet módosítás egyszerűbb módját is támogatja a Tierra, nem kell ehhez a forráskódban módosítani.

Darwini operációs rendszer

A Virtuális gépet vagy annak működési módját darwini operációs rendszerként is emlegeti a Tierre alkotója Tom Ray. Ez arra utal, hogy a virtuális gép a folyamatok populációját darwini (a biológiai evolúciónak megfelelően) módon kezeli. A darwini operációs rendszer fontosabb alkotó elemei:

  • Slicer
  • Reaper
  • Memória allokáció (vezérlése)
  • Genetikai műveletek
  • Zavarok

    Soup (RAM)

    A soup (leves - ősleves). A virtuális gép operációs memóriájának szerepét tölti be. Az önreprodukáló kód ezt foglalja el. Az "önreprodukció" hatékonyságát mutatja, hogy mennyire "szaporodik" el egy kód. A memória körbeforuló, azaz a legmagasabb cím után a legalacsonyabb következik. A virtuális gép indításakor megadható a soup mérete, ami a futás során már nem változhat.

    CPU struktúra

    ("default" CPU)
    A CPU maga a gép (pl. van benne memória allokáló utasítás)
    Utasítás mutató, IP
    Regiszeterek, 4 db
    Stack 10 szó (visszaforduló, vagyis a 11-dik push, az elsőt felülírja)
    Stack pointer
    Flag-ek

    Utasításkészlet

    Úgy tervezték a Tierra-t, hogy különböző utasításkészletekkel legyen képes működni. Az utasítások szintaktikailag az Assembly nyelvre emlékeztetnek. Ennek oka valószínűleg az, hogy egyszerű fordítóprogramot írni ilyen kódra.

    Az utásításkészlet további jellemzői

  • Az utasítások nem „szállíthatják” el a virtuális gépet.
  • Alapvetően kisméretű utasításkészlet.
  • Nincsenek numerikus operandusok.
  • Template címzés

    Genetikai műveletek

  • Mutációk
  • Gének összekapcsolása
  • Kereszteződés
  • Beszúrás
  • Törlés
  • Hibák

  •