Ficha 01 · Fundamentos do sistema operativo
- Identificar as funções essenciais do SO
- Distinguir kernel de espaço do utilizador
- Comparar SO cliente e servidor
- Caracterizar diferentes tipos de SO
Parte I · Conceitos
Exercício 1 · Funções do SO
Indique a função do sistema operativo (gestão de processos, gestão de memória, sistema de ficheiros, gestão de dispositivos, interface, segurança) responsável por cada situação:
a) Decidir que aplicação corre no processador a cada instante. ___
b) Atribuir RAM a uma aplicação que acabou de abrir. ___
c) Organizar os dados em pastas e ficheiros no disco. ___
d) Permitir ao utilizador clicar em ícones com o rato. ___
e) Verificar se um utilizador tem permissão para abrir um ficheiro. ___
f) Comunicar com a impressora conectada por USB. ___
a) Gestão de processos (escalonador). b) Gestão de memória. c) Sistema de ficheiros. d) Interface com o utilizador (GUI). e) Segurança (controlo de acesso). f) Gestão de dispositivos (via driver).
Exercício 2 · Verdadeiro ou Falso
Indique V/F e justifique:
- Sem sistema operativo, as aplicações comunicam directamente com o hardware. ___ (2 pts)
- O kernel é a única parte do SO que acede directamente ao hardware. ___ (2 pts)
- Linux e Windows partilham o mesmo kernel. ___ (2 pts)
- macOS é um SO baseado em Unix. ___ (2 pts)
- Um SO de servidor tem sempre interface gráfica. ___ (2 pts)
- F — sem SO seria preciso programar o hardware directamente; impraticável. As aplicações modernas usam o SO como mediador (system calls).
- V — princípio fundamental da arquitectura em camadas.
- F — kernels diferentes: Linux usa o kernel Linux (Linus Torvalds), Windows usa NT kernel.
- V — macOS é baseado no Darwin (kernel híbrido com base BSD Unix).
- F — servidores frequentemente não têm GUI (são "headless"), geridos por SSH ou painel web.
Parte II · Arquitectura
Exercício 3 · Camadas
Ordene as 4 camadas da arquitectura de um SO, de baixo (mais perto do hardware) para cima (mais perto do utilizador):
- ___ Aplicações
- ___ Hardware
- ___ Kernel
- ___ Shell e serviços de sistema
- Hardware (fundo — CPU, RAM, discos, periféricos)
- Kernel (núcleo — única camada com acesso ao hardware)
- Shell e serviços de sistema (interface, daemons, sistema de ficheiros)
- Aplicações (topo — browser, office, jogos, etc.)
Exercício 4 · System calls
Quando uma aplicação (ex: o Word) quer abrir um ficheiro, o que acontece tecnicamente? Descreva em 3-4 passos.
-
A aplicação faz uma chamada ao sistema (system call) — pede ao kernel para abrir o ficheiro com o nome
documento.docx. -
O kernel verifica permissões — o utilizador actual tem direito de leitura sobre esse ficheiro? Se não, devolve erro.
-
O kernel consulta o sistema de ficheiros — encontra onde no disco estão os blocos do ficheiro.
-
O kernel chama o driver do disco — instrui o disco a ler os blocos, copia-os para a memória do processo, e devolve um "handle" à aplicação. A aplicação pode agora ler/escrever via esse handle.
Lição: a aplicação NUNCA toca directamente no disco. Toda a comunicação com hardware passa pelo kernel. Esta arquitectura é o que torna possível ter múltiplas aplicações em segurança e estabilidade.
Parte III · Tipos de SO
Exercício 5 · Cliente vs Servidor
Indique para cada característica se é típica de Cliente, Servidor, ou Ambos:
a) Optimizado para 1 utilizador interactivo. ___
b) Frequentemente sem interface gráfica. ___
c) Drivers para muitos periféricos (impressoras, webcams). ___
d) Optimizado para muitos utilizadores em rede. ___
e) Necessita de actualizações regulares. ___
f) Uptime esperado de meses ou anos. ___
g) Software pré-instalado para uso pessoal (browser, office). ___
h) Gestão tipicamente por SSH ou painel web. ___
a) Cliente. Personal computing. b) Servidor. "Headless" é comum. c) Cliente. Servidores raramente precisam de muitos periféricos. d) Servidor. e) Ambos. Mas com janelas diferentes. f) Servidor. Clientes desligam-se à noite. g) Cliente. h) Servidor. Gestão remota é a regra.
Exercício 6 · Escolher SO
Para cada cenário, indique o tipo de SO mais adequado e dê um exemplo concreto (Windows 11, Ubuntu Server, etc.):
a) Computador pessoal para um estudante de Multimédia. ___
b) Servidor de partilha de ficheiros de uma escola. ___
c) Computador da recepção de uma clínica (poucos utilizadores, software médico). ___
d) Smartphone. ___
e) Sistema de controlo de uma máquina industrial em tempo real. ___
f) Router doméstico. ___
a) Cliente — Windows 11 Pro (mais comum) ou macOS (se necessário Adobe). Ubuntu Desktop se quiser open-source. b) Servidor — Ubuntu Server, Debian, ou Windows Server (depende da infraestrutura). c) Cliente — Windows 10/11 (software médico geralmente é Windows-only). d) Mobile — Android ou iOS. e) Real-time (RTOS) — QNX, VxWorks, FreeRTOS. f) Embebido — OpenWrt, DD-WRT (variantes Linux).
Parte IV · Aplicação
Exercício 7 · Diagnóstico
A turma da Maria está a usar Windows 11 num portátil que arranca lentamente, faz barulho excessivo, e o Chrome trava quando tem mais de 5 abas. Diagnosticar:
a) Qual o tipo de problema (RAM insuficiente, disco lento, CPU sobreaquecida)? Justifique em 1-2 frases.
b) Que comando ou ferramenta Windows usaria para verificar?
c) Que solução sugere?
a) Múltiplos sintomas indicam várias causas possíveis: - Arranque lento + Chrome trava com muitos abas → RAM insuficiente ou disco HDD (não SSD). - Barulho excessivo → ventoinha sobre stress = CPU sobreaquecida ou disco HDD a funcionar muito.
b) Ferramentas:
- Ctrl+Shift+Esc → Gestor de Tarefas → separador "Desempenho" para ver uso de CPU, RAM, Disco em tempo real.
- Win+R → dxdiag para informações de sistema.
- HWMonitor (gratuito) para temperaturas detalhadas.
c) Soluções: - Se RAM < 8 GB → adicionar RAM se possível (algumas máquinas têm slots livres). - Se disco for HDD → substituir por SSD (transformação maior). - Se CPU sobreaquece → limpar ventoinhas, verificar pasta térmica. - Se tudo o resto OK → diminuir abas abertas, fechar aplicações desnecessárias.