LRM Prof. Mantovani ← Aulas da disciplina
Semana 1 · Aula 1 de 14

Introdução: SO e arquitetura de hardware

O que faz um sistema operacional, sua relação com o hardware, o ciclo de instrução, os modos de operação da CPU e os tipos de SO — com foco em embarcados e tempo real.

📚 Sistemas Operacionais📝 mini-quiz ao final
Objetivos da aula

O que você vai aprender

1

Explicar as funções do SO como gerente de recursos e máquina estendida.

2

Relacionar o ciclo de instrução e os modos de operação da CPU ao papel do SO.

3

Distinguir SO de propósito geral, embarcado e de tempo real.

4

Reconhecer como o hardware (bit de modo, timer, barramento) sustenta a proteção do SO.

1 · Motivação

Por que existe um sistema operacional?

Imagine programar um carro autônomo lendo sensores e acionando motores sem nenhuma camada intermediária: você teria de conhecer o endereço físico de cada registrador de cada dispositivo, repetir esse código em cada aplicação e garantir, sozinho, que dois programas não corrompam a mesma memória.

O sistema operacional nasce exatamente para resolver isso: ele esconde a complexidade do hardware e arbitra o acesso aos recursos. Sem SO, cada programa seria também um driver, um escalonador e um gerente de memória.

  • Você abre um arquivo — não move a cabeça de leitura do disco.
  • Você cria uma thread — não programa o timer da CPU.
  • Você envia um pacote — não toca no controlador Ethernet.
2 · Mapa

O que veremos nesta aula

Esta aula estabelece o vocabulário do curso inteiro. Percorreremos:

Funções
do SO
Ciclo de
instrução
Modos
da CPU
Tipos
de SO

O fio condutor é a fronteira entre software e metal: tudo o que o SO faz depende de mecanismos de hardware — e quase tudo o que o hardware oferece de proteção só faz sentido por causa do SO.

3 · Conceito

Definição de sistema operacional

Sistema operacional. Programa que gerencia os recursos do computador (CPU, memória, dispositivos) e fornece aos aplicativos uma máquina estendida, mais simples e segura de usar que o hardware cru.

Duas visões complementares coexistem nessa definição: a de cima para baixo (o que o SO oferece ao programador) e a de baixo para cima (como o SO administra o hardware).

4 · Explicação

Máquina estendida e gerente de recursos

O SO desempenha dois papéis ao mesmo tempo:

  • Máquina estendida (top-down): oferece abstrações — arquivos em vez de setores, processos em vez de registradores, sockets em vez de quadros Ethernet. O hardware fica escondido atrás de uma interface limpa.
  • Gerente de recursos (bottom-up): multiplexa CPU, memória e dispositivos entre vários programas, decidindo quem usa o quê e quando, de forma justa e protegida.

Esses papéis às vezes brigam: dar mais CPU a um processo interativo (boa abstração) pode prejudicar a vazão global (gerência de recursos). Equilibrar isso é tema recorrente do curso.

5 · Exemplo

A mesma operação, com e sem SO

TarefaSem SO (bare metal)Com SO
Ler um sensorLer registrador no endereço fixo do periféricoread() em um descritor de dispositivo
Guardar dadoEscrever em setor específico do meiowrite() em um arquivo
Esperar 10 msProgramar o timer e fazer busy-waitnanosleep(): o SO bloqueia e acorda a tarefa
Rodar 2 tarefasVocê intercala manualmenteO escalonador alterna entre elas
6 · Interativo

Passo a passo: do interruptor ao hardware

Passo 1
O aplicativo chama write() — uma chamada de sistema, não um acesso direto ao disco.
Passo 2
A CPU comuta para o modo núcleo de forma controlada; o SO assume.
Passo 3
O SO valida permissões e localiza onde os dados devem ir (sistema de arquivos).
Passo 4
O driver programa o controlador do dispositivo; a transferência ocorre por interrupção ou DMA.
Passo 5
Concluída a E/S, o SO desbloqueia o processo e devolve o controle em modo usuário.
7 · Conceito

O ciclo de instrução

Ciclo de instrução. Sequência que a CPU repete indefinidamente: buscar a próxima instrução, decodificá-la, executá-la e verificar interrupções pendentes antes de prosseguir.
Busca
fetch
Decodifica
decode
Executa
execute
Verifica
interrupções
8 · Explicação

Onde o SO entra no ciclo

O SO não roda "em paralelo" à CPU: ele é apenas mais código que a CPU executa. A janela de oportunidade do SO é a etapa final do ciclo — a verificação de interrupções.

Quando o timer dispara uma interrupção, a CPU termina a instrução atual, salva o mínimo de contexto e desvia para o código do SO. É assim que o SO retoma o controle periodicamente mesmo enquanto um programa de usuário roda. Sem esse mecanismo de hardware, um programa que entrasse em laço infinito travaria a máquina para sempre.

9 · Analogia

O SO como administração do prédio

🏢 Analogia
Pense no SO como a administração de um prédio. Você não negocia diretamente com a companhia de energia nem opera o elevador no painel técnico: aciona o interruptor (a chamada de sistema) e a administração cuida do resto. Ela também garante que o seu apartamento não invada o do vizinho (proteção de memória) e organiza o uso do salão de festas (recursos compartilhados).
10 · Comparação

Os dois modos de operação

AspectoModo usuárioModo núcleo/supervisor
PrivilégioRestritoTotal
Instruções privilegiadasBloqueadas (geram exceção)Permitidas
Acesso a dispositivosIndireto (via syscall)Direto
Quem roda aquiAplicaçõesO kernel
Bit de modo. Bit no registrador de status da CPU que indica o modo atual. O hardware consulta esse bit para permitir ou negar instruções privilegiadas.
11 · Fluxo

