Uma introdução aos sistemas de inicialização: BSD x System V

Publicado por Talvanes Ferreira de Sousa em 28/02/2011

[ Hits: 11.852 ]

 


Uma introdução aos sistemas de inicialização: BSD x System V



Se vocês ainda não repararam, os sistemas operacionais iniciam seu carregamento sempre pelo núcleo de sistema, ou kernel, o qual, por sua vez, cuida da tarefa de inicializar e administrar os dispositivos que serão montados e em que ordem.

Para isso ele utiliza módulos (para sistemas operacionais baseados em UNIX - Linux, BSDs, MINIX, etc.) ou drivers (para Windows e DOS) a fim de que seja possível qualquer diálogo que o sistema operacional precise ter com o hardware instalado no computador do usuário, ao mesmo tempo informando pela tela do monitor todos os passos do processo.

É justamente nesse momento que entram os scripts de inicialização, arquivos-texto contendo código executável e que reúnem a "receita de bolo" para que o sistema operacional prepare toda a interface de usuário desde o momento em que o mesmo pressiona o botão liga/desliga (POWER) do gabinete, fora o software da BIOS e o gerenciador de inicialização (LILO, GRUB, syslinux, yaboot - comum em PowerPCs etc).

No mesmo processo, os daemons (processos de sistema) também são inicializados, logo após os dispositivos de hardware e o carregamento dos módulos necessários.

Assim, entram em cena dois sistemas de inicialização muito comuns em distribuições de Linux: BSD-like e System V, os quais serão abordados a seguir em maiores detalhes.

Histórico: BSD

O sistema BSD-like veio juntamente com o antigo BSD 4.x, que, por sua vez, deu origem aos sistemas operacionais modernos FreeBSD, OpenBSD, NetBSD e seus descendentes. Tal sistema de inicialização se caracteriza por apresentar sempre um arquivo central de configuração chamado rc.conf (/etc/rc.conf), o qual permite configurar facilmente todos os parâmetros importantes de sistema tais como os processos que se iniciam com o sistema, os módulos a serem carregados, inicialização das interfaces de rede, fuso horário, mapa de teclado, idioma, entre outros.

Além disso, faz-se presente um diretório chamado rc.d (/etc/rc.d/), que agrupa todos os daemons. Os runlevels (níveis de execução) e o firewall (se presente) são representados apenas como scripts e se localizam diretamente em /etc, o diretório dos arquivos de configuração.

Note que os arquivos anteriormente citados, sem exceção, sempre começam por "rc.". Alguns exemplos de distribuições Linux que utilizam esse método são o CRUX, o Archlinux (derivado diretamente deste último, mas uma distro independente) e o Gentoo.

Histórico: System V

Já o System V (leia-se: "System Cinco"), que remonta desde o surgimento de um sistema operacional Unix-like de mesmo nome, emprega basicamente o conceito de runlevels. Um diretório chamado init.d (/etc/init.d) concentra os daemons, da mesma forma que o diretório rc.d do método BSD-like, porém, a diferença é que cada um dos runlevels tem o seu próprio diretório, ou seja, são agrupamentos de scripts que ditam as regras sobre o que será realizado por nível de execução, ao contrário do projeto de scripts simples do outro sistema.

Com certeza, a grande maioria das distros Linux implementa esse método. São elas: Debian, Red Hat, Slackware e todos os seus derivados, além de uma distribuição americana chamada Lunar Linux.

Exceção: GoboLinux

Ah, ainda existe um terceiro sistema de inicialização, que foi criado pela equipe do GoboLinux: é o BootScripts, que, segundo o site oficial do projeto, é o mais simples que existe, pois baseia-se apenas em duas partes: Init (inicializa um componente) e Done (conclui, na mesma hora, aquele componente já inicializado).

Comparações: pontos comuns e diferenças

Assim, posso dizer que ambos os sistemas de inicialização (BSD-like e System V) cumprem muito bem o seu papel, pois permitem que o Linux dos usuários que de fato o utilizam possa ser carregado, mas eu digo que, do meu ponto de vista, o método BSD-like é o meu preferido, pois, devido a sua simplicidade estrutural, torna-se muito mais fácil mantê-los, especialmente quando se for criar uma distro Linux nova.

Contudo, o System V, mesmo que seja mais complexo por conta dos muitos diretórios que possui, é o que se mostra mais flexível, pois permite maior diversidade de scripts por runlevel, só que uma alteração frequentemente exige esforço adicional bem maior.

Referências

MUHAMMAD, Hisham; DETSCH, André. The Unix tree rethought: an introduction to Gobolinux. O artigo que apresentou o Gobolinux ao mundo.

Outras dicas deste autor

O guia do preguiçoso - comando eject

O guia do preguiçoso - gamin

Leitura recomendada

Configurando Arquivos de LOG para Preservar Informações do Journal no CentOS 7 e Red Hat 7

Seleção de vídeos: licença Creative Commons, Lula no FISL, Maddog e mais

Instalação fácil do PHP com Oracle no Linux

Análise de desempenho com Iperf

Slackware 11 (current) com KDE e Hald

  

Comentários
[1] Comentário enviado por premia em 02/03/2011 - 14:27h

Voce sabe como fixar a ppp no fedora, já que no ifcfg nao adianta?
Desculpe errei o topico!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts