6. La conciliación: entre la visibilidad y la invisibilidad Uno de los rasgos más característicos del imaginario
6.4. El poder doméstico de las mujeres
Apesar do conceito de virtualização ter sido introduzido na li- teratura na década de 60 (PARMELEE et al., 1972;POPEK; GOLDBERG,
1974), ele ganhou maior notoriedade na década de 90, com o advento das tecnologias de virtualização capazes de operar sob a arquitetura x86 (ROSENBLUM, 2004). A virtualização (PARMELEE et al., 1972; PO-
tecnologia inovadora que permite abstrair os recursos de um sistema de computação, de tal maneira que seja possível obter um melhor apro- veitamento dos recursos físicos. Um dos propósitos da virtualização é prover um ambiente computacional virtual que permita melhorar a uti- lização dos recursos, ao mesmo tempo em que ofereça uma plataforma operacional integrada e unificada para usuários e aplicações baseadas na agregação de recursos heterogêneos e autônomos. De um modo ge- ral, a virtualização é provida por meio do que é conhecido por máquina virtual (SMITH; NAIR, 2005).
Da perspectiva de máquina virtual, doravante referenciada ape- nas pelo acrônimo VM (de Virtual Machine), a literatura apresenta diversas definições para o termo “máquina virtual”, o que conduz à certa ambiguidade no que concerne à interpretação do mesmo. As pri- meiras definições para máquina virtuais foram as de Parmelee et al. (1972) e de Popek e Goldberg (1974). O trabalho de Parmelee et al. (1972) definiu um sistema de máquinas virtuais como um “sistema de computação no qual as instruções emitidas por um programa podem ser diferentes daquelas realmente executadas pelo hardware”. Por outro lado, Popek e Goldberg (1974) definiram máquina virtual como uma “cópia isolada e eficiente de uma máquina real”.
Embora as definições seminais de Parmelee et al. (1972) e de Popek e Goldberg (1974) tenham indicado a existência de único tipo de máquina virtual, com a popularização da tecnologia de virtualização nos anos 2000, novas definições acerca do assunto foram apresentadas na literatura (ROSENBLUM, 2004; SMITH; NAIR, 2005). Uma das defi-
nições mais usuais na atualidade é a de Smith e Nair (2005), onde os autores classificaram as VMs em duas categorias, mais precisamente, as máquinas virtuais de processo e as máquinas virtuais de sistema.
• Máquina Virtual de Processo: consiste em uma plataforma virtual que executa um processo individual. É um tipo de VM que é criada apenas para dar suporte ao processo virtualizado, de modo que, ao término da execução do processo ela também é terminada. Alguns exemplos deste tipo de VM são a Java Virtual Machine (HORSTMANN; CORNELL, 2004) e a Common Language
Runtime da plataforma .NET (LIMA; REIS, 2002) – ambas im-
plementam aspectos de virtualização em nível de linguagem de programação, como suporte para a execução de software baseado em bytecodes;
• Máquina Virtual de Sistema: consiste num tipo de máquina que virtualiza o ambiente em um nível mais baixo de abstração
(p. ex.: em nível de hardware ou de arquitetura, tal como o ISA – Instruction Set Architecture (SMITH; NAIR, 2005)). Este
tipo de VM suporta a virtualização de um sistema operacional completo, onde tipicamente é usada a nomenclatura de convidado (guest) para uma instância de VM, e de anfitrião (host) para a plataforma sob a qual está sendo executada a VM (HORSTMANN;
CORNELL, 2004; SMITH; NAIR, 2005). Este tipo de VM fornece
às aplicações os recursos de hardware virtuais necessários a sua execução, tais como: E/S virtual, memória virtual, processador virtual, etc. Alguns exemplos deste tipo de VM são o VMware
(VMWARE, 2014), o Xen (XEN, 2014), o VirtualBox (ORACLE,
2014b) e o KVM (KVM, 2014).
Em se tratando das Máquinas Virtuais de Sistema, um com- ponente denominado Monitor de Máquina Virtual (do inglês, Virtual Machine Monitor – VMM) (POPEK; GOLDBERG, 1974) – também co-
nhecido como HyperVisor (BRESSOUD; SCHNEIDER, 1995) é o responsá-
vel por gerenciar a execução das máquinas virtuais, isto é, os sistemas convidados. No entanto, para que um VMM possa ser considerado como um sistema de controle de máquinas virtuais, ele deve atender a algumas propriedades fundamentais (POPEK; GOLDBERG, 1974; GAR-
FINKEL; ROSENBLUM, 2003). São elas:
• Eficiência: todas as instruções inofensivas devem ser executadas diretamente pelo hardware, sem intervenção do VMM;
• Controle de Recursos: um programa arbitrário executado como convidado não consegue afetar os recursos do sistema, de modo que o VMM possui total controle sobre os recursos que são a ele fornecidos;
• Equivalência: para qualquer programa de aplicação, o com- portamento exarado pela execução do mesmo sobre um VMM é idêntico ao comportamento verificado pela sua execução em um ambiente não virtualizado;
• Isolamento: um programa executado por uma VM em nível de convidado não consegue acessar ou modificar o VMM nem qualquer outra VM em nível de convidado;
• Inspeção: todo(s) o(s) estado(s) da(s) VM(s) está(ão) disponí- vel(eis) ao VMM;
• Interposição: o VMM deve intervir na execução de determina- das operações realizadas por máquinas virtuais, tais como, ins- truções privilegiadas.
Hardware
Monitor de Máquinas Virtuais Máquina Virtual I S.O. Convidado I Aplicações Sistema Convidado Máquina Virtual II Aplicações Sistema Convidado S.O. Convidado II
Figura 15– Monitor de máquinas virtuais Tipo I.
Na literatura, os VMMs estão classificados em dois tipos, no- meadamente como Tipo I e Tipo II (KING; DUNLAP; CHEN, 2003). As
Figuras 15 e 16 ilustram os VMMs dos Tipos I e II, respectivamente. Os VMMs do Tipo I são executados diretamente sobre o hardware da máquina física, enquanto que os VMMs do Tipo II são executados como uma aplicação a partir de um sistema operacional anfitrião, que é instalado sobre a máquina física.
Os VMMs do Tipo I, que implementam virtualização em nível de hardware, foram introduzidos desde as primeiras especificações da tec- nologia de virtualização (ROSENBLUM, 2004), enquanto que os VMMs
do Tipo II, que implementam virtualização em nível de software, foram introduzidos pela VMware (VMWARE, 2014) no ano de 1999 (ROSEN- BLUM, 2004). É evidente que os VMMs do Tipo I, em relação aos
VMMs do Tipo II, apresentam vantagem em termos de desempenho, já que os do Tipo I são implementados diretamente sobre o hardware físico, e os do Tipo II possuem um elemento intermediário entre eles e o hardware – o sistema operacional anfitrião. Por outro lado, as vanta- gens dos VMMs do Tipo II sobre os VMMs do Tipo I, decorre do fato de que, como o VMM Tipo II é executado como um processo normal no contexto do sistema operacional anfitrião, torna-se possível o uso de ferramentas de monitoramento e depuração do sistema anfitrião, para realizar inspeções tanto no VMM como nas VMs executadas através dele.
No âmbito de sistemas distribuídos, a tecnologia de virtualização tem se mostrado como um mecanismo bastante atrativo para imple-