Liberação da versão 0.3.12

Ontem foi liberada a versão 0.3.12 do ReactOS. Abaixo segue a nota de lançamento em tradução livre feita pelo do coordenador do projeto, Aleksey Bragin.

Esta é uma liberação enorme para a equipe, não apenas no que diz respeito ao número de melhorias, mas em termos de salto de arquitetura e estabilidade, trazendo alguns dos aspectos mais modernos do kernel do Windows NT para o ReactOS.

Foi quase um ano desde a última versão, e mesmo entendendo que isso possa ter sido excessivo, foi necessário para conseguir estabilizar o sistema operacional devido à natureza do trabalho que foi realizado. Desde o início deste lançamento o foco foi em uma única área, o mecanismo de tratamento de exceções, que resultou em uma reescrita completa da área. Isto trouxe consigo a necessidade de mais alterações que se transformaram em muitas áreas, recebendo uma revisão e muitas novas tecnologias sendo desenvolvidas e introduzidas no núcleo. O que daí resultou foi um núcleo muito mais moderno que contém um código significativamente menos rodado que o código substituído. Isto provocou uma grande fase de testes para trazer a estabilidade e compatibilidade a níveis superiores ao encontrado no código anterior.

Durante a elaboração desta versão, 259 bugs foram corrigidos, incluindo 61 regressões, alguns dos quais oriundos do ReactOS 0.3.7. Dez desses erros tinham mais de 3 anos, e o mais antigo, #969, 5 anos.

Uma lista muito reduzido de algumas das mudanças mais importantes que aconteceram no último ano é a seguinte:

  • Gerenciador de Memória – O gerenciador de memória continuou a ser alvo da equipe ARM, substituído peça-por-peça, mas continuando a manter o gerenciador de antigo. Embora a transição completa não tenha sido feita nesse lançamento, o que é óbvio são as melhorias na estabilidade, velocidade e compatibilidade deste novo modelo.
  • Suporte NMI – ReactOS agora pode lidar com NMIs com uma Tela Vermelha da Morte, útil para capturar erros de hardware detectados pela CPU ou barramentos. Além disso, suporte a callbacks NMI de terceiro foi implementado, que é útil para certos sistemas servidores. Finalmente, o suporte para gerar um despejo de memória durante um NMI foi parcialmente implementado, o que pode ajudar quando a máquina estiver congelada ou pendurada e um interruptor externo de despejo NMI está sendo utilizado.
  • Reescrita do Tratamento de Exceções – Quase todas as falhas da CPU, exceções, tratamentos, e o código de chamada do sistema está agora escrito em C ao invés de assembler. Muito código antigo ou obsoleto foram desativados, muitos caminhos de depuração pesados também foram desativados por padrão. Além disso, a portabilidade para x64 e ARM agora compartilham muito mais código. Finalmente, o código está muito mais limpo e pode tirar proveito das otimizações do compilador para gerar o melhor instrução possível para o processador em vez de escrever via assembler manualmente o que era específica apenas para determinados modelos de CPU. Estão em curso trabalhos para remover as rotinas em assembler restantes.
  • EMS – O Gerenciador de Sistema de Emergência (ou Headless) foi parcialmente implementado. Os parâmetros de inicialização documentadas pela Microsoft agora são suportados, e a saída de depuração agora é enviado para a porta serial como o esperado. O trabalho é contínuo para fornecer o EMS recursos de registro e para mover o depurador KDbg legados mais EMS. O driver SAC (Special Administration Console) está em curso de desenvolvimento para ajudar nessa área.
  • Compatibilidade PnP – Várias melhorias foram feitas para aumentar o suporte de hardware e suporte ao carregamento de drivers de terceiro.
  • Melhorias ACPI – A equipe ARM tem implementado os drivers básicos necessários para suporte a baterias e drivers de UPS/baterias de terceiro, incluindo suporte para a especificação ACPI de Bateria Composta. Este suporte não está habilitado nessa versão porque o ACPI está ainda em fase de desenvolvimento.
  • Novo controlador PCI-X – A equipe ARM vem lentamente trabalho no novo driver de barramento PCI. Anteriormente, o ReactOS estava usando um driver de barramento PCI muito simples e que praticamente não dava suporte as mais diversas combinações encontradas no mundo real. Com este novo driver, a compatibilidade com hardware real, e não apenas máquinas virtuais, deve melhorar significativamente, assim como o seu desempenho.
  • Suporte SxS – O suporte a código Side-by-Side foi adicionado, assim como o carregamento e procura de arquivos de manifesto. É um passo importante para a compatibilidade com aplicações modernas que utilizam esta tecnologia.
  • Correções da Corrupção do Pool – Talvez um dos bugs mais graves já econtrados foram corrigidos graças aos esforços combinados dos principais desenvolvedores do ReactOS utilizando métodos avançados, incluindo uma versão personalizada da máquina virtual QEMU.
  • Reescrita das rotinas de Timer e Mensagens – O manuseio incorreto de mensagens não  enfileirada que levava ao travamento de certas aplicações aplicações foi corrigido. A reescrita das rotinas de temporização também foram concluídas nesta versão, isso corrige muitos problemas relacionados ao cronômetro, a mais conhecida é a “necessidade de mover o mouse para fazer o download do Firefox”.
  • Compilação x64 – Enquanto a versão de 64 bits está ainda em fase inicial de desenvolvimento em relação ao funcionamento do kernel, a maioria dos problemas de compilação genéricos foram resolvidos e as funcionalidades básicas necessárias foram implementadas. Estes esforços já foram colocados na árvore principal de desenvolvimento, de modo que o trunk já pode ser compilado para x64. Com a ajuda de builds automáticos, quebras possíveis podem agora ser rapidamente detectadas e resolvidas. Mas não espere que o ambiente gráfico seja iniciado!

As notas de versão para 0.3.12 é foram feitas de uma forma diferentes das versões anteriores, com ênfase na transmissão de um resumo conciso e compreensível de importantes mudanças na liberação. Assim, em vez de duplicar esse resumo aqui, nós convidamos você a ler o seu conteúdo e ver o que foi realizado.

Embora a equipe do ReactOS tenha comparecido a vários eventos e conferências públicas em diversos países, nós tivemos uma baixa produção de notícias, o que possa fazer parecer como um patch quieto ou uma calmaria na atividade. No entanto esperamos que este lançamento sirva para mostrar que nos bastidores nós estivemos mais ocupado do que nunca.

Anúncios
Esse post foi publicado em ReactOS e marcado . Guardar link permanente.

2 respostas para Liberação da versão 0.3.12

  1. Pingback: ReactOS 0.3.12 | Linux Ajuda

  2. BSRSoft IDC disse:

    Um belo case de engenharia de software e engenharia reversa.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s