Paginação por procura

Faltas de página, FIFO, OPT, LRU, relógio, working set e thrashing.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Falta de página

Procura adia a carga até ao uso. Passos: MMU deteta ausência, núcleo valida o acesso, arranja moldura, prepara dados, atualiza tabelas e repete a instrução.

  • Ilegal não se resolve com disco. COW pode copiar sem disco. Vítima suja pode exigir escrita; limpa reconstrói-se.
  • Processo em falta de I/O pode bloquear e largar a CPU.

Políticas

PolíticaVítimaNota
FIFOentrada mais antigaacerto não reordena
LRUacesso mais antigocada acerto atualiza
OPTuso futuro mais distantereferência mínima, futuro conhecido
Relógioprimeiro 0 a partir da ponteiralimpa 1s, acesso põe a 1

Para 1,2,3,1,4,2,1,3 com 3 molduras: FIFO F,F,F,A,F,A,F,A (5); LRU F,F,F,A,F,F,A,F (6); OPT F,F,F,A,F,A,A,F (5). Cargas iniciais contam. No pedido de 4: FIFO tira 1, LRU tira 2, OPT tira 3.

  • Mais molduras com FIFO pode dar mais faltas (Belady). LRU e OPT são de pilha: imunes no modelo.
  • NRU escolhe da primeira classe (R,M) não vazia: (0,0), (0,1), (1,0), (1,1). Aqui RR é o bit de referência desde a última limpeza e MM o bit de modificação; RR não é idade exata.

Custo e localidade

EAT=(1−p)M+pF,EAT=(1-p)M+pF,

com acesso normal MM, custo completo de falta FF incluindo o acesso repetido, e probabilidade de falta pp. Usa a mesma unidade nos dois termos. Para M=100M=100 ns, F=5F=5 ms, p=10−4p=10^{-4}: 599,99599{,}99 ns.

  • Local divide molduras por processo; global retira de outros.
  • Working set: páginas distintas nas últimas Δ\Delta referências. 2,1,3,2,4 dá 4.
  • Thrashing: paginação contínua sem trabalho útil. Conjuntos maiores que a RAM sinalizam pressão; baixa CPU não pede mais processos.
  • Matriz C: linhas contíguas. Faltas exigem dimensões, percurso, página e molduras.
  • Núcleo: buddy (potências de dois, 21 KiB em 32 KiB deixa 11 de fragmento interno), slab (objetos do tipo).

Tabela passo a passo.

À 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.