You're the OS!
Os jogos salvos ficam apenas neste navegador.
Sobre o jogo
You're the OS! ("Você é o sistema operacional!") põe você no comando de um computador, não como usuário, mas como o próprio sistema operacional. No alto da tela ficam as CPUs; embaixo delas, uma lista crescente de processos ociosos, cada um com uma carinha que mostra como ele está. Todo processo quer tempo de CPU, e há sempre mais processos que CPUs, então o jogo inteiro é colocar e tirar processos dos processadores, dando a vez a cada um antes que ele fique com fome demais.
O processo que espera demais muda de cor e de humor, do amarelo satisfeito ao vermelho furioso, e se ninguém o atende o usuário perde a paciência e o mata. Com dez processos mortos o usuário reinicia a máquina: fim de jogo. A pontuação sobe enquanto os processos estão bem atendidos e cai a cada processo que o usuário precisa matar, então o objetivo é ficar no ar o máximo de tempo e com o mínimo de sofrimento.
E não é só escalonamento. Os processos em execução às vezes travam esperando entrada ou saída, e só você pode entregar os eventos de E/S pendentes. Eles também enchem a memória de páginas, e quando a RAM acaba as páginas novas vão para o disco, onde os processos não conseguem usá-las até você trazê-las de volta. Processos prioritários, marcados com uma coroa, passam fome mais depressa que os outros. Manter tudo isso em equilíbrio enquanto a carga aumenta é o jogo.
Pier-Luc Brault escreveu o jogo em Python com o pygame-ce e o lançou em 2023 como software livre, e continua a atualizá-lo. Sem uma linha de teoria, ele transforma ideias de livro de sistemas operacionais (escalonamento, inanição, E/S bloqueante e paginação) em algo que se sente na ponta dos dedos.
Jogando aqui
Clique em Play e espere o Python e o jogo carregarem na página (o download tem uns 25 MB, então a primeira partida demora alguns segundos para abrir). Se o carregador mostrar "Ready to start!", clique no jogo mais uma vez; depois escolha a dificuldade e aperte PLAY. O menu principal também tem um tutorial curto com imagens (HOW TO PLAY) e a lista de atalhos (HOTKEYS). O jogo é em inglês.
São cinco níveis de dificuldade, de Easy a Insane, além de um modo Custom em que você escolhe o número de CPUs, o número de processos, o tamanho da RAM, a lentidão das trocas com o disco e a frequência de processos novos, prioritários e bloqueantes. O jogo não guarda pontuações entre sessões: cada partida começa do zero.
Esta versão roda exatamente como o autor a escreveu. A única diferença está na entrega: o runtime de Python que o jogo normalmente carrega de um servidor de terceiros é servido por este site junto com o jogo.
Controles
| Entrada | Ação |
|---|---|
| Clique num processo ocioso | põe o processo numa CPU livre |
| Clique num processo em execução | tira o processo da CPU |
| Clique na barra de eventos de E/S, ou Espaço | entrega os eventos de E/S pendentes |
| Clique numa página de memória | move a página entre a RAM e o disco |
| Shift + clique numa página | move uma fileira inteira de páginas |
| 1 a 9, 0 | tira o processo da CPU 1 a 9, ou 10 |
| Shift + 1 a 6 | tira o processo da CPU 11 a 16 |
| S | ordena os processos (quando o botão Sort aparece) |
| Botão MENU | reinicia a partida ou volta ao menu principal (Esc fecha o menu) |
O jogo foi feito para mouse e teclado.
Dicas
Reveze, não estacione. O processo na CPU se recupera, mas todos os outros continuam passando fome enquanto isso. Tire os processos assim que voltarem a parecer contentes e dê a CPU ao mais desesperado.
Fique de olho nos processos bloqueados. Um processo esperando E/S desperdiça a CPU. Tire-o, entregue os eventos de E/S e ponha-o de volta depois.
Mantenha na RAM as páginas em uso. Páginas brancas estão em uso, as cinzas estão paradas. Quando a RAM enche, mande as paradas para o disco para caberem as ativas, e traga de volta logo as páginas de um processo que pisca.
Coroas primeiro. Processos prioritários passam pelos níveis de fome mais depressa, então atenda-os antes dos outros.
Créditos e licença
You're the OS! foi criado por Pier-Luc Brault e é software livre sob a GNU General Public License, versão 3 ou posterior. O ícone do jogo é uma versão modificada de uma imagem de Muhammat Sukirman (CC BY 3.0), os emojis vêm do OpenMoji (CC BY-SA 4.0), a foto da tela de Game Over é de Aleksandar Cvetanović (publicada no Pixabay em 2018 sob CC0) e as fontes VT323 (Peter Hull) e Victor Mono (Rune Bjørnerås) estão sob a SIL Open Font License. Ele roda no runtime do pygbag (MIT), com o CPython (licença PSF) e o pygame-ce (GNU LGPL 2.1). Os textos das licenças e o código-fonte completo desta build, incluindo o pygame-ce, estão nos links desta página.