Open System Services (OSS) is an interface, similar to UNIX, to the Tandem NonStop Kernel. The OSS environment coexists with the Guardian environment and provides an independent alternative to it. OSS conforms to open computing industry standards, specifically to the POSIX specification.
Unlike UNIX, OSS is not an operating system. The Tandem NonStop Kernel is the operating system for both OSS and Guardian file systems.
OSS consists of the following major components:
Most OSS commands have direct counterparts in UNIX, although some commands and utilities are unique to OSS. In some cases, OSS extends a UNIX command to provide access to features of the NonStop Kernel.
To get on-line information about OSS commands and utilities, you can use the OSS command called man (an abbreviation for "manual"). For example, to get more information about the gtacl command, you can type:
man gtacl
By default, OSS processes run as unnamed Guardian processes. However, you can use the OSS run command to run an OSS process as a named Guardian process.
You can use Guardian commands from osh through the OSS gtacl command. The following examples show how you would run the Guardian fileinfo and status commands through gtacl:
gtacl -c fileinfo gtacl -c `status $ztc0'
You can also use Guardian files from osh by following a standard naming convention: in the OSS file system, the string "/G" designates the Guardian file system. The following shows how you would use the OSS ls command to list the contents of the Guardian subvolume $data1.nsdom:
ls /G/data1/nsdom
The OSS run command lets you run a process with Tandem attributes. For example, you could use the following syntax to run a named process:
run -name=Guardian-process-name program-name
A shell typically has environment variables, which you can set and display. Processes started from the shell can use the OSS API for access to the environment variables. For example, NonStop DOM processes and utilities use environment variables when you configure the system, develop a component, or run an application. The environment variables that NonStop DOM uses are stored in the env.sh file and are loaded into the osh environment as a configuration step.
A subset of the variables in the env.sh file, which are relevant for building NonStop DOM applications are described below:
export NSD_ROOT=/usr/tandem/nsdoms export MY_ROOT=$NSD_ROOT add_define =_SRL_01 class=map file=$NSD_SRL_SUBVOL.NSDSRL export NSDOM_CFG_DBM=$MY_SUBVOL.NSDCFGDB export PATH=$PATH:$NSD_ROOT/bin:$COMP_ROOT/usr/lib:$JAVA_HOME/bin
Note: If you installed the Software Development Kit (SDK) version of NonStop DOM, your files are installed into the subdirectory ZDOMSD20. If you are using the runtime version of NonStop DOM, your NonStop DOM fileset is located in the subdirectory ZDOMRT20.
NSD_ROOT designates the root directory where NonStop DOM files will reside. This manual sometimes refers to directory names relative from NSD_ROOT; in these cases, the notation NSD_ROOT means your setting of the NSD_ROOT
variable.
The add_define sets a Guardian define from OSS to point to the NonStop DOM SRL. Guardian uses this define to associate an executable with an SRL when the executable runs.
NSDOM_CFG_DBM specifies the location of the configuration database.
PATH specifies the order in which to search directories for a command typed at the osh prompt.
The Administration Guide contains much more information about all aspects of NonStop DOM installation and configuration.
You use the following OSS commands and utilities to develop your application:
make
c89
nld
noft
vi
inspect
run -debug program-name