Você se lembrade quando percebeu que seu computador era mais que apenas um monitore um teclado? Que, entre o clique do mouse e a reprodução de um vídeo, havia alguma coisa que captava a sua intenção, a entendia e a tornava real? O que é essa coisa? São "gremlins"? Imagine que pudéssemos encolher, ficar do tamanho de um elétron e ser inseridos no clique de um mouse. Se você abrisse seu mouse, veria que ele é uma máquina realmente bem simples. Tem dois botões e um sistema de detecção de movimento e espaço. Talvez você tenha um mouse óptico que faz isso por meio de luzes e sensores, mas os mais antigos faziam isso com uma bola de borracha e alguns aros de plástico. O mesmo conceito. Quando você clica o botão do seu mouse, ele envia uma mensagem ao computador, com informações sobre sua posição. Quando o clique do seu mouse é recebido, ele é tratado pelo subsistema básico de entrada/saída. Esse subsistema age como os olhos, ouvidos, boca e mãos do computador. Basicamente, ele proporciona ao computador uma forma de interação com o ambiente. Mas ele também age como um amortecedor, que não deixa a CPU ficar sobrecarregada com distrações. Neste caso, o subsistema de E/S decide que o clique do seu mouse é muito importante, gerando uma interrupção na CPU. "Ei, CPU! Houve um clique aqui." A CPU, ou unidade central de processamento, é o cérebro do computador. Assim como seu cérebro não domina o seu corpo inteiro, a CPU não domina o computador inteiro, mas controla o espetáculo da mesma forma. E o trabalho da CPU, todo o trabalho dela, é buscar instruções na memória e executá-las. Então, enquanto você digita, digita, digita, talvez bem rápido, tipo, 60 palavras por minuto, a CPU busca e executa bilhões de instruções por segundo. Sim, bilhões a cada segundo: instruções para movimentar seu mouse pela tela, para mover o "widget" de relógio no seu computador, para tocar sua rádio online, para gerenciar os arquivos que você edita no disco rígido, e muito, muito mais. A CPU do seu computador é um baita multitarefas! "Mas, meu Deus! Lá vem um clique de mouse muito importante! Vamos parar tudo agora e cuidar disso!" Existem programas para tudo que a CPU faz. Um programa especial para o mouse, para o "widget" do relógio, para a rádio online, e para lidar com as letras enviadas pelo teclado. Cada programa foi originalmente escrito por um ser humano, em uma linguagem de programação legível para o ser humano, como Java, C++, ou Python. Mas programas humanos ocupam muito espaço e contêm muita informação desnecessária para um computador. Por isso, elas são compiladas, reduzidas e armazenadas em "bits" de números "1" e "0", na memória. A CPU percebe que precisa de instruções sobre como lidar com o clique do mouse. Então, ela procura o local do programa do mouse e envia uma solicitação ao subsistema de memória, para acessar as instruções nela armazenadas. Cada instrução no "driver" do mouse é devidamente procurada e executada. E não estamos nem perto do fim da história! Porque a CPU sabe que houve um clique no mouse quando o cursor estava sobre a imagem de um botão, na tela do monitor, e, por isso, a CPU pede à memória que o programa do monitor descubra que botão é aquele. Depois, a CPU pede à memória o programa para o botão, o que significa que a CPU precisa que o programa do monitor mostre novamente o vídeo associado ao botão, e lá vai. Digamos que existem muitos programas trabalhando, antes mesmo que você veja o botão na tela iluminar-se ao você clicar nele. Então, a simples tarefa de clicar em seu mouse significa visitar todos os componentes críticos da estrutura do seu computador: os periféricos, o sistema básico de entra/saída, a CPU, os programas, a memória e nenhum "gremlin".