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

Introdução aos sistemas operacionais

O que é um sistema operacional, quais são suas funções e objetivos, como ele evoluiu e por que o vemos como um gerenciador de recursos e máquina estendida.

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

O que você vai aprender

1

Explicar o papel de um sistema operacional como intermediário entre hardware e aplicações.

2

Reconhecer a evolução histórica e os tipos de sistemas operacionais.

3

Descrever o SO como gerenciador de recursos e como máquina estendida.

4

Identificar as funções essenciais e os objetivos de projeto de um SO.

1 · Motivação

Por que estudar sistemas operacionais?

Todo dispositivo que você usa — celular, notebook, servidor, roteador — só funciona porque há um sistema operacional coordenando tudo nos bastidores. Entender o SO é entender como o software realmente se conecta ao hardware.

Imagine ter de escrever um programa que controla diretamente o disco, a placa de rede e a memória, e ainda dividir o processador com outros 200 programas. Sem o SO, cada aplicativo precisaria reinventar isso. O SO resolve esse caos uma vez, para todos.

  • Ele abstrai o hardware complicado em conceitos simples (arquivos, processos).
  • Ele compartilha recursos limitados de forma justa e segura.
  • Ele protege programas e usuários uns dos outros.
2 · Mapa

O que veremos nesta aula

Esta primeira aula monta a base de todo o curso. Vamos percorrer:

Conceito
de SO
Duas
visões
Funções
e objetivos
Evolução
histórica
Tipos
de SO
💡
Guarde duas frases-chave: o SO é uma máquina estendida (esconde a complexidade) e um gerenciador de recursos (divide o que é escasso).
3 · Conceito

Definição de sistema operacional

Sistema operacional (SO). Camada de software que controla a execução de programas, gerencia os recursos da máquina (CPU, memória, dispositivos) e provê serviços e abstrações às aplicações.

Ele ocupa uma posição privilegiada: roda com permissões especiais, fica sempre na memória (ou ao menos seu núcleo) e é o primeiro grande software a iniciar após o boot.

4 · Conceito

A camada entre hardware e aplicações

O SO fica no meio de uma pilha de camadas. Por baixo está o hardware; por cima, as aplicações do usuário.

Aplicações
navegador, editor
Sistema
operacional
Hardware
CPU, memória, E/S

As aplicações pedem serviços ao SO; o SO traduz esses pedidos em comandos para o hardware e devolve os resultados. Nenhuma aplicação fala diretamente com o disco ou a rede — tudo passa pelo SO.

5 · Exemplo

O que o SO faz por trás de "abrir um arquivo"

Um simples "abrir arquivo" esconde muito trabalho do SO:

// o programa só escreve isto: arquivo = open("prova.txt"); // o SO, por trás, faz tudo isto: // - verifica permissões do usuário // - localiza o arquivo no sistema de arquivos // - aciona o driver do disco // - carrega blocos na memória (cache) // - devolve um identificador (descritor) ao programa
6 · Interativo

Stepper: as duas visões do SO

Passo 1
Olhando de cima (do programador): o SO é uma máquina estendida, que oferece arquivos, processos e chamadas simples.
Passo 2
Olhando de baixo (do hardware): o SO é um gerenciador de recursos, que decide quem usa a CPU, a memória e os dispositivos.
Passo 3
As duas visões são o mesmo software: a abstração de cima só existe porque o gerenciamento de baixo organiza os recursos.
7 · Conceito

O SO como máquina estendida

Máquina estendida. Visão do SO como uma máquina virtual mais simples que a real: esconde detalhes do hardware e oferece abstrações cômodas (arquivos, processos, memória virtual).

O hardware é desconfortável de usar diretamente: registradores de controle, interrupções, setores de disco. O SO embrulha tudo isso em conceitos limpos com os quais é agradável programar.

8 · Conceito

O SO como gerenciador de recursos

Gerenciador de recursos. Visão do SO como o árbitro que multiplexa CPU, memória e dispositivos entre vários programas, ordenando o acesso no tempo e no espaço.

Multiplexar no tempo é dividir um recurso em fatias (a CPU passa de um programa a outro). Multiplexar no espaço é dividir um recurso em partes (cada programa recebe um pedaço de memória).

9 · Analogia

O SO como a gerência de um hotel

🏨 Analogia
Pense num hotel: os hóspedes (programas) não vão direto à caldeira ou à rede elétrica. A gerência (SO) administra os quartos (memória), a água e a energia (recursos), atendendo pedidos sem que um hóspede atrapalhe o outro. O hóspede só vê um quarto confortável — a "máquina estendida"; nos bastidores, a gerência divide recursos escassos — o "gerenciador de recursos".
10 · Comparação

Com SO × sem SO

AspectoSem SOCom SO
Acesso ao hardwareDireto, cada programa reimplementaVia abstrações e chamadas de sistema
Vários programasDifícil; conflitam por recursosCompartilhamento gerenciado
ProteçãoUm erro derruba tudoProcessos isolados
PortabilidadeCódigo preso ao hardwareMesma API em hardwares diferentes
11 · Funções

As funções essenciais do SO

O SO costuma ser dividido em gerências, que serão temas das próximas aulas:

FunçãoDescrição
Gerência de processosCria, escalona e finaliza programas em execução
Gerência de memóriaAloca e protege o espaço de endereçamento
Gerência de arquivosOrganiza dados em arquivos e diretórios
Gerência de E/SControla o acesso aos dispositivos
Proteção e segurançaIsola usuários e processos, controla acessos
12 · Aprofundamento

