In communications or computer systems, a configuration of a system refers to the arrangement of each of its functional units, according to their nature, number and chief characteristics. Often, configuration pertains to the choice of hardware, software, firmware, and documentation. Along with its architecture, the configuration of a computer system affects both its function and performance.