Spooling
Como a impressora é um periférico muito mais lento que o computador, este teria de ficar esperando a impressão terminar para, então, executar uma nova tarefa. Para resolver esse problema, a maioria das impressoras tem um buffer, ou seja, uma memória interna utilizada para armazenar temporariamente os dados que estão vindo do computador. Com isso, os dados são transferidos do computador para o buffer, liberando-o mais rapidamente. Quanto maior o buffer da impressora, mais cedo esta liberará o computador.
No entanto, mesmo existindo esse recurso, o tamanho do buffer da impressora não é o suficiente para armazenar documentos grandes de uma só vez. Em outras palavras, na impressão de documentos pequenos, o aplicativo transfere os dados para o buffer da impressora, ficando livre para executar outra tarefa. No caso de documentos grandes, mesmo com o buffer, a impressora "prende" a atenção do aplicativo.
A solução adaptada por todos os sistemas operacionais (com exceção do DOS) chama-se spooler. O aplicativo gera a impressão e transfere os dados a serem impressos para o spooler, um programa que ficará sendo executado em segundo plano. Esse programa ficará gerenciando a impressão, enquanto o aplicativo ficará livre para executar outra tarefa ou trabalhar com outro documento. É possível, inclusive,