Ficheiros e entrada/saída

Discos, volumes, dispositivos, polling, interrupções, DMA e caminho de um pedido.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Tempos

HDD sem cache:

T=Tposicionamento+Trotac¸a˜o+Ttransfereˆncia.T=T_{\text{posicionamento}}+T_{\text{rotação}}+T_{\text{transferência}}.

A rr rpm, a volta demora 60/r60/r s; espera média é metade. A 7200 rpm: 4,17 ms; 1 MiB a 100 MiB/s: 10 ms; com 5 ms de posicionamento, cerca de 19,17 ms.

  • SSD não tem cabeça nem rotação; tem latência e limites próprios. TRIM não é apagamento garantido.
  • Latência é duração; largura de banda é bytes por tempo.

Mecanismos

MecanismoCPUQuando serve
Pollingconsulta estado em cicloesperas curtíssimas
Interrupçõestrata o evento anunciadotarefa pode bloquear entretanto
DMAconfigura; hardware transfere; interrupção concluievita copiar byte a byte

DMA não elimina configuração nem erros; combina-se com interrupções. Interrupção não obriga a trocar de processo.

  • Controlador é hardware; driver é software. Bloco é endereçável; carácter é fluxo. /dev identifica dispositivos; ioctl configura.
  • Bloqueante suspende; não bloqueante devolve EAGAIN sem esperar; assíncrona separa submissão e conclusão. select/poll esperam disponibilidade; transferências parciais continuam possíveis.

Cache e persistência

  • Buffer adapta trânsito; cache evita repetir; spool enfileira para dispositivo único.
  • read ok não prova disco; write ok não prova sobrevivência a falha. Persistência pede fsync (e diretório em operações de nomes).
  • Compara com quantidade, padrão e estado da cache definidos; uma medição pode ser só cache quente.

Caminho do pedido.

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.