::SHE+ILA:: Internals [$85]

34
0
  • Squishy Plushie's avatar Artist
    Squishy Pl...
  • Prompt
    Read prompt
  • DDG Model
    ImagineArt
  • Access
    Public
  • Created
    14h ago
  • Try

More about ::SHE+ILA:: Internals [$85]

The ::SHE+ILA:: datastore consists of about 10,000,000 pages, each occupying 32 kilobytes. This takes up a 320GB disk partition. Each page starts with a header, containing a segment name (eg. ::WOOITY::), a timestamp, a checksum, and various flags. The rest of the page contains a Buf (buffer). Bufs contain arrays, procedures, stacks, and other bufs to an arbitrary nesting depth. A segment consists of one or more pages. If a segment requires more than one page, it contains a list of page-ids (logical block addresses, LBA's) of the other pages constituting the entire segment. The pages do not need to be contiguous on the disk. Each subsequent page contains a back-pointer to the first page in the segment. A system thread (::CKPT::) runs in the background, checkpointing the page frames in RAM back to disk, and also garbage-collecting in order to remove references to objects which are no longer referenced. Each Buf (buffer) starts with a $EB tag, followed by a set of Boolean flags (dirty, readonly, fixed, untidy, etc), a length, a "dope vector" (list of pointers to each element in the buf), and its data block (each element is separated with $ED), and finally a $00 terminator. Elements can be BCD numbers (containing $80 through $E3), ASCII strings (containing $20 through $7F), or sequences of opcodes (containing $E4 though $FF) such as procedures, thread blocks, etc. Also see the Buf documentation in the drawing descriptions under the #sheila tag.

Comments


Loading Dream Comments...

Discover more dreams from this artist