::SHE+ILA::'s GHOST communication

Elegant Woman in Purple Gown in Cozy Library Setting
576
0
  • Squishy Plushie's avatar Artist
    Squishy Pl...
  • Prompt
    Read prompt
  • DDG Model
    DaVinci2
  • Access
    Public
  • Created
    3d ago
  • Try (2)

More about ::SHE+ILA::'s GHOST communication

In order to reference external segments, ::SHE+ILA:: uses the GHOST (Global Hosting Online Segment Table) -- see description of same-named picture :) The Data Admin (in a secure installation) sets up a OUIJA (Online User Import Junction Address) block in the Task Control Block, mapping Address Registers to External Segments, for example :
@1 = ::MATHS::
@2 = ::SPRITE::
@3 = ::DISKIO::
Address registers are like normal readonly variables but start with the AT character, and can be named alphabetically (e.g. @TTYIO = ::TTYIO:: ) or numerically. They are defined once only, as they bind an entire external segment to a local thread; and redefining them at runtime may reset the entire thread, since it would force multiple swapins and swapouts of the pages comprising the segments imported. Normally they would be defined once only. The thread running the task cannot (is forbidden to) modify the address registers at runtime -- this is where ::SHE+ILA:: gets its protection and security, preventing random hacks treading all over the datastore :)
[If only Micro$oft/Intel had done this with their usage of CS: DS: ES: SS: FS: GS: there would have been fewer GP's in DOS and W98, lol]
Up to 99 address registers can be allocated per thread (since the internal address format is $EA $nn $offset1 $ED $offset2 $ED $..... ..... $00) so one packed decimal byte (in $80 ... $E3) is available to choose the segID address register). Most tasks wouldn't need more than 10 or so external segments, so this is plenty :)

Comments


Loading Dream Comments...

Discover more dreams from this artist