O que são os "elevators" (elevadores) incluídos no kernel? Pesquisei o assunto por conta de uma dica recorrente sobre o funcionamento do
SSD (
Solid State Disk) do
Acer Aspire One e tento aqui passar a vocês o que eu aprendi sobre eles (quem quiser e souber, pode me corrigir se achar necessário).
Um elevador não entrega seus passageiros fora de ordem, ou seja, pára no primeiro andar, no segundo e assim sucessivamente, para que as pessoas embarquem e desembarquem conforme os respectivos destinos. Se há três pessoas no elevador e uma vai ao 10º andar, outra ao 1º e a última ao 5º, é óbvio que, se o elevador parasse primeiro no 10º, depois no 1º e por último no 5º, consumiria mais tempo do que seguindo a ordem natural de parada (1º, 5º e 10º).
Essa analogia vale para os discos rígidos (HD), já que a leitura/gravação ordenada por setores é muito mais rápida do que a leitura pela ordem das requisições. Podemos dizer, então, que o "elevator" do Kernel estabelece uma ordem ideal para as requisições de leitura/gravação no disco.
E o que isso tem a ver com o SSD do Acer Aspire One e de outros netbooks? Um dos quatro tipos de "elevadores" do Kernel
Linux trabalha exatamente pela ordem "Primeiro a entrar, Primeiro a sair" ("First in, First out", cuja sigla é FIFO), desprezando trilhas de disco (posição dos dados no HD) e assim "casando" com a estrutura dos SSD, que, ao contrário dos discos rígidos mecânicos, não precisam de "ordenamento".
E se os SSD, assim como os discos virtuais (a dica também vale para quem tem Linux numa VM), não precisam de "ordenamento", o trabalho realizado nele é pura perda de tempo e desempenho, ou seja, em vez de ajudar, atrapalha.
E como podemos utilizar esse elevador "Primeiro a entrar, Primeiro a sair"? Simplesmente passando a escolha dele ao Grub.
No Linpus, como no Fedora, não temos o arquivo "menu.lst" e sim o arquivo "grub.conf", que deve ser editado com o comando:
sudo mousepad /boot/grub/grub.conf
E o que está assim:
default=0
timeout=0
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Linpus Linux RCD
rootnoverify (hd0,0)
kernel /boot/bzImage ro root=LABEL=linpus vga=0x311 splash=silent loglevel=1 console=tty1 quiet nolapic_timer
initrd /boot/initrd-splash.img
Fica assim:
default=0
timeout=0
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Linpus Linux RCD
rootnoverify (hd0,0)
kernel /boot/bzImage ro root=LABEL=linpus vga=0x311 splash=silent loglevel=1 console=tty1 quiet nolapic_timer elevator=noop
initrd /boot/initrd-splash.img
Em suma, acrescente "elevator=noop" à linha de boot do kernel (é uma linha só), logo após a última opção ("nolapic_timer").
É óbvio que, se a sua distro usa o arquivo "menu.lst", é ele que deve ser editado.
Encerrando, esclareço que uso a dica acima e meu Acer Aspire One não "congela" lendo e escrevendo no disco tanto quanto antes dela ser aplicada.
Agora cabe a você testar e ver se o desempenho do seu Acer Aspire One também melhora.