SCO Embedded Configuration Toolkit Whitepaper
Chapter 1, Introduction

Chapter 1

Chapter 1<P> Introduction Introduction

The SCO® Embedded Configuration Toolkit (formerly known as the ``SCO POS Configuration Toolkit'') provides a mechanism for configuring SCO OpenServer for embedded systems. The operating systems generated by the toolkit are designed to operate in the minimum amount of RAM whilst still providing facilities associated with traditional UNIX operating systems. Some of the key features of the environment generated by the toolkit are: The SCO Embedded Configuration Toolkit (also referred to as ``the toolkit'' in this document) still supports all the POS related devices supported by its predecessor, the ``POS Configuration Toolkit''. However, the new toolkit has additional features that enable you to configure UNIX operating environments for a variety of embedded systems such as POS applications, Network Computers, client-server applications and so on.

Traditionally, UNIX systems were used as back office systems because they had a mature, standards-conformant open architecture that provided a high degree of inter-system connectivity. It was not so common to see such systems utilized as front-end or desktop machines because of the large amount of hardware resources they required.

The toolkit addresses this problem by generating a customized UNIX operating system that can run in the more confined hardware environment of a desktop machine. Some of the advantages of bringing UNIX to the desktop as well as to the back office include:

You can use the toolkit's advanced graphical user interface to help you customize the operating system environment for your embedded systems. The toolkit also enables you to specify a path to your embedded application. It can then build a software profile of the operating system and the embedded application. Once the software profile has been built, it can be deployed to target machines in a variety of ways. These deployment methods are described in ``Deployment''.

This document provides an introduction to the many features of the toolkit and some of the possible environments in which it can be used. It does not describe the user interface of the toolkit: this is done in the SCO Embedded Configuration Toolkit Developer's Handbook.
The following special terms are used in this document.

Build machine
An SCO OpenServer Release 5.0 system used in the development environment to run the Embedded Configuration Toolkit. The build machine is used to configure the various systems in an embedded application environment and to build and cut the installation medium used to transfer the resulting software to the installation server.

Installation servers
An SCO OpenServer Release 5.0 system used to install disk target systems via a LAN connection. The software to install originates from the build machine. The installation server also generates any installation boot disks that are required. The purpose of the boot disks is described in ``Deployment''.


NOTE: If required, the build machine can also act as the installation server.

Boot servers
Any server that supports BOOTP and TFTP. The purpose of the boot server is to download, via a LAN connection the operating system and application environment used by diskless clients.

Application servers
Any server that can support TCP/IP and runs the server component of a client-server embedded application.

Administration servers
An SCO OpenServer Release 5.0 system that has administrative tools that can be used to perform certain tasks on disk based systems and diskless clients. Some of these tools are provided as part of the OpenServer package and others are supplied as part of the SCO Embedded Application Toolkit.

Disk based systems
A general term that is used when referring to clients with hard disks, client controllers, stand-alone systems and simple networked systems.

Disk based clients
A desktop or front-end system used to run an embedded application. Such systems always have an Intel processor (386, 486 or Pentium), at least 4MB of RAM, a LAN connection and a hard disk. Disk based systems are installed by booting them from boot disks generated on the installation server. The boot procedure takes care of configuring and then downloading the software from the installation server to the client. Once installed, disk based clients can boot from the local hard disks rather than from the boot diskette.

Diskless clients
A desktop or front-end system used to run an embedded application. Such systems always have an Intel processor (386, 486 or Pentium), at least 4MB of RAM, a LAN connection but no hard disk. Diskless systems are installed by booting from boot servers or from internal ROM or EPROM. The boot procedure takes care of creating an in-memory filesystem and then copying the operating system and application from the boot server or ROM/EPROM to the in-memory filesystem. Instead of booting from a boot track on a disk, diskless clients use boot PROMs to initiate the boot procedure described above.

Client controllers
Client controllers are typically located between the clients and the server, and have the task of regulating traffic over the network and controlling operation of the client systems. They can do this by acting as a gateway between sub-networks connecting locally grouped client machines. This prevents the network from becoming overloaded at times of high system load, at the same time protecting the server from being overloaded by client requests. Typically, a client controller will also take over the server's diskless client boot responsibilities. In a POS environment a client controller will typically also act as a central data repository for client systems and hold information such as pricing tables, transaction summaries, statistics and so on.

Simple networked systems
Simple network systems are systems that can function independently of other computers but can also utilize their network connections to access information and resources if required. A typical example of a simple networked system is a Network Computer.

Stand-alone systems
Stand-alone systems are systems that function independently of other systems and do not require any form of network or media transfer to perform their functions. These functions are usually simple repetitive actions based on static information that is not prone to frequent changes. An example of a stand-alone system might be an environmental control system for a building's sun blinds or air conditioning.

Embedded application
The application that runs on the target system(s). The application can be a client-server server application using an application server and one or more clients, or a stand-alone application that runs independently of any server. Some examples of embedded applications could be the controlling software for a cash till or an application controlling external devices such as actuators for window blinds.

In-memory filesystem
A filesystem that only exists in its runtime form in the RAM of a system, typically a diskless client. In the environments discussed in this document, such filesystems are stored as images on the hard disk of a boot server. When required, the boot server downloads the image to the diskless client's RAM. The in-memory filesystem then has the same appearance as a filesystem on a hard disk.

When an executable is invoked from an in-memory filesystem, it is invoked in-place, that is, the executable's image is not copied to another part of memory. This is a key feature of in-memory filesystems generated by the toolkit.

Any changes made to an in-memory filesystem are lost as soon as the system is switched off, any permanent changes to an in-memory filesystem must be made to the image stored on the boot server.