Introdução aos sistemas operativos

Recursos, abstrações, núcleo, chamadas de sistema, interrupções e arranque.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Sistema

O SO gere recursos e protege programas. Núcleo é a parte privilegiada; shell, bibliotecas e serviços completam o sistema.

RecursoAbstraçãoDecisão
CPUprocesso, threadquem corre
RAMespaço virtualacessos válidos
Discoficheiroblocos e permissões
Canaldescritorler, escrever, esperar

Interface comum não iguala operações: read serve ficheiros e pipes, lseek não reposiciona pipes.

  • Multiprogramação: outro corre quando um bloqueia. Partilha de tempo: interrompe quem podia continuar.
  • Concorrência: períodos sobrepostos, mesmo numa CPU. Paralelismo: simultâneo. Corrida não exige paralelismo.

Núcleo e eventos

Chamada de sistema: biblioteca prepara, núcleo valida e executa ou regista espera. strlen não entra; open entra; printf pode ficar em buffer antes de write.

  • Mudança de modo não troca de processo; troca de contexto guarda e carrega estados.
  • Interrupção: hardware externo. Exceção: instrução corrente. Chamada: entrada intencional.
  • Falta de página pode ser recuperável; acesso proibido não se resolve com carga.

Estados

Pronto só espera CPU; bloqueado espera evento. I/O concluído torna pronto; o escalonador escolhe quando corre.

Bloquear, ficar pronto e retomar. A bloqueia à espera de I/O e B ocupa a CPU. A conclusão do pedido torna A pronto; só a escolha do escalonador o faz retomar.
  • Monolítico: serviços no núcleo. Micronúcleo: serviços em processos com mensagens. Custo e robustez dependem da implementação.
  • Arranque: firmware, carregador, núcleo, primeiro processo, serviços. cd é interno porque muda a própria shell.

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