A system configuration in systems engineering defines the computers,
processes, and devices that compose the system and its boundary. More general
the system configuration is the specific definition of the elements that define
and/or prescribe what a system is composed of.
Alternatively the term system configuration can be used to relate to a
model for abstract generalized systems. In this sense the usage of the
configuration information is not tailored to any specific usage, but
stands alone as a data set. A properly-configured system avoids
resource-conflict problems, and makes it easier to upgrade a system with new
equipment. Sample Configuration
The following is a basic SC XML System Configuration:
Description: This provides information about a single "site" and specifies that
there is one host with user-setup and mysql-db components. The host must have
an account on it for a user named mysql, with appropriate parameters. Notice that
the configuration schema requires no XML tags that are Windows- or UNIX-specific.
It simply presents data' as standalone information – with no pretense for how
the data is to be used. This is the hallmark for a good system
configuration model. Further Extensions
The above model can be extended. For example, the user could have more
attributes like "preferences" and "password". The components could depend
on other components. Properties can be defined that are passed into
sub-elements. The extensions can be endless and must be managed and
well-thought-out to prevent "breaking" the idea of the system configuration.
Usage The usage for the model in practical
terms falls into several categories: documentation, deployment & operations.
= Documentation = One use of the configuration is to
simply record what a system is. This documentation could in turn become quite
extensive, thus complicating the data model. It is important to distinguish
between configuration data and descriptive data. Of course comments can
be applied at any level, even in most tools, however the bloating of the data
can reduce its usefulness. For example, the system configuration is not a place
to record historical changes, or descriptions of design and intent for
the various elements. The configuration data is simply to be "what it is" or
"what we want it to be", not "how to get it there" or "what it was".
= Deployment = Deployment involves interpreting a
configuration data set and acting on that data to realize the configure the
system accordingly. This may simply be a validation of what's there to confirm
that the configuration is in effect. Examples include a Perl library launched
from the command line to read the configuration and begin launching
processes on the local or remote hosts to install components. Also while the
system is running, there may be a SystemConfiguration service that
provides an interface for other system applications to use to access the
configuration data, and perform deployment-like actions.
= Operations = When the system is in operation, there
may be uses for the configuration data by specific kinds of services in the
system. For example, a Secnager may access the configuration to acquire the
MD5 passwords for the user accounts that are allowed to login to hosts remotely.
A system monitor service may use the data to determine "what to monitor" and
"how to monitor" the system elements. A PresentationManager might use the data
to access menu-items and views based on user access privileges.
References Knowing Your System's Configuration One
key to a well-tuned, trouble-free system is making sure it is properly
configured. In order to accomplish this you must start by understanding its
configuration. It can be difficult to figure out what all the devices are in
your system and what resources they are using. To assist in this, several
software tools have been created. These are typically called diagnostic
utilities or programs. Some of them are built into your operating system and
others are available either for free download or commercial purchase. Also,
there are areas of this site that can assist you. The sections on each of the
main system resources have tables that list all the resources and the devices
that typically use them; you can print these out and use them as checklists. In
addition, see the Device Resource Usage Summary table that shows at a glance
what resources are used by each of the major devices in your system.