Spooling ou simplesmente Spool (do acrônimo Simultaneous Peripheral Operations On-line) refere-se a um processo de transferência de dados colocando-os em uma área de trabalho temporária onde outro programa pode acessá-lo para processá-lo em um tempo futuro. A técnica de Spooling consiste em colocar em um , uma área da memória ou de um disco onde um dispositivo pode acessá-la quando estiver preparada. O Spooling é útil porque os dispositivos acessam dados em diferentes velocidades, o buffer provê uma estação de espera onde o dado pode ficar armazenado enquanto o dispositivo mais lento fica carregando. O mais comum exemplo de spooling é o da primeira impressão.
Buffer de dados (ou, simplesmente, buffer) é uma região de física utilizada para armazenar temporariamente os enquanto eles estão sendo movidos de um lugar para outro. Normalmente, os dados são armazenados em um buffer enquanto eles são recuperados de um (como um microfone) ou pouco antes de serem enviados para um dispositivo de saída (como auto-falantes). Contudo, um buffer pode ser utilizado quando movem-se dados entre dentro de um computador. Isto é comparável com os buffers de telecomunicações. Os buffers podem ser implementados em um local de memória fixa no hardware - ou utilizando-se um buffer de dados virtual em software, apontando para um local na memória física. Em todos os casos, os dados armazenados em um buffer de dados são armazenados em um . A maioria dos buffers são implementados em , que normalmente usa a mais rápida para armazenar dados estáveis, devido ao tempo de acesso muito mais rápido comparado com as .