Ao instalar uma distribuição Linux é bem provável que você veja uma tela chamada “GNU GRUB” ou que ao buscar algumas configurações no sistema, você tenha se deparado com algo chamado systemd.

Essas duas ferramentas, são usadas por nós praticamente todos os dias e muitas vezes nem nos damos conta disso. Até porque, provavelmente, nós não temos o conhecimento sobre as funções que elas nos trazem.

No artigo de hoje, vamos falar um pouco sobre como funcionam o GRUB e o SystemD, as funções que eles desempenham em nossas máquinas e porque eles são tão importantes. Sendo assim, prepare um cafezinho e quem sabe um caderninho para anotações.

O que é esse tal de GNU GRUB?

O GNU GRUB (ou apenas GRUB como é comumente chamado), é um bootloader (gerenciador de inicialização em português) utilizado pelo projeto GNU. Não irei falar do projeto GNU nesse post, mas caso queira saber mais, temos um artigo super completo onde falamos sobre esse tema.

GRUB é uma sigla para: GRand Unified Bootloader, é utilizado por diversas distribuições, ele atualmente é o gerenciador de boot padrão, porém, não é o único disponível. Uma vez que  o próprio Kernel Linux é capaz de dar boot na máquina, e distros como o Pop!_OS que utilizam o SystemD Boot.

O projeto iniciado por Erich Boleyn no ano de 1995 atualmente se encontra em sua versão 2.04, sendo chamado de GRUB2 em alguns projetos. Seu desenvolvimento continua ativo até os dias atuais, o projeto se encontra sob a licença GPL v3.

O que é um bootloader?

Como dito acima, o GRUB é um bootloader, mas provavelmente você não saiba o que ele seja. Um bootloader é um software que permite a inicialização do sistema operacional.

Ao ligar o computador, a BIOS irá direcionar o boot para uma partição MBR ou EFI, onde se encontra o bootloader e a partir dele, o sistema operacional que será utilizado pelo usuário irá iniciar.

Caso o usuário possua mais de um sistema operacional no computador, o bootloader perguntará ao usuário qual o sistema operacional a ser utilizado e a partir dessa resposta,  irá direcionar o usuário ao sistema escolhido.

Como funciona o GRUB?

Após a BIOS direcionar a pasta /boot do Linux, o GRUB irá mostrar uma pequena lista, que geralmente contém uma ou duas versões do Kernel, cada qual com acesso a seu recovery mode, uma aplicação para teste de memória RAM (memtest) e caso a máquina esteja em dual boot, uma opção para acessar outro sistema operacional.

O menu do GRUB possui um tempo limite para inicializar o sistema operacional pré-definido (geralmente a primeira opção), sem intervenção do usuário. Para selecionar outra opção, basta navegar com as teclas de seta e pressionar “Enter” para selecionar a opção desejada.

001 GRUB Tela

Customizar o GRUB

É possível alterar o tempo limite, a ordem das opções e até mesmo o nome das entradas existentes no GRUB através de um aplicativo chamado GRUB customizer. Temos um artigo completo falando sobre essa aplicação, além de um vídeo mostrando algumas das  configurações.

Recuperar o GRUB

É bastante comum que ao instalarmos o Windows ou até mesmo outra distribuição Linux “por cima” da que estamos utilizando, muito provavelmente perderemos o acesso ao GRUB e o sistema recém instalado é que irá iniciar automaticamente.

Ao invés de reinstalar o sistema operacional que você estava utilizando anteriormente novamente, saiba que é possível recuperar o GRUB que já está instalado. Temos um artigo no blog falando mais sobre isso.

Caso você queira saber mais sobre o que é o GRUB, temos um vídeo onde falamos um pouco mais sobre ele, confira aqui embaixo:

Systemd, um bom iniciador

O systemd é um init system (sistema de inicialização em português), que é responsável pelo funcionamento do computador, porém, antes de falarmos exclusivamente sobre o systemd, vamos falar um pouco sobre o que são sistemas de inicialização.

O que é um Init System?

O init system, é o primeiro processo iniciado pelo sistema após a inicialização do kernel, já que possui o ID de processo (PID) 1 no sistema. Ele se mantém ativo em background até o momento em que o computador é desligado.

Um init system tem como principal função iniciar os daemons, processos em segundo plano e serviços necessários para que o sistema operacional funcione. Dentre os processos, podemos citar o CUPS, daemons de rede, entre outros.

Embora o systemd seja o init system mais utilizado hoje em dia, existem algumas alternativas para ele, já que vários usuários não gostam de utilizá-lo. Dentre eles, os mais populares são SysV e Upstart.

Como surgiu o systemd

Os responsáveis pela criação do systemd foram os engenheiros de software da Red Hat Lennart Poettering e Kay Sievers, juntamente com vários especialistas. Ele foi desenvolvido para se adaptar à evolução tecnológica, fazendo com que seja utilizado por tempo indeterminado.

Com seu desenvolvimento iniciado no ano de 2010, ele foi utilizado em maio de 2011 como init system padrão do Fedora 15 “Lovelock” e alguns anos depois foi adotado em outros projetos como Debian, Ubuntu e Arch Linux.

Como funciona o systemd?

O systemd utiliza unidades de socket, que são arquivos de configuração que codificam as informações relacionadas à comunicação entre processos (Inter Process Communication – IPC) para soquetes de rede ou arquivos FIFO.

Dessa forma, todos os daemons requisitados no processo podem ser carregados simultaneamente, resultando na inicialização rápida do sistema. 

Em comparação, o SysV carregava seus serviços um de cada vez, utilizando shell scripts, que além de torná-lo lento, também o deixava sujeito a alguns problemas, já que, caso algo não iniciasse, o usuário deveria iniciá-lo manualmente.

Embora possa parecer um pouco bobo, pense em todos os dispositivos que conectamos em nossas máquinas. O uso do SysV poderia causar alguns erros recorrentes.

Caso você queira saber um pouco mais sobre o systemd, temos um vídeo falando sobre o assunto:

Considerações finais

Espero que após essa leitura você tenha conseguido entender um pouco mais sobre o que são esses dois termos com os quais nos deparamos algumas vezes. 

Você tem mais alguma sugestão de termo para enviar? Qual seria? Deixe pra gente nos comentários e até a próxima notícia, dica ou tutorial!


Newsletter Diolinux
Talvez Você Também Goste
O Linus que está ajudando a mudar o Linux
Continue lendo

O Linus que está ajudando a mudar o Linux

Após o lançamento do Daily Driver Challenge, Linus Sebastian do canal LTT acabou enfrentando problemas de um usuário iniciante no sistema do pinguim e diversos projetos agora parecem dispostos a solucioná-los.