Sim, eles certamente podem.
De link
Corra sim em um xterm, e você verá muitas linhas "y" passando pelos seus olhos. Naturalmente, o processo yes é capaz de gerar linhas "y" muito mais rápido do que o aplicativo xterm é capaz de analisá-las, atualizar seu buffer de quadros, comunicar-se com o servidor X para rolar a janela e assim por diante. Como é possível que esses programas cooperem?
A resposta está no bloqueio de E / S. O pseudo-terminal só pode manter uma certa quantidade de dados dentro de seu buffer de kernel, e quando esse buffer está cheio e sim tenta chamar write (2), então write (2) irá bloquear, movendo o processo yes para o estado sleep ininterrupto onde permanece até que o processo xterm tenha tido a chance de ler alguns dos bytes armazenados em buffer.
O mesmo acontece se o TTY estiver conectado a uma porta serial. sim seria capaz de transmitir dados a uma taxa muito maior do que, digamos, 9600 bauds, mas se a porta serial estiver limitada a essa velocidade, o buffer do kernel logo se enche e quaisquer chamadas subsequentes de write (2) bloqueiam o processo (ou falha com o código de erro EAGAIN se o processo solicitou E / S sem bloqueio.