Simulador de Atualização do Sistema
Simule telas de atualização do Windows, macOS, Linux e Android. Tela cheia, clique para sair.
Selecionar tipo de sistema
Clique em qualquer lugar na tela para sair
O que é um Simulador de Atualização do Sistema?
O Simulador de Atualização do Sistema é uma ferramenta divertida que simula as telas de atualização de vários sistemas operacionais. Suporta Windows Update, atualização do macOS, apt upgrade do Linux e atualização do Android.
A ferramenta funciona completamente no navegador e não realiza atualizações reais. A exibição em tela cheia é realista, clique em qualquer lugar para sair com segurança. Perfeito para pregar amigos ou testar telas.
Um simulador de upgrade modela como níveis, custos, probabilidades ou recursos podem mudar em tentativas repetidas. Ele é útil para jogos, mecânicas de produto, balanceamento, aulas de probabilidade e estimativa de custo ou risco esperado. Simulações mostram tendências, mas não garantem o resultado de uma tentativa individual; o acaso pode desviar bastante no curto prazo. Para sistemas justos, taxas, regras de pity, limites, tratamento de falha e premissas devem ser documentados com clareza.Como Usar
Como usar
- Selecione o tipo de sistema a simular (Windows, macOS, Linux ou Android)
- Clique no botão 'Iniciar Simulação de Atualização' para começar
- A tela de atualização em tela cheia surge com barra de progresso e texto de status
- Clique em qualquer lugar para sair da simulação com segurança
Uso do Modo Tela Cheia
- Use o modo de tela cheia apenas em contextos seguros; a página é uma simulação visual e não altera o sistema operacional.
- Saia antes de deixar o dispositivo desacompanhado, caso outras pessoas possam confundir com uma atualização real.
Casos de uso
Princípio técnico
O simulador de atualização é uma sobreposição em tela cheia no navegador que reproduz a aparência visual das telas de atualização de SO usando três APIs principais do navegador: a Fullscreen API, transições CSS para animação de progresso e temporizadores JavaScript para agendamento de fases. Quando o usuário clica em 'Iniciar Simulação', document.documentElement.requestFullscreen() é chamado — essa API requer um gesto do usuário (clique ou tecla) como medida de segurança, não pode ser chamada automaticamente ao carregar a página e dispara uma notificação do navegador informando como sair da tela cheia.
A animação de progresso usa uma curva de suavização não linear em vez de um incremento linear. O valor de progresso P(t) no tempo t (onde t vai de 0 a 1 ao longo da duração total de 30 segundos) segue uma ease-in-out quadrática: P(t) = 2t² para t < 0,5 e P(t) = 1 − 2(1−t)² para t ≥ 0,5. Isso cria um início rápido (fase de download), um meio lento (fase de instalação) e um fim rápido (fase de configuração), que imita o comportamento de atualizadores reais de SO. A largura da barra de progresso é controlada por uma transição CSS na propriedade width com duração compatível com a taxa de ticks do setInterval (100 ms), e o valor suavizado é mapeado para uma porcentagem exibida na interface.
O agendamento de fases usa uma máquina de estados finita com callbacks encadeados por setTimeout. Para a simulação Windows, as fases fazem transição em 0%, 30%, 60% e 90% da duração total, cada uma disparando uma atualização de texto e, no caso do Windows, uma mensagem de reinicialização em 100%. As simulações macOS e Android usam um modelo mais simples de duas fases (preparando/instalando). A simulação Linux gera saída de terminal progressiva adicionando linhas condicionalmente com base no valor atual de progresso — cada nova linha de log do apt aparece em limiares específicos de progresso, criando a ilusão de um gerenciador de pacotes em tempo real.
Duas saídas de segurança garantem que o usuário sempre possa sair: um listener de clique na sobreposição chama document.exitFullscreen() e limpa todos os temporizadores; um listener de fullscreenchange detecta quando o usuário pressiona ESC (que sai da tela cheia sem envolvimento da página) e redefine todo o estado interno. O evento fullscreenchange é disparado no elemento que possui o estado de tela cheia, então escutar em document.documentElement captura tanto saídas programáticas quanto iniciadas pelo usuário. Toda a renderização é feita com HTML/CSS/JS — a página não faz chamadas de sistema, não grava arquivos e fechar a aba restaura completamente o estado anterior da viewport.
- Segurança da Fullscreen API: requestFullscreen() requer um gesto do usuário (clique/tecla) conforme o WHATWG Fullscreen Standard §1.2 — o navegador exibe uma sobreposição 'Pressione ESC para sair' que a página não pode suprimir, garantindo que o usuário sempre saiba que está em modo de tela cheia.
- Suavização de progresso: A curva de ease-in-out quadrática P(t) = 2t² (t < 0,5) / 1−2(1−t)² (t ≥ 0,5) produz um ritmo rápido-lento-rápido que imita atualizadores reais de SO — a suavização é calculada em JavaScript e aplicada como porcentagem de largura CSS, desacoplando a lógica de animação da renderização.
- Máquina de estados de fases: Uma cadeia de setTimeout avança por limiares de fases predefinidos (Windows: 0% → 30% → 60% → 90% → 100%) com cada fase atualizando a mensagem exibida — a cadeia é limpa na saída para evitar callbacks obsoletos após a sobreposição ser dispensada.
- Simulação de terminal Linux: A saída progressiva do apt é gerada renderizando linhas condicionalmente em limiares específicos de progresso (10%, 25%, 40%, 55%, 70%, 85%, 100%) — cada limiar adiciona nomes de pacotes e contagens de bytes realistas, e a linha 'Fetched X MB in Ys' aparece apenas quando o total é alcançado.
- Saída de segurança: Um listener de clique na sobreposição chama exitFullscreen() e limpa todos os temporizadores; um listener de fullscreenchange em document.documentElement detecta saídas iniciadas por ESC e redefine o estado — ambos os caminhos garantem limpeza de forma independente.
- Renderização específica por plataforma: Cada variante de SO usa CSS distinto: Windows (azul #0078D4, fonte Segoe UI, spinner circular), macOS (fundo preto, fonte San Francisco, SVG do logotipo Apple, temporizador regressivo), Linux (terminal escuro com fonte monoespaçada e controles de janela vermelho/amarelo/verde), Android (verde Material Design #4CAF50, ícone SVG do robô).
- Limpeza de temporizadores: Todos os handles de setInterval e setTimeout são armazenados em refs e limpos tanto na função de stop quanto no callback de cleanup do useEffect — isso previne vazamentos de memória e atualizações de estado obsoletas se o componente for desmontado durante uma simulação ativa.
Exemplos
Tela de Atualização do Windows
Atualizando o Windows
Seu PC está instalando atualizações. Isso pode demorar um pouco.
Não desligue o PC.
Fases: Baixando atualizações -> Instalando atualizações -> Configurando ajustes -> Finalizando atualizações
Paleta: azul clássico do Windows (#0078D4)
Elementos: anel circular de progresso giratório + porcentagem + texto de statusTela de Atualização do macOS
Preparando para instalar...
Cerca de 25 minutos restantes
Fundo: preto puro + ícone da marca Apple
Fonte: San Francisco
Fases: Preparando para instalar -> Instalando macOS
Barra de progresso: barra fina centralizada (#BBBBBB)Terminal apt upgrade do Linux
$ sudo apt upgrade
Reading package lists... Done
Analyzing dependency tree of packages... Done
Get:1 archive.ubuntu.com noble-updates/main amd64 linux-image 6.8.0-45 [13.2 MB]
Fetched 168 MB in 14s (12.0 MB/s)
Preparing to unpack .../linux-image-6.8.0-45.deb ...
Unpacking linux-image (6.8.0-45) ...
System upgrade complete, restart required.Perguntas frequentes
Isso realmente atualiza meu sistema?
Não. Apenas mostra uma tela falsa de atualização no navegador. Nada no seu sistema operacional muda. Clique em qualquer lugar ou pressione Esc para sair.
Quais telas de atualização de SO são suportadas?
Opções típicas incluem o Windows Update (a tela com círculos giratórios 'Trabalhando em atualizações / Não desligue o computador'), atualização de sistema do macOS, progresso do 'apt upgrade' do Linux e atualização do sistema Android. Cada uma imita de perto a interface real.
Como saio da tela?
Clique em qualquer lugar da página ou pressione Esc. O simulador não trava seu computador — feche a aba ou troque de janela quando quiser.
Por que eu usaria uma tela falsa de atualização?
Usos comuns incluem pegadinhas (deixar rodando no notebook logado de um colega enquanto você vai pegar um café), material de preenchimento para um tutorial ou esquete de tecnologia e conteúdo decorativo para uma live ou um totem. Também é útil para tirar print de uma tela de atualização reconhecível em documentações sobre atualizações reais.
A porcentagem realmente progride?
Sim. A tela anima uma porcentagem que sobe lentamente, no mesmo ritmo de uma atualização real do SO para que a pegadinha continue convincente por alguns minutos. O ritmo exato depende do tema de SO escolhido.
Posso rodar em tela cheia?
Sim. Clique no botão de tela cheia ou pressione F11. Em alguns navegadores você pode precisar permitir a permissão de tela cheia para a página uma vez. A tela cheia é o que torna a pegadinha realmente convincente.
É seguro deixar rodando?
Tecnicamente é seguro — nada está sendo alterado. Tenha cuidado socialmente: alguém pode forçar um reboot, perder trabalho não salvo ou abrir um chamado para o TI se a brincadeira passar do ponto. Use apenas no seu próprio dispositivo ou com permissão clara do dono.
Ferramentas relacionadas
反应速度测试
在线反应速度测试工具,测试从看到信号到点击的反应时间,记录最佳成绩和平均值,挑战你的极限。
手速测试
在线手速测试工具,测试你在限定时间内的点击速度,支持5秒、10秒、30秒等多种模式,实时统计CPS点击速度,挑战你的极限手速。
抛硬币工具
在线抛硬币工具,模拟真实抛硬币效果,随机生成正面或反面。支持连续抛掷、统计结果,适合做决策、玩游戏等场景。
见缝插针小游戏
在线版见缝插针小游戏,把针射入旋转的圆盘,避免针与针碰撞。共 10 关,速度逐步加快,挑战极限手速与判断力,无需下载即开即玩。
电脑死机模拟器
在线电脑死机模拟器,模拟Windows蓝屏、macOS内核恐慌、Linux崩溃和Android无响应画面。支持全屏显示,点击退出,适合恶搞朋友或测试显示器。
快速计算能力测试
在线快速计算能力测试工具,测试你的口算速度和准确率。支持加减乘除四则运算,可选难度和题目数量,实时计时统计。
