Introdução

Concluído

Um elemento importante, que também é uma das partes mais complexas de virtualização, é a virtualização da CPU. A virtualização de uma CPU envolve duas importantes etapas:

  1. Multiplexar uma pCPU (CPU física) entre vCPUs (CPUs virtuais) associada a VMs (máquinas virtuais). Isso é chamado de agendamento de vCPU.
  2. Virtualizar o ISA de uma pCPU para fazer vCPUs com ISAs diferentes serem executadas na pCPU.

Neste módulo, apresentaremos algumas condições para virtualizar ISAs. Em segundo lugar, descreveremos a virtualização do ISA. Em um terceiro momento, faremos uma distinção entre dois tipos de virtualização do ISA: virtualização completa e paravirtualização. Em quarto lugar, abordaremos a emulação, uma importante técnica para virtualizar CPUs. Em quinto, compararemos dois tipos de VMs: VMs de SMP (multiprocessamento simultâneo) e UP (processador único). Por fim, concluiremos com uma discussão sobre o agendamento de vCPU. Como exemplos, apresentamos dois agendadores de vCPU populares do Xen.

Objetivos de aprendizagem

Neste módulo, você vai:

  • Distinguir entre diferentes modos de operações em vários sistemas, como sistemas operacionais tradicionais e sistemas virtualizados.
  • Identificar as três principais classes de instruções do sistema.
  • Indicar a condição para habilitar hipervisores eficientes.
  • Explicar como um hipervisor pode lidar com interceptações do sistema.
  • Identificar a diferença entre hipervisores eficientes e hipervisores.
  • Descrever por que e quando a aplicação de patch de código é necessária.
  • Reconhecer a disparidade entre virtualização completa e paravirtualização.
  • Explicar as vantagens e desvantagens da virtualização completa e da paravirtualização.
  • Identificar a diferença entre emulação e execução nativa direta.
  • Reconhecer os dois tipos de emulação: interpretação e tradução binária.
  • Explicar algumas das principais técnicas de interpretação e de tradução binária.
  • Comparar e contrastar os interpretadores de decodificação e despacho, direct threaded e indirect threaded.
  • Identificar a diferença na alocação de CPU virtual entre máquinas virtuais de processador único e de multiprocessamento simétrico.
  • Descrever os dois principais agendadores de CPU virtual no Xen: Simple Earliest Deadline First e Credit Scheduler.

Pré-requisitos

  • Entender o que é a computação em nuvem, incluindo os modelos de serviço de nuvem e os provedores de nuvem comuns.
  • Conhecer as tecnologias que habilitam a computação em nuvem.
  • Entender como os provedores de serviços de nuvem pagam e cobram pela nuvem.
  • Saber o que são os datacenters e por que eles existem.
  • Saber como os datacenters são configurados, alimentados e provisionados.
  • Entender como os recursos de nuvem são provisionados e medidos.
  • Estar familiarizado com o conceito de virtualização.
  • Saber quais são os diferentes tipos de virtualização.