Sistemas operacionais semelhantes ao Unix foram projetados para ambientes de compartilhamento de tempo que usavam terminais e protocolos de terminal para conversar com processos em execução nesses sistemas.
Em sistemas modernos do tipo Unix, simplesmente o processo e seu terminal estão rodando no mesmo sistema. Portanto, um emulador de terminal age como um terminal físico em execução no software e, em seguida, fala com um processo.
Existem razões práticas para manter esse sistema em torno, incluindo a manutenção da compatibilidade com o POSIX, além de ser apenas uma forma conveniente de comunicação entre processos.