Utility software


Utility software is software that supports managing the computer infrastructure including computer hardware, system software and application software. Utility software provides for performing tasks as a system administrator. In contrast, application software provides for performing tasks as an end user.
A utility is software that can be classified as utility software. Often a utility is a distinct program, but sometimes multiple utilities are implemented in a single program. For example, BusyBox implements many utilities in a single program. Commonly, a utility provides a command-line interface, but some provide a graphical user interface.
Although an operating system installation usually includes utilities, users often install additional utilities. The additional utilities may provide a better user experience or additional functionality.
Often, a user must be authorized for elevated privileges to use a utility since it may affect other users of the system.

Taxonomy

This section is a taxonomy of kinds of utilities.

System management

; Antivirus: Protects the host system from computer viruses.
; Clipboard manager: Expands clipboard functionality.
; Computer access control: Grants or denies requests for access to system resources.
; Debugger: Provides for programming-level control of program execution including the examination and modification of program data.
; Diagnostic: Determines and reports the operational status of computer hardware and software. For example, a memory tester.
; Network: Analyzes the host system's network connectivity, configures network settings, reports data transfer and log events.
; Package manager: Configures, installs and updates software on the host system.
; Registry cleaner: Cleans and optimizes the Windows Registry by removing old registry keys that are no longer in use.
; System monitor: Monitors resources and performance of the host system.
; System profiler: Reports information about installed software and hardware.

Storage device management

; Backup: Copies data from a storage device for the purpose of recovering from data loss due to events such as disk failure, file corruption or accidental deletion.
; Disk checker: Checks a disk for problems.
; Disk cloning: Duplicates the content of a disk.
; Disk compression: Transparently compress/uncompress the content of a disk, increasing the capacity of the disk.
; Disk defragmenter: Reorganizes the data of each file so that it is stored contiguously.
; Disk formatter: Writes to a disk so that it can be used for a particular format. Can prepare a disk for initial use or erase the entire disk.
; Disk partitioner: Divides an disk into multiple logical drives, each with its own file system which can be mounted by the operating system.
; Disk space analyzer: Visualizes disk space use for each file and directory.
; Tape initializer: Writes a label to a magnetic tape or other magnetic medium.
; Undelete: Supports recovering files that were deleted.

File management

; Archiver: Outputs a stream or a single file when provided with a directory or a set of files. Archive suites may include compression and encryption capabilities. Some archive utilities have a separate un-archive utility for the reverse operation. One nearly universal type of archive file format is the zip file.
; Cryptographic: Encrypts and decrypts streams and files.
; Data compression: Outputs a shorter stream or a smaller file when provided with a stream or file.
; Data conversion: Transforms data from a source file to some other format, such as from a text file to a PDF document.
; Data recovery: Recovers data from corrupted files.
; Data synchronization: Establishes consistency among data from a source to a target data storage and vice versa.
; Disk cleaner: Deletes files that are unnecessary to computer operation, or take up considerable amounts of space.
; File comparison: Reports differences between files.
; File manager: Provides an interface for performing file management tasks such as deleting, renaming, cataloging, moving, copying, merging, setting file access, creating and modifying directories.
; File synchronization: Maintains consistency between two storages for various purposes including redundancy and backup.
; Revision control: Manages revisions of files.

Miscellaneous

; Data generator: Creates a file of test data according to specified patterns. For example, IEBDG.
; Hex editor: Allows for editing the data of a file without regard its format.
; HTML checker: Validates HTML code and checks links.
; Installation or setup: Initializes or configures programs, usually applications programs, for use in a specific computer environment. An uninstaller does the opposite.
; Macro recorder: Permits use of keyboard macros in programs that do not natively support such a feature.
; Patching: Modifies files, especially object programs when program source is unavailable.
; Screensaver: Controls the host monitor with the intention of preventing phosphor burn-in on CRT and plasma monitors.
; Sort/Merge program: Arranges records of a file into a specified sequence.