Kernel, modo usuário e chamadas de sistema

Distinguir kernel, execução de aplicações e chamadas de sistema.

Kernel, modo usuário e chamadas de sistema

Objetivo

Distinguir kernel, execução de aplicações e chamadas de sistema.

Conceitos essenciais

Kernel

Kernel é o componente central privilegiado do sistema operacional que coordena recursos e proteção.

Modo usuário

Aplicações normalmente executam com privilégios restritos. Isso reduz o impacto de erros e ajuda no isolamento.

Chamadas de sistema

Uma system call permite solicitar ao kernel serviços como arquivos, processos, memória ou rede. Bibliotecas e runtimes frequentemente encapsulam esses detalhes.

Arquiteturas variam

Os mecanismos exatos de privilégio, rings e interfaces diferem por arquitetura e SO; o modelo usuário/kernel é introdutório.

Modelo mental

APLICAÇÃO → biblioteca/runtime → SYSTEM CALL → KERNEL → RECURSO

Exemplo e demonstração

Em Python, open() é uma API de alto nível; internamente o runtime e bibliotecas utilizam serviços do sistema para acessar o filesystem.

with open("dados.txt", "r", encoding="utf-8") as f:
    texto = f.read()

Experimento / prática

  • Explique por que um aplicativo comum não deveria possuir privilégios irrestritos.
  • Diferencie chamada de função de alto nível e chamada de sistema.

Erros comuns

  • Toda chamada de função é system call.
  • Kernel é apenas uma biblioteca carregada pelo app.

Resumo

Ao concluir esta aula, revise o modelo mental e tente explicá-lo com suas próprias palavras antes de avançar.