O que você vai aprender
Explicar o papel de um sistema operacional como intermediário entre hardware e aplicações.
Reconhecer a evolução histórica e os tipos de sistemas operacionais.
Descrever o SO como gerenciador de recursos e como máquina estendida.
Identificar as funções essenciais e os objetivos de projeto de um SO.
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.
O que veremos nesta aula
Esta primeira aula monta a base de todo o curso. Vamos percorrer:
de SO→Duas
visões→Funções
e objetivos→Evolução
histórica→Tipos
de SO
Definição de sistema operacional
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.
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.
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.
O que o SO faz por trás de "abrir um arquivo"
Um simples "abrir arquivo" esconde muito trabalho do SO:
Stepper: as duas visões do SO
O SO como máquina estendida
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.
O SO como gerenciador de recursos
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).
O SO como a gerência de um hotel
Com SO × sem SO
| Aspecto | Sem SO | Com SO |
|---|---|---|
| Acesso ao hardware | Direto, cada programa reimplementa | Via abstrações e chamadas de sistema |
| Vários programas | Difícil; conflitam por recursos | Compartilhamento gerenciado |
| Proteção | Um erro derruba tudo | Processos isolados |
| Portabilidade | Código preso ao hardware | Mesma API em hardwares diferentes |
As funções essenciais do SO
O SO costuma ser dividido em gerências, que serão temas das próximas aulas:
| Função | Descrição |
|---|---|
| Gerência de processos | Cria, escalona e finaliza programas em execução |
| Gerência de memória | Aloca e protege o espaço de endereçamento |
| Gerência de arquivos | Organiza dados em arquivos e diretórios |
| Gerência de E/S | Controla o acesso aos dispositivos |
| Proteção e segurança | Isola usuários e processos, controla acessos |
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.
Verifique: visão correta
Dizer que o SO "esconde os setores do disco e oferece arquivos" corresponde a qual visão?
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.
E/S→P1 bloqueia,
CPU livre→SO roda P2→E/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.
Confusões frequentes
• 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.
Como fixar os conceitos
• 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.
Revele: tempo compartilhado
Por que o tempo compartilhado dá a cada usuário a sensação de uso exclusivo da máquina?
Revisão relâmpago
A linha do tempo dos SOs
A história dos SOs acompanha a do hardware:
compartilhado→Pessoais
e em rede→Móveis
e nuvem
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.
Fechando a aula
Atividade em grupo · Linha do tempo dos SOs
Em trios, montem uma linha do tempo conectando hardware e sistemas operacionais.
Roteiro
- Escolham 4 marcos: ex. lote (anos 1950), multiprogramação, Unix/tempo compartilhado, Windows/Linux pessoais.
- Para cada um, anotem o tipo de SO e o problema que ele resolvia.
- Classifiquem um SO atual (Android, Windows, Linux, RTOS) nos tipos vistos.
- Montem um cartaz com a linha do tempo.
Mini-quiz · Aula 1
20 questões sobre esta aula. Escolha e veja a explicação na hora.
📌 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.