Lançamento do emulador QEMU 5.0

Introduzido liberação do projeto QEMU 5.0. Como emulador, o QEMU permite executar um programa compilado para uma plataforma de hardware em um sistema com uma arquitetura completamente diferente, por exemplo, executar um aplicativo ARM em um PC compatível com x86. No modo de virtualização no QEMU, o desempenho de execução de código em ambiente isolado é próximo ao sistema nativo devido à execução direta de instruções na CPU e ao uso do hipervisor Xen ou módulo KVM.

O projeto foi originalmente criado por Fabrice Bellard para permitir que executáveis ​​Linux construídos para a plataforma x86 rodassem em arquiteturas não x86. Ao longo dos anos de desenvolvimento, o suporte de emulação completo foi adicionado para 14 arquiteturas de hardware, o número de dispositivos de hardware emulados ultrapassou 400. Na preparação para a versão 5.0, mais de 2800 alterações foram feitas por 232 desenvolvedores.

Chave melhoriasadicionado no QEMU 5.0:

  • A capacidade de encaminhar parte do sistema de arquivos do ambiente host para o sistema convidado usando virtiofsd. O sistema convidado pode montar um diretório marcado para exportação no lado do sistema host, o que simplifica bastante a organização do acesso compartilhado a diretórios em sistemas de virtualização. Ao contrário do uso de sistemas de arquivos de rede como NFS e virtio-9P, o virtiofs permite obter desempenho próximo a um sistema de arquivos local;
  • apoio migração ao vivo de dados de processos externos usando o QEMU D-Bus;
  • Usabilidade back-ends de memória para garantir o funcionamento da RAM principal do sistema convidado. O backend é especificado usando a opção “-machine memory-backend”;
  • Novo filtro “compress”, que pode ser usado para criar backups de imagens compactadas;
  • O comando "qemu-img Measure" agora pode funcionar com imagens LUKS, e a opção "--target-is-zero" foi adicionada ao comando "qemu-img convert" para pular a zeragem da imagem alvo;
  • Adicionado suporte experimental para o processo qemu-storage-daemon, fornecendo acesso ao nível de bloco QEMU e comandos QMP, incluindo a execução de dispositivos de bloco e o servidor NBD integrado, sem a necessidade de executar uma máquina virtual completa;
  • O emulador de arquitetura ARM adicionou a capacidade de emular CPUs Cortex-M7 e fornece suporte para placas de PC tacoma-bmc, Netduino Plus 2 e Orangepi. Adicionado suporte para dispositivos vTPM e virtio-iommu para máquinas emuladas 'virt'. A capacidade de usar sistemas host AArch32 para executar ambientes convidados KVM foi descontinuada. Foi implementado suporte para emulação dos seguintes recursos de arquitetura:
    • ARMv8.1: HEV, VMID16, PAN, PMU
    • ARMv8.2: UAO, DCPoP, ATS1E1, TTCNP
    • ARMv8.3: RCPC, CCIDX
    • ARMv8.4: PMU, RCPC
  • Adicionado suporte de console gráfico ao emulador de arquitetura HPPA usando o dispositivo gráfico HP Artist;
  • Adicionado suporte para a instrução GINVT (Global Invalidation TLB) ao emulador de arquitetura MIPS;
  • A emulação de ferramentas de aceleração de hardware KVM para execução de sistemas convidados foi adicionada ao emulador de arquitetura PowerPC para máquinas 'powernv'
    KVM com gerador de código TCG clássico (Tiny Code Generator). Para emular memória persistente, foi adicionado suporte para NVDIMMs refletidos no arquivo. Para máquinas 'pseries', foi eliminada a necessidade de reinicialização para coordenar a operação dos controladores de interrupção XIVE/XICS no modo “ic-mode=dual”;

  • O emulador de arquitetura RISC-V para as placas 'virt' e 'sifive_u' fornece suporte para drivers syscon padrão do Linux para gerenciamento de energia e reinicialização. O suporte Goldfish RTC foi adicionado para a placa 'virt'. Adicionada implementação experimental de extensões de hipervisor;
  • O suporte AIS (Adapter Interrupt Suppression) foi adicionado ao emulador da arquitetura s390 ao operar no modo KVM.

Fonte: opennet.ru

Adicionar um comentário