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

U1 · Fundamentos: o que é um sistema operacional

As funções do sistema operacional, a visão de máquina estendida e gerente de recursos, e as três grandes famílias — propósito geral, embarcado e tempo real.

📚 Sistemas Operacionais🧪 2 simulador(es)📝 mini-quiz ao final
Objetivos da aula

O que você vai aprender

1

Definir sistema operacional e justificar sua existência.

2

Explicar as visões de máquina estendida e de gerente de recursos.

3

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

4

Reconhecer por que a mesma decisão de projeto muda de peso em cada família.

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

Roteiro da aula

1 Por que existe um sistema operacional
2 As duas visões: máquina estendida e gerente de recursos
3 As três famílias e o que cada uma otimiza
4 Como esta disciplina está organizada
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 · 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).
7 · Conceito

As grandes famílias de sistema operacional

Propósito geral. Otimiza a média: quer alto desempenho agregado e boa resposta interativa. Linux, Windows, macOS.
Embarcado. Roda dentro de um produto que não parece um computador. Recursos escassos, hardware conhecido em tempo de projeto, muitas vezes sem disco e sem usuário.
Tempo real (RTOS). Otimiza o pior caso: precisa garantir que a resposta chegue antes do prazo, sempre. Ser rápido em média não serve de nada.

Um mesmo conceito muda de peso conforme a família. Trocar de contexto em 5 µs é irrelevante num desktop e pode ser inaceitável num controlador de freio.

8 · Comparação

A mesma pergunta, três respostas

PerguntaPropósito geralEmbarcadoTempo real
O que otimiza?Vazão médiaCusto e consumoPior caso
Quanta memória?GigabytesKilobytes a megabytesDepende, mas previsível
Hardware conhecido?Não — descobre no bootSim — fixo em projetoSim
Atraso ocasionalTolerávelTolerávelFalha do sistema
ExemploLinux num servidorFirmware de uma balançaFreeRTOS num drone
🔑
Guarde esta distinção: ela reaparece em todas as unidades seguintes. Sempre que estudarmos um mecanismo, vale perguntar "e como isso fica num sistema de tempo real?".
9 · Interativo

Passo a passo: você abre um programa

Passo 1
O SO localiza o arquivo executável no disco. Você não precisou saber em que setores ele estava: o sistema de arquivos é uma abstração.
Passo 2
Ele reserva memória para o programa e decide onde na RAM ele vai morar — arbitragem de recurso.
Passo 3
Cria um processo, com identidade e estado próprios, e o coloca na fila dos que querem CPU.
Passo 4
O escalonador dá a CPU ao seu programa por alguns milissegundos e depois a tira, para atender os outros.
Passo 5
Quando o programa quiser mostrar algo na tela, terá de pedir ao SO: ele não fala com o hardware diretamente.
Passo 6
Ao terminar, o SO recolhe tudo — memória, arquivos abertos, a entrada na tabela. Nada fica para trás.

Repare que os passos 1 e 5 são máquina estendida (abstração) e os passos 2 e 4 são gerente de recursos (arbitragem). As duas visões, no mesmo minuto de uso.

10 · Interativo

Verifique seu entendimento

Um SO decide qual dos três programas abertos usa a CPU agora. Qual visão do sistema operacional essa decisão ilustra?

Arbitrar quem usa um recurso disputado é a face de gerente de recursos. A face de máquina estendida apareceria se a pergunta fosse sobre esconder a complexidade do hardware — por exemplo, oferecer "arquivo" no lugar de setores de disco.
11 · Interativo

Revele a análise

Um marca-passo precisa aplicar um estímulo elétrico a cada 800 ms, com tolerância de 1 ms. Que família de SO se aplica, e por quê ser "rápido em média" não resolve?
Tempo real rígido, e também embarcado. A média não resolve porque a exigência não é sobre a média: é sobre o pior caso. Um sistema que cumpre o prazo em 99,9% das vezes e atrasa 50 ms na milésima é inaceitável aqui — esse único atraso é a falha. Por isso um RTOS aceita ser mais lento na média em troca de um teto garantido de latência, e por isso projetos assim evitam memória virtual e alocação dinâmica, que introduzem atrasos imprevisíveis.
12 · 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.

13 · 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.
14 · 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.
15 · 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.
16 · 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

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

0/18

📌 Resumo — leve isto para a prova

  • O SO existe para abstrair o hardware e arbitrar recursos entre programas.
  • Máquina estendida (esconde a complexidade) e gerente de recursos (arbitra o uso) são duas faces do mesmo sistema.
  • SO de propósito geral otimiza a média; RTOS otimiza o pior caso.
  • Em embarcado o hardware é conhecido em projeto, o que encurta e simplifica todo o sistema.
  • A pergunta "e como isso fica em tempo real?" acompanha todas as unidades seguintes.