Quem protege o SO dos programas?

App tenta
instrução privilegiada
Hardware vê
modo usuário
Gera
exceção
SO assume
e trata
🔑
Instruções privilegiadas (acessar dispositivos, alterar a tabela de páginas, desabilitar interrupções) só executam em modo núcleo. É o hardware que protege o SO dos programas de usuário, não uma "boa vontade" do software.
12 · Aprofundamento

Por que dois modos não bastam às vezes

A arquitetura x86 oferece quatro rings de privilégio (0 a 3), mas a maioria dos SOs usa apenas o ring 0 (kernel) e o ring 3 (usuário). Os rings intermediários quase não são usados na prática.

A virtualização acrescentou outra camada: um hipervisor roda em um nível ainda mais privilegiado (ex.: VMX root na Intel), abaixo do kernel. Em ARM, há níveis de exceção EL0 (app), EL1 (kernel), EL2 (hipervisor) e EL3 (firmware seguro). Em microcontroladores simples, porém, pode haver um único modo — todo código roda privilegiado.

13 · Interativo

Verifique seu entendimento

Um programa de usuário tenta executar a instrução que desabilita interrupções. O que acontece?

Desabilitar interrupções é instrução privilegiada. Em modo usuário, o hardware bloqueia e gera uma exceção, transferindo o controle ao SO.
14 · Caso prático

Embarcado real: a ECU de um carro

Uma ECU (Engine Control Unit) automotiva é um computador embarcado típico: microcontrolador com dezenas a centenas de KB de RAM, sem disco, sem teclado. Ela lê sensores (rotação, temperatura, oxigênio) e comanda injeção e ignição em prazos da ordem de microssegundos.

Nela costuma rodar um RTOS (ou nem isso — bare metal com loop principal e interrupções). Não há fragmentação de memória dinâmica, não há paginação para disco, e a previsibilidade vale mais que a vazão média. É o oposto de um servidor de propósito geral.

15 · Erros comuns

Confusões frequentes

⚠️
Erros comuns nesta aula:
• Achar que o SO "roda o tempo todo em paralelo" — ele só executa quando uma interrupção ou syscall o invoca.
• Confundir modo núcleo com "ser o administrador/root" — privilégio de modo é de hardware; root é um conceito de permissão do SO.
• Pensar que todo SO tem proteção usuário/núcleo — muitos embarcados não têm.
16 · Dicas

Como estudar SO de forma eficaz

Para cada conceito, pergunte-se: "que mecanismo de hardware torna isso possível?". Modos da CPU, timer, bit de status, vetor de interrupções e MMU são as engrenagens por trás de quase tudo. Ligar software a hardware é o segredo do curso para a Engenharia de Computação.
17 · Interativo

Revele a resposta

Por que um RTOS embarcado às vezes dispensa o modo usuário?
Porque a separação usuário/núcleo custa trocas de modo e perda de cache/TLB a cada syscall. Em um sistema dedicado, com poucas tarefas confiáveis e sob forte restrição de tempo, o isolamento é trocado por menor overhead e maior previsibilidade: tudo roda em modo privilegiado.
18 · Flashcards

Revisão relâmpago

Máquina estendidavirar
Abstração do hardware: arquivos, processos, sockets em vez de setores, registradores e quadros.
Gerente de recursosvirar
Multiplexa CPU, memória e dispositivos entre programas de forma justa e segura.
Bit de modovirar
Bit no registrador de status que define modo usuário ou núcleo; o hardware o consulta.
RTOSvirar
SO de tempo real: prioriza determinismo e prazos sobre vazão média.
19 · Conexões

Para onde isso leva

Os conceitos desta aula reaparecem o curso inteiro:

  • O modo núcleo reaparece na Aula 2 (kernel) e na Aula 2/10 (interrupções e drivers).
  • A verificação de interrupções sustenta a preempção no escalonamento (Aula 5).
  • Os tipos de SO definem por que o tempo real (Aulas 5–6) e os embarcados são tratados à parte.
20 · Síntese

Resumo da aula

🔑
O SO é, ao mesmo tempo, máquina estendida e gerente de recursos. Ele só roda quando uma interrupção ou syscall o chama — e retoma o controle graças ao timer. O hardware (bit de modo, instruções privilegiadas) garante sua proteção. SOs dividem-se em propósito geral, embarcado e tempo real, e na Engenharia de Computação os dois últimos são protagonistas.
Mão na massa · colaborativo

Atividade em grupo · Mapeando SOs reais

Em trios, investiguem três sistemas operacionais de categorias diferentes e apresentem em 5 minutos.

⏱️ 25 min👥 trios🧩 pesquisa + pitch

Roteiro

  1. Escolham um SO de propósito geral, um embarcado e um RTOS.
  2. Para cada um: que hardware ele roda? Qual o tamanho aproximado de memória exigido?
  3. Identifiquem onde o modo usuário/núcleo aparece (ou não) em cada um.
  4. Montem 3 slides e apresentem.
Pesquisadorlevanta a documentação
Comparadormonta a tabela de requisitos
Apresentadorconduz o pitch
📤 Entrega: Tabela comparando 3 SOs (hardware, memória, modos de operação).
Teste seu conhecimento

Mini-quiz · Aula 1

20 questões sobre esta aula. Escolha e veja a explicação na hora.

0/20

📌 Resumo — leve isto para a prova

  • O SO é gerente de recursos e máquina estendida entre hardware e aplicações.
  • A CPU executa o ciclo busca→decodifica→executa→verifica interrupções.
  • O modo usuário/núcleo, definido em hardware, protege o SO.
  • SOs dividem-se em propósito geral, embarcado e tempo real.
  • O timer e o vetor de interrupções permitem ao SO retomar o controle.