sexta-feira, 17 de agosto de 2012

Muito prazer sou o Kernel 3.5



Após um trabalhinho papai Linus Torvalds e seus colegas desenvolvedores completaram e agora disponibilizaram a versão final do kernel Linux 3.5. Comum desses lançamentos são as diversas correções e melhorias de desempenho realizadas no código do sistema operacional. Desta vez as novidades vão além de novos acréscimos em suporte e trazem uma série de tecnologias que já eram ansiosamente aguardadas.


Gráficos

Diversos drivers gráficos no kernel agorasuportam o framework Prime. Essa tecnologia foi desenvolvida para melhorar o suporte a hardware gráfico que pode ser ligado e desligado durante a execução -- como monitores DisplayLink e tecnologias de GPUs híbridas que são encontradas hoje em muitos computadores portáteis. O suporte ao Prime no X Server, que foi integrado recentemente como uma prévia no X Server 1.13, se baseou nesses recursos do kernel; a versão 1.13 do X Server deve ser lançada em Setembro. Como resultado, diversas distribuições que serão lançadas no segundo semestre vão oferecer um melhor suporte a monitores USB e soluções gráficas híbridas, como a tecnologia Optimus da NVIDIA; os desenvolvedores ainda tem uma vasta lista de afazeres no que diz respeito a hardware gráfico híbrido.

Mudanças na forma em que o driver gráfico Radeon armazena dados na memória de vídeo resultarão no melhor desempenho do Linux 3.5 de placas com as GPUs que abrangem as séries R600 até a R900 (Radeon HD 2400 até a 7670). Desenvolvedores do kernel também melhoraram significativamente o suporte a transporte de áudio através do HDMI nas GPUs Radeon mais recentes, assim a maioria das GPUs Northern Islands (modelos da série Radeon 6000) são agora suportados.

O driver nouveau presente no kernel 3.5 já pode utilizar a aceleração de hardware nos chips Kepler, que são encontrados em muitos dos modelos da mais recente série 600 da GeForce. Até o momento, esse suporte requer a extração de umarquivo de firmware que deve ser extraído do driver proprietário da NVIDIA.

Monitoramento de desempenho

Após anos de desenvolvimento, dúzias de tentativas interrompidas e algumas consideráveis reestruturações, o código para o uprobes (userspace probes) foi finalmente integrado ao kernel. Isso permite que o kernel insira pontos de parada (breakpoints) no código de software executado no userspace, embora ele só possa ser usado atualmente através do subsistema de eventos perf do kernel. Ele permite que software de rastreamento de processos que faz uso dele -- como o componente perf do kernel e a versão 1.8 do systemtap -- acrescentem tracepoint para software em userspace, e assim monitorem o comportamento de execução do kernel e dos programas ao mesmo tempo.

Até o momento, a ferramenta perf podia apenas obersar processos dentro do kernel, enquanto o systemtap necessitava do utrace, que nunca encontrou lugar no kernel oficial, para monitorar software no userspace. O uprobes é em si uma derivação do utrace, apesar de terem tomado caminhos de desenvolvimento muito distintos. Instruções para usar o uprobes na prática podem ser encontradas na submissão de código da ferramenta. Mais informações podem ser encontradas em um artigo na LWN.net, que explica que apesar de novas opções analíticas, o kernel nunca foi capaz de oferecer os recursos necessário para criar uma solução de monitoramento comparável ao dtrace do Solaris.

Arquitetura e infraestrutura
O Linux 3.5 eliminou o causador da mais recente falha do segundo extra, que afetou muitos sistemas ainda no começo desse mês. Outro grande aprimoramento, desenvolvido por Eric W. Biederman, chamado de "User namespace enhancements" torna possível uma separação mais límpida de IDs de usuários e grupos entre host e container. Como resultado, usuários que possuem privilégios root em um container não terão mais, por exemplo, acesso completo a todos os arquivos nos direitos /proc/ e /sys/. Isso antes permitia que usuários root dentro de um container pudessem influenciar o comportamento de todo o sistema.

