Quando um sistema operacional permite a execução de mais de um programa ao mesmo tempo, ele é chamado de multitarefa e tem de lidar com procedimentos que concorrem quanto à utilização da capacidade de processamento do hardware. Então, é necessário definir e gerenciar uma questão básica que é a prioridade de cada programa quanto ao uso de recursos existentes.[1][2][3]
Os sistemas operacionais executam novos processos sem ter a necessidade que processos que foram iniciados antes precisem ser encerrados, para isso os programas executam segmentos (partes) de múltiplos processos de maneira intercalada fazendo que cada segmento dos processos executados, utilize os recursos computacionais (CPU, memória principal, disco, etc) de maneira ordenada e sequencial, mantendo as informações de cada processo consistentes.
A multitarefa automaticamente parcialmente interrompe a execução de cada processo salvando seu estado atual(resultados parciais, conteúdo de registradores, conteúdo de memória) e então carregando o estado salvo de outro processo e passando o controle dos recursos do sistema para ele, essa interrupção pode ser implementada a partir de divisões iguais de tempo (multitarefa preemptiva) ou administrada por um programa que gerencia e supervisiona os processos e define quando estes serão interrompidos.
A multitarefa não está diretamente ligada ao processamento paralelo pois mesmo em CPUs de vários núcleos, o processamento de mais de um processo é permitido em apenas um único núcleo do processador.