Os objetivos de projeto

Por que um SO é construído de certo jeito? Por causa de objetivos que às vezes competem entre si:

  • Conveniência: facilitar o uso (sistemas pessoais priorizam isto).
  • Eficiência: aproveitar bem os recursos (servidores priorizam isto).
  • Capacidade de evolução: permitir manutenção e novas funções sem reescrever tudo.
🔑
Esses três objetivos — conveniência, eficiência e evolução — guiam quase toda decisão de projeto de um SO.
13 · Interativo

Verifique: visão correta

Dizer que o SO "esconde os setores do disco e oferece arquivos" corresponde a qual visão?

Abstrair o hardware em conceitos simples (como arquivos) é a visão de máquina estendida.
14 · Caso prático

Multiprogramação na prática

Suponha um programa que lê dados do disco e depois calcula. A leitura de disco é lentíssima comparada à CPU. Sem multiprogramação, a CPU ficaria ociosa esperando.

P1 pede
E/S
P1 bloqueia,
CPU livre
SO roda P2E/S de P1
termina

A multiprogramação mantém vários programas na memória; enquanto um espera E/S, a CPU executa outro, aumentando a utilização.

15 · Erros comuns

Confusões frequentes

⚠️
Cuidado:
• O SO não é um aplicativo comum como um editor de textos — ele é a base sobre a qual os aplicativos rodam.
• Multiprogramação não é o mesmo que paralelismo: mesmo com um único núcleo, vários programas podem estar na memória se revezando.
• "Tempo compartilhado" e "tempo real" são coisas distintas: o primeiro reparte a CPU entre usuários; o segundo cumpre prazos.
16 · Dicas

Como fixar os conceitos

Dicas de estudo:
• Para cada recurso (CPU, memória, disco), pergunte: "como o SO o multiplexa, no tempo ou no espaço?".
• Associe cada tipo de SO ao problema que ele resolvia na época.
• Use os comandos do seu próprio sistema (ps, top, ls) para ver as gerências em ação.
17 · Interativo

Revele: tempo compartilhado

Por que o tempo compartilhado dá a cada usuário a sensação de uso exclusivo da máquina?
Porque o SO alterna a CPU entre os usuários muito rapidamente (frações de segundo). Como a troca é veloz e o ser humano é lento, cada um percebe respostas quase imediatas, como se a máquina fosse só sua — embora ela esteja se revezando entre todos.
18 · Flashcards

Revisão relâmpago

Sistema de lotevirar
Trabalhos agrupados e executados sem interação do usuário.
Tempo realvirar
Garante respostas dentro de prazos (deadlines); usado em controle industrial e embarcados.
Sistema distribuídovirar
Vários computadores cooperam aparentando ser um sistema único.
Multiprogramaçãovirar
Vários programas na memória; a CPU roda um enquanto outro espera E/S.
19 · Evolução

A linha do tempo dos SOs

A história dos SOs acompanha a do hardware:

LoteMultiprogramaçãoTempo
compartilhado
Pessoais
e em rede
Móveis
e nuvem
💡
Cada salto resolveu um gargalo: o lote evitava desperdício de tempo dos operadores; a multiprogramação, o ócio da CPU; o tempo compartilhado, a falta de interatividade.
20 · Conexões

Para onde isto leva

Os conceitos de hoje se ramificam pelo curso inteiro:

  • Gerência de processos → Aulas 3, 5 (processos e escalonamento).
  • Máquina estendida e chamadas → Aula 2 (estrutura e syscalls).
  • Compartilhamento seguro → Aulas 6 e 7 (IPC e sincronização).
  • Gerência de memória, arquivos e E/S → aulas posteriores.
21 · Síntese

Fechando a aula

🔑
Em uma frase: o sistema operacional é a camada entre hardware e aplicações que, ao mesmo tempo, esconde a complexidade (máquina estendida) e divide os recursos escassos (gerenciador), guiado por conveniência, eficiência e evolução.
Mão na massa · colaborativo

Atividade em grupo · Linha do tempo dos SOs

Em trios, montem uma linha do tempo conectando hardware e sistemas operacionais.

⏱️ 25 min👥 trios🧩 pesquisa + cartaz

Roteiro

  1. Escolham 4 marcos: ex. lote (anos 1950), multiprogramação, Unix/tempo compartilhado, Windows/Linux pessoais.
  2. Para cada um, anotem o tipo de SO e o problema que ele resolvia.
  3. Classifiquem um SO atual (Android, Windows, Linux, RTOS) nos tipos vistos.
  4. Montem um cartaz com a linha do tempo.
Historiadorlevanta os marcos
Classificadorenquadra nos tipos
Apresentadorconduz a explicação
📤 Entrega: Linha do tempo com 4 marcos + classificação de um SO atual.
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 é a camada entre hardware e aplicações, com visão de máquina estendida e de gerenciador de recursos.
  • Funções: gerência de processos, memória, arquivos, E/S e segurança.
  • Objetivos de projeto: conveniência, eficiência e evolução.
  • Recursos são multiplexados no tempo (CPU) e no espaço (memória).
  • Os tipos de SO evoluíram do lote ao tempo compartilhado, pessoais, distribuídos, móveis e nuvem.