O mecanismo de filtros seccomp agora permite que programas sejam sujeitos a filtros (usando a sintaxe Berkeley Packet Filter) que regulam quais chamadas de sistema ele pode usar. Isso pode ser útil para fornecer uma camada extra de segurança em cenários de virtualização e soluções de sandbox. Uma área em que essa solução já é usada é em navegadores web que precisam executar código não-confiável. A versão do Chrome presente no Ubuntu 12.04 LTS já usa o seccomp para fornecer segurança adicional na execução do plugin Flash. Mais informações sobre essa ferramenta podem ser encontradas na sua documentação oficial e na LWN.net.
Armazenamento

O código MD pode agora remodelar RAID 10; como resutlado, o número de dispositivos de armazenamento em tal RAID pode agora ser modificado. Juntamente com a software de infraestrutura-alvo do Linux-Iscsi.org (LIO), o novo módulo de trama FireWire SBP-2 permite que o Linux 3.5 exporte dispositivos locais de armazenamento através do FireWire para para outros sistemas possam montá-los como um dispositivo FireWire comum. Muitos sistemas da Apple já oferecem esse "FireWire target disk mode" há algum tempo.
Sistemas de arquivos

Os desenvolvedores realizaram algumas mudanças na ainda experimental manipulação de writeback do sistema de arquivos Btrfs; no email para o seu principal pedido de agregação de código para o Linux 3.5, Chris Mason escreveu que as mudanças foram desenvolvidas para prevenir picos de latência que ocorriam ocasionalmente durante a escrita de metadados. Ext4 pode agora acrescentar checksums CRC32 para a maior parte de seus metadados e usá-los para revelar corrupções; no momento, esse recurso só pode ser usado com uma versão para desenvolvedores das ferramentas E2fsprogs.
Redes

O subsistema de redes agora inclui os agendadores de pacote "Codel" e "Fair Queue Codel AQM"; ele foram desenvolvidos para ajudar a evitar o problema de buffer bloat. Um desenvolvedor do Google também acrescentou um recurso de "Early Retransmit" (ER) para a coleçaõ TCP que pode acelerar recuperação de conexão quando pacotes são perdidos, da mesma forma como se vê descrito no documento RFC 5827.

O driver para teaming que foi integrado no Linux 3.3 agora oferece um recurso de balanceamento de carga. o driver R8169 para chips de Ethernet Gigabit da Realtek pode agora comunicar-se com chips RTL8402 e RTL8411. O driver E1000e foi estendido para suportar o i217 PHY, que deve trabalhar com o Lynx Point Platform Controller Hub (PCH) da Intel; esses devem trabalhar em conjunto com os processadores Haswell da Intel, que devem ser lançados comercialmente em 2013.
Drivers

O Linux 3.5 agora suporta a placa de som Xonar DGX da Asus. O driver HD-audio agora suporta o recurso Creative SoundCore3D. Diversas mudanças foram realizadas no driver de plataforma para laptops Sony, para melhorar o suporte aos novos dispositivos da fabricante. Essas mudanças vão, por exemplo, permitir que o driver ative a luz de fundo do teclado nos modelos Vaio SA/SB/SC e CA/CB. Drivers para o Management Engine Interface (MEI) usados em placas-mães com chipsets Intel também tiveram sucesso em sair da árvore de desenvolvimento staging.
Sumário

O novo kernel Linux 3.5 oferece melhorias em três áreas que o sistema operacional tem sido até o momento deficitário. Com tecnologias como a Optimus e monitores USB, uma infraestrutura simples e básica do kernel para suportar hardware gráfico que pode ser ativado durante a execução do sistema está mais do que atrasada. Outra adição importante são as melhorias de segurança com os containers, um marco que pode potencialmente ajudar a solução Linux Containers (LXC) ganhar importância em médio prazo. Também estão atrasados recursos para melhorar o monitoramento de desempenho de software em userspace -- embora o uprobes em sua atual forma ainda deixa muito a desejar, ele pode ser a base para recursos que vão permitir que o Linux possua uma solução de medição de desempenho similar ao Dtraces no Solaris.


Fonte: H-online

Nenhum comentário:

Postar um comentário