Embedded applications may use a broad range of UNIX system facilities and
should conform to the following general topology:
The client initialization process executes one master controlling application process
after the client has been booted and initialized. This
process can then spawn up to 14 other processes
(or more if system memory constraints are not an issue).
High priority processes can issue the standard
plock(S)
system call to lock themselves in memory. This ensures that the process
will not be paged out to secondary memory when running on any configuration.
Real time processes can use the IEEE POSIX
1003.1b-1993 (formerly known as IEEE POSIX
P1003.4) fixed-priority scheduler functions to ensure
that high-priority processes run at a higher priority
than other processes. For example, a process that periodically
writes records held in memory to disk may need to run at
a lower-priority than a real time process dealing with a customer
order.
Information that must be passed from one process to another
should use the provided IPC mechanism. When the application
needs to pass data, it calls the IPC functions
and the data is sent to the local or
remote destination process.
The application should provide system management functions to perform required
system administration tasks such as backing up files, cleaning
up filesystems, and doing a graceful system shutdown and
reboot. The SCO Embedded Configuration Toolkit provides the software
interfaces for such functionality, and the documentation provides guidelines
for creating such facilities.
The link editing phase requires a design decision to be
made about whether to use static or dynamic libraries.
The SCO Embedded Configuration Toolkit, Developer's Handbook
gives extensive guidance on which model to use.
The enhanced toolkit event manager API enables applications to use
event driven devices such as mice, touch screens, POS peripherals and so on.
The
netexec(P_ADM)
utility can be used for loading applications remotely.
Remote client management systems include remote process status and
file transfer.
The SURF Performance Monitor is supplied for analyzing kernel performance.
An API is supplied for use by applications using IBM 4690 peripherals.
SNI RDI is supplied for use by applications that need to use the SNI Retail Device Interface.
Standards-conformant Remote Procedure Call (RPC) mechanisms allow a procedure call
to be executed over the network.
A memory-reduced X server is available for applications development for disk
based clients systems or diskless clients having more than 8MB of
RAM.
The Network Transfer API (NTA) supplies a simple
means of transferring files using TFTP (over UDP).
Toolkit printer configuration support enables applications to use local or networked printers.