Draft Preface
From Computing Project Repository
System administration is about the design, running and maintenance of
human-computer systems. Human-computer systems are `communities' of
people and machines that collaborate actively to execute a common
task. Examples of human-computer systems include business
enterprises, service institutions and any extensive machinery that is
operated by, or interacts with human beings. The human players in a
human-computer system are often called the users and the machines are
referred to as hosts, but this suggests an asymmetry of roles
which is not always the case.
System administration is primarily about the technological side of a system: the architecture, construction and optimization of the collaborating parts, but it also occasionally touches on softer factors such as user assistance (help desks), ethical considerations in deploying a system, and the larger implications of its design for others who come into contact with it. System administration deals first and foremost with the system as a whole, treating the individual components as black boxes, to be opened only when it is possible or practical to do so. It does not conventionally consider the design of user-tools such as third-party computer programs, nor does it attempt to design enhancements to the available software, though it does often discuss meta-tools and improvised software systems which can be used to monitor, adjust or even govern the system. This omission is mainly because user-software is acquired beyond the control of a system administrator; it is written by third parties, and is not open to local modification. Thus users' tools and software are treated as `given quantities' or `boundary conditions'.
For historical reasons, the study of system administration has fallen into two camps: those who speak of {\em network management} and discuss its problems in terms of software design for the management of black box devices by humans (e.g. using SNMP), and those who speak of {\em system administration} and concern themselves with practical strategies of machine and software configuration at all levels, including automation, human-computer issues and ethical considerations. These two viewpoints are complementary, but too often ignore one another.
In this handbook, we have collected together the contributions of some of the leading researchers in this field to summarize the state of the field.