UFBA-OS v2.024
power-on self test

⚠ KERNEL PANIC — o sistema não inicializou

São 23:39. Faltam 20 minutos para o prazo final de entrega do trabalho da disciplina Ambientes Interativos de Aprendizagem da professora Luma da Rocha Seixas e o servidor da universidade travou: três subsistemas do kernel (Scheduler, Memória e I/O) pararam de responder e bloquearam o sistema por completo.

O modo de recuperação foi ativado automaticamente. Cabe a você entrar no sistema e reinicializar cada subsistema resolvendo a falha lógica de cada um — antes que o tempo acabe e a entrega se perca para sempre.

› diagnóstico: 3 módulos travados · recuperação manual necessária · tempo crítico

pular animação ›
UFBA-OS
0x00 SEGFAULT · 0x00 SEGFAULT
!
Scheduler
!🔒
Memória
!🔒
I/O
Central de Ajuda
Logs
🗒
Notas
Terminal
🎓
Consolidação
🖩
Calculadora
Central de Ajuda — Recuperação do Kernel _×

Missão: reiniciar o kernel

O UFBA-OS entrou em kernel panic às 23:39. Restaure os três subsistemas, em ordem, antes que o tempo acabe.

Como funciona: cada subsistema tem um desafio lógico. A resposta de um libera o próximo automaticamente. Os ícones com 🔒 abrem sozinhos quando você avança.
1
Abra o Scheduler — único destravado no início — e resolva o desafio de complexidade.
2
Consulte Logs e Notas para entender como a resposta de um enigma vira a chave do próximo.
3
Resolva os 3 subsistemas em ordem para autorizar o reboot e salvar a entrega.

Progresso

SchedulerLOCKED
MemóriaLOCKED
I/OLOCKED

⏱ Tempo até o desligamento: 19:58

Monitor de Processos — [SYS.01] Scheduler _×

4 rotinas concorrentes travaram o escalonador. Para estabilizá-lo, arraste-as na ordem crescente de custo computacional (da mais barata para a mais cara).

Ordem atual: ? ? ? ?
Inspetor de Memória — [SYS.02] _×

Bloco de memória recuperado, porém ofuscado. Use a chave de deslocamento liberada pelo Scheduler para decifrá-lo.

WHFOD  PHPRULD
Editor de Código — [SYS.03] core_reboot _×

A rotina core_reboot está causando estouro de pilha. Identifique o problema no código abaixo.

1def core_reboot(n): 2 if n == 1: return 1 3 return n + core_reboot(n) 4 5core_reboot(semente) 7
! RecursionError: maximum recursion depth exceeded (stack overflow)
✓ Patch aplicado — recursão convergente

Parte (a) — Por que core_reboot(n) nunca termina?

AO valor de n não é inteiro, causando erro de tipo na comparação.
BA chamada recursiva passa n sem decrementar — n nunca chega a 1, a pilha estoura.
CO caso base está faltando — a função não tem nenhuma condição de parada.
DPython não suporta recursão com adição — deveria usar um laço for.

Parte (b) — Com o bug corrigido, qual o valor que core_reboot retorna para a semente que você identificou no subsistema anterior?

💡 Use a Calculadora na área de trabalho se precisar fazer as contas.

🖩Calculadora _×
0
Logs do Sistema — /var/log/panic.log _×
[23:38:40] scheduler: 4 tarefas enfileiradas, conflito de prioridade detectado
[23:38:41] memória: módulo de cifra carregado = CIFRA_CESAR
[23:38:42] memória: chave = posição do O(n²) na ordem do scheduler
[23:38:43] memória: contar_letras(decifrado) → semente para io
[23:38:44] io: proteção de recursão DESATIVADA, semente vem da memória
[23:39:00] KERNEL PANIC — falha fatal: exceção não tratada
[23:39:01] entrando em modo de recuperação…
🗒Bloco de Notas — lembrete.txt _×
nota p/ mim:
- ordenar rotinas por Big-O
- posição de P na lista = chave
  (deslocamento da cifra de César)
- contar letras da mensagem
  decifrada = semente do núcleo
- a semente é o argumento
  de core_reboot(n)
Terminal — recovery@ufba-os _×
recovery@ufba-os:~$
🎓Consolidação Conceitual _×

O que cada subsistema ensina

Conceitos por trás dos desafios — use para o Vídeo 2 (consolidação pedagógica).

SYS.01 · Scheduler — Complexidade (Big-O). Mede como o número de operações cresce com a entrada. O(log n) cresce muito mais lentamente que O(n³). Fundamento de análise de algoritmos.
SYS.02 · Memória — Cifra de César. Criptografia por deslocamento circular no alfabeto. Marco histórico da criptografia clássica; conceito de chave e reversibilidade.
SYS.03 · I/O — Recursão e caso base. Toda função recursiva precisa de um passo que reduza o problema (n-1) e um caso base que pare a execução. Sem isso, pilha de chamadas estoura.

Encadeamento: Big-O → chave César → semente recursiva. Cada conceito alimenta o próximo.

aluno_ufba
modo de recuperação
Scheduler
Memória 🔒
I/O 🔒
Central de Ajuda
🎓 Consolidação
Logs do Sistema
🗒 Bloco de Notas
Terminal
🖩 Calculadora
Encerrar sessão
UFBA-OS v2.024 · recovery build
Desistir?
!
Tem certeza que quer encerrar a sessão de recuperação? O kernel será marcado como irrecuperável.
Falha do sistema
!

⊞ Início
🔊
⏱ meltdown 19:58
23:39
desistir
💀
MELTDOWN CRÍTICO
tempo esgotado · kernel destruído
[FAIL] scheduler ...... irrecuperável
[FAIL] memory ......... corrompida
[FAIL] io_subsystem ... offline
 
UFBA-OS v2.024 · falha catastrófica
todos os subsistemas perdidos
Sistema Reinicializado
kernel panic · recuperado · entrega salva
[ OK ] scheduler ...... restaurado
[ OK ] memory ......... restaurado
[ OK ] io_subsystem ... restaurado
 
[ OK ] reboot autorizado · entrega sincronizada
tempo gasto: --:-- · todos os módulos online