Mostrando postagens com marcador kernel. Mostrar todas as postagens
Mostrando postagens com marcador kernel. Mostrar todas as postagens

quarta-feira, 11 de abril de 2012

As novidades do Linux 3.3

No último dia 19 (ainda dia 18 nos EUA), Linus Torvalds apresentou ao mundo a aguardada versão 3.3 de seu kernel livre. O primeiro kernel do ano mantém o codinome que já dura algumas versões, Saber-toothed Squirrel (esquilo dentes-de-sabre) e levou 74 dias para ficar pronto (contados a partir do lançamento da versão 3.2). As alterações nesse tempo foram muitas: os mais de 10.000 commits resultaram, pela primeira vez, num total superior a 15 milhões de linhas de código (viva!) distribuídas em 38.082 arquivos.
 

Principal novidade: Android

 O que mais chama a atenção no Linux 3.3, no entanto, está fora das tradicionais arenas de servidores e desktops: a reincorporação de partes do código do Android após alguns anos de separação. Se você tem como objetivo criar um mod para dispositivos equipados com Android, esta nova versão do kernel certamente será de grande ajuda — aguarde também as próximas versões!
 

Demais novidades

No entanto, o Android não é a única novidade significativa. Na área de rede, o Linux 3.3 traz avanços interessantes, como o suporte a teaming de interfaces, o combate ao bufferbloat, limitações de rede pelo subsistema cgroups e a inclusão do projeto Open vSwitch. A área de armazenamento também traz novidades no Btrfs e no Ext4.
 

Teaming de interfaces de rede

Quem necessita de alta disponibilidade ou tolerância a falhas na infraestrutura de rede certamente utiliza o módulo bonding do kernel Linux. No entanto, os desenvolvedores do kernel estavam descontentes com a manipulação, o gerenciamento e o desempenho desse recurso. Por isso, criaram o teaming (algo como "criação de equipes") de interface de redes, já anunciado como "um substituto para o bonding rápido, escalável, limpo e controlado pelo espaço de usuário". Isto significa que a criação e manipulação de agrupamentos (teams) de interfaces de rede passará a ser realizado pelo utilitário ip (do pacote iproute2), da seguinte forma:

  ip link add link [ MAC ] [ NAME ] type team
 
Além do ip, há uma nova biblioteca chamada libteam para interação com o espaço de usuário.
 

Bufferbloat, a ameaça

O fenômeno conhecido como bufferbloat (que pode ser entendido como "excesso de buffers") vem ganhando atenção da mídia técnica em decorrência de seus efeitos altamente maléficos para todos os sistemas conectados em rede. A principal consequência do fenômeno é a enorme latência no tráfego de pacotes de redes pelos mais diversos tipos de aparelhos, desde sistemas operacionais de desktops até os servidores, passando por todos os roteadores no meio do caminho, estejam eles equipados com Linux ou não.

O renomado programador Jim Gettys chegou a montar um vídeo demonstrativo do bufferbloat para explicar a todos a gravidade do problema.

O Linux 3.3, por sua vez, também entrou de cabeça nessa briga com a inclusão dos byte queue limits (limites de filas de bytes). Com eles, torna-se possível limitar o total de bytes que o sistema inclui nos buffers dos dispositivos de rede, o que, por sua vez, permite que pacotes de maior prioridade "furem a fila" e sejam encaminhados ao dispositivo antes dos demais pacotes. Este é um primeiro passo para alcançar um melhor uso dos buffers de rede sem prejudicar a qualidade (e as diferenças!) dos serviços de rede utilizados.

Outro passo significativo é a definição de prioridades de rede por processo, também incluída no kernel 3.3. O subsistema cgroups passa agora a contar com um novo recurso: prioridade de rede. Desta forma, é possível determinar, para cada processo ou grupo de processos, a prioridade dos pacotes que ele envia pela rede. Da mesma forma, é possível definir um tamanho máximo (em bytes) dos buffers TCP para cada cgroup.

Em conjunto, esses recursos permitem determinar que certos serviços de rede terão acesso preferencial à rede, tanto em termos de throughput quanto de latência.

Íntegra em IBM developerWorks
Leia Mais ►

quarta-feira, 4 de abril de 2012

Udev e Systemd vão se unir

Kay Sievers anunciou que os projetos udev e systemd estarão unindo seus códigos em uma única árvore. "Hoje, o 'init' precisa ser totalmente hotplug-capable; gerenciamento  de dispositivos do udev e conhecimento sobre ciclos de vida de dispositivos são uma parte integral do systemd e não uma lógica isolada. Por isso, e para minimizar nosso trabalho administrativo, bem como para minimizar duplicação de código, e para resolver dependências cíclicas de build no S.O., decidimos unir os dois projetos". O que os desenvolvedores não farão é remover a habilidade de compilar e executar o udev num sistema que não esteja usando systemd.

Em LWN via NotíciasLinux
Leia Mais ►

sexta-feira, 13 de janeiro de 2012

As novidades do Linux 3.2

O ano de 2012 começou com uma novidade interessante, apesar de já esperada: Linus Torvalds lançou, no dia 4 de janeiro, a versão 3.2 do kernel Linux (código-fonte aqui). Com o codinome Saber-toothed Squirrel, "esquilo dentes-de-sabre", esta versão enfrentou 73 dias de desenvolvimento, durante os quais recebeu 11.881 commits até alcançar 14.998.651 linhas de código distribuídas em 37.617 arquivos (confira uma tabela comparativa no The H Open Source).

Principais novidades

As novidades mais importantes do Linux 3.2 abrangem as áreas de redes TCP (otimização do algoritmo de recuperação após falhas de entrega), gerenciamento de memória (menor sobrecarga do sistema de arquivos no writeback), sistemas de arquivos Ext4 (blocos de até 1 MB) e Btrfs (melhorias na verificação de erros), controle de banda no escalonador de processos CFS e o suporte — ainda experimental — a thin provisioning e snapshots recursivos no subsistema device-mapper.

Íntegra em IBM developerWorks
Leia Mais ►

terça-feira, 1 de novembro de 2011

A adição de drivers na área de avaliação para o Kernel Linux 3.2 esta enorme

Linus Torvalds esta preocupado pois o Linux 3.2 pode ficar de um tamanho preocupante devido ao atraso no lançamento do Linux 3.1. Os pedidos de adição (merge) estão começando a aparecer para o Linux 3.2 e a adição dos drivers que estão em avaliação (staging) sozinho trazem centenas de milhares de linhas de código.

Greg Kroah-Hartman enviou "um enorme pacote de adições de drivers em avaliação para o 3.2" esta manhã para o Linus. Greg escreveu, "existem muitos patches aqui, e o diff é bastante impressionante." Existem cerca de 103,718 linhas de código novo, porém cerca de 230,262 linhas de código foram removidos da árvore. Assim, enquanto ainda há muito código novo, atualmente houve um decréscimo no número total de linhas de código.

As mudanças são atribuídas a diversos drivers sendo retirado da área de avaliação do Kernel do Linux. O driver "ath6kl", que é o driver aberto para a série de chipsets wireless Atheros AR600x, foi substituído por um driver melhor na árvore wireless do Kernel. O driver para as placas Broadcom WiFi também saiu da área de avaliação. O código central do barramento Microsoft's HyperV também esta se preparando para sair.

Íntegra em Junta Dados.
Leia Mais ►

Postagens populares