A Proucura do Boot Perfeito: 2 - Boot Loader: Grub
22 de Março de 2009, 0:00 - sem comentários aindaIntrodução - GRUB
GRUB vem de Grand Unified Boot Loader que em português significa grande carregador unificado de boot. O GRUB vem substituindo o LILO em diversas distribuições devido à várias vantagens em relação a este. Ele é capaz de carregar uma grande quantidade de sistemas operacionais como GNU/Linux, GNU/Hurd, DOS, Windows(9x, ME, NT, 2000, XP), IBM OS/2, FreeBSD, NetBSD, OpenBSD, SCO UnixWare e QNX. Outra grande vantagem é o suporte a vários sistemas de arquivos ext2, ext3, ReiserFS, FAT16, FAT32, NTFS, FFS, JFS, XFS, minix e etc. Por ser capaz de carregar imagens de boot e múltiplos módulos o GRUB é o único boot loader capaz de carregar o conjunto de servidores do GNU/Hurd. Esse gerenciador de boot permite também buscar uma imagem de kernel através da rede, por cabos seriais, suporta também hd’s IDE, SCSI, detecta toda a memória RAM disponível no sistema, tem interface gráfica com menu, interface de linha de comando e suporta acesso por terminais remotos.
O GRUB é um programa muito grande para caber no MBR (512 bytes), ele é dividido em duas ou três imagens, stage1, stage1.5 e stage2.
O stage1 fica no MBR a sua única função é carregar o stage1.5 ou uma parte do stage2 pois o stage1 não entende nenhum sistema de arquivos. O stage 1.5 é muito pequeno e fica nos primeiros bytes do disco logo após o MBR (esse espaço geralmente não é utilizado), esse é um estágio opcional e tem como função carregar o stage2. Por fim, o stage2, caso tenha sido carregado pelo stage1 carrega o restante de si e faz o resto dos procedimentos, mostra ou não o menu com os sistemas operacionais disponíveis, carrega na memória o núcleo do sistema operacional escolhido e passa o controle para este (ou passa o controle para outro carregador como no caso do Windows).
Dadas as devidas apresentações (Você X Grub), vamos ao que interessa, como o objetivo desta série é aperfeiçoar o boot (inicialização) do sistema, iremos ver as possibilidades de obter um ganho no processo entre o Grub e o carregamento do sistema operacional (Linux).
Assim que um kernel é selecionado no Grub, é iniciada uma varredura a procura de um disco, o profile, nada mais é que um mapeamento destas unidades de disco, basicamente diremos ao Grub aonde ele deve procurar estas unidades, poupando-lhe o tempo de efetuar uma varredura a procura deste disco.
Para isto, é necessário editar os parâmetros do kernel que iremos utilizar no próprio Grub, então é necessário reiniciar o sistema, e quando estiver sob o kernel desejado no Grub, pressione a tecla e para editar. Selecione a segunda linha, algo parecido com:
kernel /vmlinuz-2.6.26-1-686 root=/dev/sda2 ro
(Lembre-se, este valor pode mudar dependendo da sua versão do kernel e da partição onde encontra-se o seu sistema)
Nesta linha, iniciada por kernel, adicione o parâmetro profile ao fim. Exemplo:
kernel /vmlinuz-2.6.26-1-686 root=/dev/sda2 ro profile
Depois pressione: b para bootar (iniciar) o sistema.
Pronto! Agora Temos um Profile no Grub. Simples!
No próximo artigo da série “A procura do Boot Perfeito“, iremos conhecer o bootchart, um aplicativo que cria um relatório gráfico detalhado sobre os processos de inicialização do sistema, este que é de extrema utilidade para que possamos distinguir os processos que estão mais lentos no inicio do sistema operacional.
Referências:
Vala - Linguagem de Programação do GNOME
20 de Março de 2009, 0:00 - sem comentários aindaVala é uma nova linguagem de programação que pretende ser uma moderna linguagem com recursos para desenvolvedores GNOME sem impor quaisquer requisitos adicionais de tempo de execução (runtime) e sem utilizar uma ABI diferente em comparação com aplicações e bibliotecas escritos em C.
O Compilador Vala, chama-se: Valac, é um compilador que traduz o código em Vala para uma fonte em C. Ele usa o sistema para criar GObjects. classes e interfaces declaradas em Vala.
- Interfaces
- Propriedades
- Signals
- Foreach
- Expressões Lambda
- Referência de tipos para variáveis locais
- Genéricos
- Tipos não Nulos
- Gerenciamento de memória assistida
- Manipulação de Exceções
- Módulos (Plugins)
Vala é projetada para permitir o acesso a bibliotecas C existentes, especialmente GObject baseados em libs, sem a necessidade de “runtime bindings”. Tudo o que é necessário para utilizar uma biblioteca com Vala é uma API, contendo a classe e o método com declarações na sintaxe da linguagem. Vala possui experimentalmente bindings para Glib e GTK+. Está sendo projetada para gerar bindings para plataforma de desenvolvimento GNOME.
Usar classes e métodos de uma aplicação escrita em C na linguagem Vala não é difícil. Cabeçalhos de aplicações C podem acessar a API de GObject das bibliotecas da linguagem Vala.
IDE para Vala:
VAL (A) IDE é um ambiente de desenvolvimento integrado (IDE) para a linguagem de programação Vala.
Características:
- Coloração de Sintaxe de Vala
- Compilação de Projetos
- Plugins (Navegação de Jimbolos, Gestor de Tarefas)
Download:
Dependências:
Código Fonte:
Você pode baixar o Código fonte da IDE para Vala direto do SVN:
svn co http://valide.googlecode.com/svn/trunk/ valide
Ou Clicando aqui.
Licença: