Under MS-DOS, a program which is loaded into memory and then remains loaded after it exits to provide certain services (it "terminates and stays resident," hence the acronym TSR). Examples of TSR programs include Sidekick and MSCDEX.

TSR programs tend to take up lots of conventional memory, but DOS memory management techniques exist to limit their usage of this essential system resource.