In an operating system, cooperative multitasking is a means of providing the appearance that more than one task (executing process) is running at a time. Cooperative multitasking represents an improvement over multiple programs loading, in which more than one program can be loaded into memory, but only one can execute at a given time. Multitasking creates the impression that two or more programs are running simultaneously by switching tasks rapidly. In cooperative multitasking, tasks are designed to give up their control of the CPU to other applications voluntarily. See preemptive multitasking, task.