Quando se fala em tecnologias de virtualização, as tecnologias mais badaladas são o VMware, o Hyper-V e o Virtualbox, além de outras não tão populares. Porém, muitas delas são motores (engines) que rodam “por trás dos bastidores” e projetadas para funcionar em determinados sistemas operacionais, promovendo uma arquitetura complexa, poderosa e unificada. Este, é o caso dos sistemas operacionais Unix-like (destacando-se os sistemas GNU/Linux) e dos projetos que são concebidos em torno dele, como são o Xen, o KVM e o QEMU…
“We’d like to announce the availability of the QEMU 9.0.0 release. This release contains 2700+ commits from 220 authors. You can grab the tarball from our download page. The full list of changes are available in the changelog. (…) Thank you to everybody who contributed to this release, whether that was by writing code, reporting bugs, improving documentation, testing, or providing the project with CI resources. We couldn’t do these without you!”
— by QEMU.
O QEMU (Quick Emulator) é uma tecnologia de emulação integrada ao kernel Linux que, combinado com o módulo KVM (Kernel-based Virtual Machine, que também faz parte do Linux), permite tornar o sistema operacional hospedeiro um hipervisor para a virtualização, além de executar as máquinas virtuais (VMs) com excelentes níveis de performance e baixa utilização de recursos computacionais. Tão flexível e versátil, que pode ser empregado até mesmo para emular processos em nível de usuário, permitindo que aplicativos compilados para uma arquitetura sejam executados em outra, além de ser utilizado na computação em nuvem. E o seu desenvolvimento continua à todo o vapor: foi lançado o QEMU 9.0!
Eis, a lista de melhorias e aprimoramentos feitos para a nova versão:
- bloco: virtio-blk agora suporta multiqueue onde diferentes filas de um único disco podem ser processadas por diferentes threads de E/S;
- gdbstub: várias melhorias, como captura de syscalls no modo de usuário, suporte para modos fork-follow e suporte para siginfo:read;
- memória: a pré-alocação de back-ends de memória agora pode ser tratada simultaneamente usando vários threads em alguns casos;
- migração: suporte para capacidade de “ram mapeada”, permitindo instantâneos de VM mais eficientes, suporte aprimorado para detecção de página zero e suporte de reinicialização de ponto de verificação para VFIO;
- ARM: suporte a recursos de arquitetura para ECV (Enhanced Counter Virtualization), NV (Nested Virtualization) e NV2 (Enhanced Nested Virtualization);
- ARM: suporte de placa para nó IoT B-L475E-IOT01A, mp3-an536 (placa de desenvolvimento MPS3 + firmware AN536) e raspi4b (Raspberry Pi 4 Modelo B);
- ARM: controlador adicional IO/disco/USB/SPI/ethernet e suporte de temporizador para Freescale i.MX6, Allwinner R40, Banana Pi, npcm7xxx e placas virt;
- HPPA: inúmeras correções de bugs e firmware SeaBIOS-hppa atualizado para a versão 16;
- LoongArch: suporte para aceleração KVM, incluindo extensões vetoriais LSX/LASX;
- RISC-V: suporte ISA/extensão para Zacas, amocas, perfis RVA22, Zaamo, Zalrsc, Ztso e muito mais;
- RISC-V: suporte SMBIOS para máquina virt RISC-V, suporte ACPI para SRAT, SLIT, AIA, PLIC e suporte de tabela RHCT atualizado e inúmeras correções;
- s390x: Suporte de emulação para instruções CVDG, CVB, CVBY e CVBG e correções para emulação LAE (Load Address Extended);
- e muito mais…
E mais uma vez, consultem as notas das mudanças para maiores detalhes… &;-D