Guardian Programmer's Guide

Table Of Contents
Creating and Managing Processes
Guardian Programmer’s Guide 421922-014
16 - 7
Process Organization
procedure name. For example, the HEAPSORTX_ procedure in the system library
calls a comparison routine, typically in user code, that is passed as a procedure
parameter. However, such calls are not possible between TNS and native procedures
except where a TNS procedure is calling a native procedure via its To-RISC shell.
In general, variables defined in one code space are not accessible by name from other
code spaces, although they can be passed as parameters. Exceptions to this are SRL
and native UL instance data. SRLs and native ULs can have their own global variables
that are allocated their own data spaces called instance data. Items within the instance
data can be exported, making them visible to user code and to other SRLs.
There are two distinct sets of procedure names. All TNS and accelerated procedures
exist in the TNS name set and can be called only by TNS or accelerated procedures;
the Binder utility works with this set. All TNS/R native procedures exist in the native
name set and can be called from native procedures; the nld and noft utilities work
with this set. All TNS/E native procedures exist in the native name set and can be
called from native procedures; the eld and enoft utilities work with this set.
A To-RISC shell projects a native procedure name into the TNS name set so that TNS
and accelerated procedures can call it. A few system procedures, such as ARMTRAP,
are in only the TNS set and cannot be called from native procedures; a few others are
in only the native set and cannot be called from TNS or accelerated procedures. Most
Figure 16-1. TNS and Native Process Code Spaces
VST142.VSD