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

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

[ Hits: 12.040 ]

 


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 - gamin

O guia do preguiçoso - comando eject

Leitura recomendada

Criando uma biblioteca multimídia no Ubuntu

Pacotes base para compilações no Conectiva

Alternando entre dois diretórios eficientemente

Para iniciantes que ainda precisam de um por quê migrar para o Linux

Catálogo de Apps Educativos para Linux

  

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