13 de novembro de 2026
O backup que não era uma cópia
A Apollo 11 voou com dois sistemas de guiagem construídos sobre princípios diferentes, e precisou dos dois. O Ariane 5 voou com dois idênticos, e uma única falha parou ambos. Essa diferença tem nome, e o NoWayOS é construído para ficar do lado certo dela.
Nesta página
Todo mundo sabe que é bom ter um backup. Menos gente faz a pergunta incômoda que vem depois: um backup de quê, exatamente?
Cinco alarmes
Em 20 de julho de 1969, o módulo lunar da Apollo 11 estava a poucos minutos da superfície da Lua quando o seu computador de guiagem disparou um alarme sobre o qual a tripulação precisou perguntar ao controle da missão. Depois outro. Cinco ao todo, no trecho final da descida.
O computador estava sobrecarregado. O que ele fez em seguida é uma das grandes obras de engenharia dessa história: a cada vez, ele reiniciou, largou o trabalho que podia esperar e retomou na hora o trabalho que não podia. O pouso continuou.
Essa é a parte que todos contam. A parte que vale contar em seguida aconteceu no dia seguinte.
O segundo sistema
O módulo lunar levava um segundo sistema de guiagem, e ele não era uma cópia reserva do primeiro. Outra empresa o construiu, sobre outro princípio. O sistema principal mantinha a orientação com uma plataforma que girava livremente sobre cardãs. O segundo não tinha cardãs: os seus sensores eram parafusados diretamente na nave, e ele descobria onde ficava o alto fazendo contas.
Ele estava lá para levar a tripulação de volta à órbita se o sistema principal algum dia parasse. Durante o pouso, não foi chamado.
Então, na subida para acoplar ao módulo de comando, uma sequência de manobras levou a plataforma do sistema principal à única posição com que uma plataforma com cardãs não consegue lidar, e ele perdeu a sua referência de atitude. A tripulação passou para o segundo sistema para manter a nave estável, e acoplou.
O segundo sistema não poderia ter falhado do mesmo jeito. Ele não tinha a peça.
Dois iguais
Agora a outra história. Em 1996, o primeiro Ariane 5 decolou com duas unidades de referência inercial para lhe dizer para onde estava apontando: uma em operação, outra de prontidão. Eram idênticas, até no software.
Aos trinta e sete segundos, um número dentro desse software ficou grande demais para o espaço reservado a ele. A unidade de prontidão parou. A unidade em operação, rodando o mesmo código no mesmo voo, parou também. O relatório da comissão de inquérito é público, e é direto: não havia para o que mudar, porque o backup já tinha ido pelo mesmo caminho.
Duas cópias. Uma falha. Nada sobrou.
Como os engenheiros chamam isso
Uma falha que derruba um sistema e o seu reserva juntos é uma falha de causa comum. A defesa contra ela é a redundância diversa: um segundo sistema construído de forma diferente o bastante para que aquilo que para o primeiro não esteja no segundo.
O ônibus espacial voava assim. Quatro dos seus computadores de voo rodavam o software de uma empresa; o quinto rodava software escrito separadamente por outra. Quatro cópias protegem você de um computador que quebra. Não protegem de um programa que está errado, porque os quatro o estão rodando.
Isso não sai de graça. O primeiro lançamento do ônibus espacial foi cancelado quando o quinto computador e os outros quatro não conseguiram concordar sobre a hora. Dois projetos dão mais trabalho do que um, e é preciso fazer com que se encontrem.
Onde o NoWayOS entra
A maioria dos dispositivos dedicados roda hoje um de um número muito pequeno de sistemas operacionais de uso geral. Os backups deles também. Quando aparece um defeito em um motor de navegador, em uma área de trabalho ou em um kernel de dezenas de milhões de linhas, ou quando sai uma atualização ruim, ele aparece em todo lugar em que esse software roda, no mesmo dia.
Um dispositivo NoWayOS é diferente por dentro. O seu kernel é o seL4, cerca de 10.000 linhas. Tudo o que é nosso acima dele é escrito em Rust. Ele não tem motor de navegador, área de trabalho nem shell, então um defeito em um deles não está nele.
Isso quer dizer que o NoWayOS não precisa substituir o que você já opera para ser útil. Ele pode ficar ao lado: uma segunda forma de fazer uma tarefa essencial, construída sobre outro princípio.
O que ele não faz
A diversidade tem limites, e preferimos que você os ouça de nós.
Ela dá a um dispositivo NoWayOS falhas diferentes, não nenhuma. Ela não faz nada pelo que dois sistemas compartilham: a energia, a rede, os serviços por trás deles, ou um erro sobre o que a tarefa deveria ser. E algumas das partes de código aberto do NoWayOS também são usadas em outros softwares, e é por isso que cada imagem lista cada componente que contém, para que você possa ler o que ela tem em comum com o sistema ao lado.
O NoWayOS está em desenvolvimento, então este é um papel para o qual ele é projetado, não um papel que já tenha cumprido. A página de segurança diz em que ele se apoia.
Os engenheiros da Apollo não levaram um segundo sistema porque esperavam que o primeiro falhasse. Levaram porque não podiam provar que ele não falharia, e cuidaram para que aquilo que parasse o primeiro não encontrasse nada de familiar no segundo.