Terminate and Stay Resident (TSR) is a system call in DOS operating systems that returns control to the system as if the program had quit, but kept the program in memory. Many software vendors uses the call to create the appearance of multitasking, by transferring control back to the terminated program on automatic or externally-generated events. Some TSR programs are effectively device drivers for hardware not directly supported by MS-DOS, whilst others are small utility programs offering frequently-used functionality such as scheduling and contact directories.