A defined group of instructions executing apart from other similarly defined groups, but sharing memory and resources of the process to which they belong.
Sources:
NIST SP 800-72