O que é I/O?
Input/Output
I/O (Input/Output, entrada/saída) é a troca de dados do sistema com o mundo exterior.
Definição e origem da palavra
Digitação no teclado, arquivo baixado, resultado exibido na tela: Tudo isso é operação de E/S. O sistema conversa com o mundo exterior através deste canal. É como os sentidos e as mãos do computador.
Como conhecer e usar no dia a dia?
Teclado: Entrada de texto.
Rede: Download de arquivo.
Tela: Exibição de resultado.
Profundidade Técnica e Arquitetura
Conceitos:
Blocking (Bloqueante): Aguardar até que a operação seja concluída.
Non-blocking (Não bloqueante): Continuar sem esperar, avisar quando o resultado chegar.
Buffer: Armazém temporário que equilibra a diferença de velocidade.
Gargalo: O elo mais lento desacelera toda a linha, geralmente sendo o disco ou a rede.
Exemplo de leitura de arquivo:
const veri = await fs.readFile("not.txt", "utf8");Esta linha não espera o arquivo chegar, as outras tarefas continuam. A execução prossegue assim que o resultado estiver pronto.
Use em diferentes disciplinas
Humano: Entrada por olhos e ouvidos, saída por fala.
Restaurante: Entrada de pedido, saída de atendimento.
Fábrica: Entrada de matéria-prima, saída de produto.
Perguntas e respostas
Por que a E/S é um gargalo?
O processador é rápido, o disco e a rede são lentos. Quando os dados não chegam a tempo, o sistema espera e o gargalo surge aqui.
O que é bloqueio (blocking)?
É uma chamada que aguarda até que o resultado chegue. Ela trava a interface e desperdiça trabalho no servidor.
Como acelerar?
Com cache, leitura em lote e chamadas assíncronas. Primeiro mede-se, depois conserta-se o elo mais fraco.
O que o Async tem a ver com isso?
É um mecanismo para realizar outro trabalho durante a espera. Permite lidar com muitas tarefas usando uma única thread.
Termos relacionados
Ferramentas relacionadas
Esta explicação foi escrita em linguagem simples para a TreScout com IA e traduzida automaticamente do original em turco · a versão turca é a que vale. Se algo parecer errado ou faltando, escreva para hello@trescout.com. Ler em turco →