Virtualbox - Gil Eduardo de Andrade

Propaganda
Tecnólogo em Análise e Desenvolvimento de Sistemas
Nivelamento – Máquinas Virtuais / VirtualBox
Gil Eduardo de Andrade
 O conteúdo deste documento tem como objetivos geral introduzir conceitos mínimos sobre
sistemas operacionais e máquinas virtuais para posteriormente utilizar o aplicativo
VirtualBox.
 A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de
uma máquina virtual contendo o sistema operacional Linux como convidado (guest) de um
sistema operacional Windows (host).
 Como objetivo específico deseja-se criar a possibilidade, por parte do aluno, de utilizar em
seu computador pessoal uma máquina virtual contendo o sistema operacional Linux, que lhe
permite implementar os códigos-fonte em C relativos as atividades desenvolvidas na
disciplina de Programação de Computadores I.
 O conteúdo teórico sobre sistemas operacionais e máquinas virtuais é baseado no livro do
Prof. Dr. Carlos Alberto Maziero, disponível no link: http://dainf.ct.utfpr.edu.br/~maziero
Sistemas Operacionais
Um sistema de computação é constituído basicamente por hardware e software, existindo
uma grande distância entre os circuitos eletrônicos e dispositivos de hardware e os programas em
software. Os circuitos são complexos, acessados através de interfaces de baixo nível (geralmente
usando as portas de entrada/saída do processador) e muitas vezes suas características e seu
comportamento dependem da tecnologia usada em sua construção. Por exemplo, a forma de
acesso em baixo nível, a discos rígidos IDE, difere da forma de acesso a discos SCSI ou leitores de
CD. Essa grande diversidade pode ser um grande problema para o desenvolvedor de aplicativos.
Com isso torna-se desejável oferecer aos programas uma forma de acesso homogênea aos
dispositivos físicos, que possibilite abstrair as diferenças tecnológicas entre eles.
O sistema operacional é uma camada de software que opera entre o hardware e os
programas aplicativos voltados ao usuário final. O sistema operacional é uma estrutura de software
ampla, muitas vezes complexa que incorpora aspectos de baixo nível (como drivers de dispositivos
e gerência de memória física) e de alto nível (como programas utilitários e a própria interface
gráfica). A figura a seguir ilustra a arquitetura geral de um sistema de computação típico. Nela,
podemos observar elementos de hardware, o sistema operacional e alguns programas aplicativos.
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 1 de 15
Estrutura de um Sistema de Computação Típico
Abstração de Recursos
Acessar os recursos de hardware de um sistema de computação pode ser uma tarefa
complexa, devido às características específicas de cada dispositivo físico e a complexidade de suas
interfaces. Por exemplo, a seqüência a seguir apresenta os principais passos envolvidos na
abertura de um arquivo (operação open) em um leitor de disquete:
1. Verificar se os parâmetros informados estão corretos (nome do arquivo, identificador do
leitor de disquete, buffer de leitura, etc);
2. Verificar se o leitor de disquetes está disponível;
3. Verificar se o leitor contém um disquete;
4. Ligar o motor do leitor e aguardar atingir a velocidade de rotação correta;
5. Posicionar a cabeça de leitura sobre a trilha onde está a tabela de diretório;
6. Ler a tabela de diretório e localizar o arquivo ou subdiretório desejado;
7. Mover a cabeça de leitura para a posição do bloco inicial do arquivo;
8. Ler o bloco inicial do arquivo e depositá-lo em um buffer de memória.
Assim, o sistema operacional deve definir interfaces abstratas para os recursos do
hardware, visando atender os seguintes objetivos:
 Prover interfaces de acesso aos dispositivos mais simples que as interfaces de baixo nível,
com intuito de simplificar a construção de programas aplicativos. Por exemplo: para ler
dados de um disco rígido, uma aplicação usa um conceito chamado arquivo, que fornece
uma visão abstrata do disco rígido.
 Tornar os aplicativos independentes do hardware. Ao definir uma interface abstrata de
acesso a um dispositivo de hardware, o sistema operacional desacopla o hardware dos
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 2 de 15
aplicativos e permite que ambos evoluam de forma mais autônoma. Por exemplo, o código
de um editor de textos não deve ser dependente da tecnologia de discos rígidos utilizada no
sistema.
 Definir interfaces de acesso homogêneas para dispositivos com tecnologias distintas.
Através de suas abstrações, o sistema operacional permite aos aplicativos usar a mesma
interface para dispositivos diversos. Por exemplo, um aplicativo acessa dados em disco
através de arquivos e diretórios, sem precisar se preocupar com a estrutura real de
armazenamento dos dados, que podem estar em um disquete, um disco IDE, uma máquina
fotográfica digital conectada à porta USB, um CD ou mesmo um disco remoto,
compartilhado através da rede.
Máquinas Virtuais
Para que programas e bibliotecas possam executar sobre uma determinada plataforma
computacional, é necessário que tenham sido compilados para ela, respeitando o conjunto de
instruções do processador e o conjunto de chamadas do sistema operacional.
Da mesma forma, um sistema operacional só poderá executar sobre uma plataforma de
hardware se for compatível com ela. Nos sistemas atuais, as interfaces de baixo nível são pouco
flexíveis: geralmente não é possível criar novas instruções de processador ou novas chamadas de
sistema, ou mudar sua semântica. Por isso, um sistema operacional só funciona sobre o hardware
para o qual foi construído, uma biblioteca só funciona sobre o hardware e sistema operacional para
os quais foi projetada e as aplicações também têm de obedecer a interfaces pré-definidas.
Todavia, é possível contornar os problemas de compatibilidade entre os componentes de
um sistema através de técnicas de virtualização. Usando os serviços oferecidos por um determinado
componente do sistema, é possível construir uma camada de software que ofereça aos demais
componentes serviços com outra interface. Essa camada permitirá assim o acoplamento entre
interfaces distintas, de forma que um programa desenvolvido para uma plataforma A possa
executar sobre uma plataforma distinta B. O sistema computacional visto através dessa camada é
denominado máquina virtual.
A figura abaixo, extraída de [Smith and Nair, 2004], mostra um exemplo de máquina virtual,
onde uma camada de virtualização permite executar um sistema operacional Windows e suas
aplicações sobre uma plataforma de hardware Sparc, distinta daquela para a qual foi projetado
(Intel/AMD).
Máquina Virtual [Smith and Nair, 2004].
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 3 de 15
Um ambiente de máquina virtual consiste de três partes básicas, que podem ser observadas
na figura anterior:
 O sistema real, ou sistema hospedeiro (host system), que contém os recursos reais de
hardware e software do sistema;
 O sistema virtual, também denominado sistema convidado (guest system), que executa
sobre o sistema virtualizado; em alguns casos, vários sistemas virtuais podem coexistir,
executando sobre o mesmo sistema real;
 A camada de virtualização, denominada hipervisor ou monitor de virtualização (VMM Virtual Machine Monitor), que constrói as interfaces virtuais a partir da interface real.
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 4 de 15
Tutorial de Instalação – Maquina Virtual
 O aplicativo VirtualBox pode ser encontrado aqui.
(VirtualBox 4.3.26 for Windows hosts)
 O arquivo ‘.iso’ do sistema operacional Ubuntu poder encontrado aqui.
Instalação do VirtualBox
A instalação do aplicativo VirtualBox é extremamente simples, e basta apenas seguir os
passos que são apresentados pelo seu programa instalador. Entretanto são apresentadas duas
capturas de tela (figuras 01 e 02) efetuadas durante a instalação caso acha alguma dúvida.
Figura 01: Tela inicial de instalação do Virtual Box.
Após selecionar a opção “Next” na tela inicial a instalação terá seu início, ao longo dela uma
tela contendo informações sobre a instalação de software de dispositivos é mostrada, quando isso
ocorrer, selecione a caixa de checagem com os dizeres “Sempre confiar em softwares Oracle
Corporation” e então escolha a opção “Instalar”
Figura 02: Tela inicial de instalação Virtual Box – Opção Software de Dispositivo.
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 5 de 15
Criando uma Máquina Virtual Linux Convidada
Ao término da instalação do aplicativo Virtual Box um ícone de atalho para o mesmo, na
área de trabalho do computador, será criado, como mostra a figura 03. Ao clicarmos duplamente no
ícone, iniciamos o aplicativo instalado como visto na figura 04.
Figura 03: Ícone do aplicativo Virtual Box criado na Área de Trabalho após a instalação.
Figura 04: Tela Inicial do aplicativo Virtual Box.
Com o aplicativo aberto, iremos criar uma nova máquina virtual, para isso selecionamos a
opção “Novo” (botão azul no canto superior esquerdo da janela). Após isso a janela apresentada na
figura 05 é aberta.
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 6 de 15
Figura 05: Criando uma nova máquina virtual – especificando o sistema operacional.
Após a abertura da janela apresentada na figura 05 é necessário preencher o nome que
será dado a máquina virtual que deseja-se criar e então selecionar nas caixas de combinação: o
sistema operacional que será instalado dentro dessa nova máquina (nesse caso Linux) e a versão
deste SO (neste caso Ubuntu).
Ao término das especificações sobre o sistema operacional que será virtualizado deve-se
selecionar a opção “Próximo” para que a janela de configuração de memória seja apresentada,
como mostrado na figura 06.
Figura 06: Configurando a quantidade de memória que ficará disponível para máquina virtual que está sendo criada.
Como pode ser visto na figura 06 foi disponibilizado 1GB de memória RAM para que a
máquina virtual seja executada, esse valor poderia ser menor caso a quantidade de memória do
computador seja menor que 4GB. Lembrando que essa quantidade também foi configurada para
que a interface gráfica padrão (Unity) dos sistemas Linux Ubuntu possa ser configurada
adequadamente para executar de forma virtualizada.
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 7 de 15
Figura 07: Configuração da memória RAM (1GB) da máquina que está sendo criada.
Ao término das especificações sobre a quantidade de memória que ficará disponível para
uso da máquina virtual, e pressionando a opção “Próximo” é apresentada a janela que permite criar
e iniciar a configuração do HD virtual a ser utilizado pela máquina, como mostra a figura 08.
Figura 08: Criando um novo disco rígido virtual.
Após a criação do disco rígido, clicando na opção “Criar” a janela para especificação do tipo
de disco rígido que deseja-se utilizar é apresentada, nela utilizaremos a opção mais comum que é a
criação de uma imagem de disco do Virtualbox (VDI), que já encontra-se selecionada como mostra
figura 09.
Figura 09: Especificando o tipo do disco rígido (VDI – Virtualbox Image Disk).
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 8 de 15
Na próxima etapa especifica-se o método como o arquivo virtual, que representa o disco
rígido criado, deve ser manipulado e como ele deve armazenar os dados. Nesta etapa selecione a
opção “Dinamicamente alocado”, ou seja, o HD virtual irá crescer de acordo com armazenamento
efetuado ao longo da utilização da máquina virtual, como mostra a figura 10.
Figura 10:Armazenamento Dinamicamente alocado.
Por fim é configurado o tamanho total do HD virtual que estamos criando, este valor varia de
acordo com a finalidade da máquina virtual que está sendo criada. Neste caso, como é apenas
demonstrativo utilizaremos um total de 20GB, como mostrado na figura 11.
Figura 11: Configurando a quantidade de armazenamento total da máquina virtual.
Após todas as configurações efetuadas anteriormente a máquina virtual está criada, como
mostra a figura 12, e assim podemos iniciar a instalação do sistema operacional convidado, no caso
desse tutorial, Linux Ubuntu.
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 9 de 15
Figura 12: Máquina Virtual criada – já possível iniciar a instalação do sistema operacional.
Agora, selecionando a opção “Iniciar” (seta verde na parte superior esquerda da janela) é
possível iniciar a máquina e então selecionar a imagem “.iso” do sistema operacional que
desejamos utilizar (arquivo baixado do link apresentado no início desse tutorial) para instalação,
como mostra a figura 13.
(ATENÇÃO: não clique ainda em iniciar)
Figura 13:Iniciando a máquina virtual criada.
Na janela que foi aberta é solicitado um disco de boot, ou seja, a imagem “iso” que contém
os arquivos necessários para instalação do sistema operacional Linux. Para que possa indicar onde
este arquivo encontra-se na sua máquina, clique no ícone “abrir” (pastinha amarela no canto direito
inferior da imagem) e então uma janela de navegação entre os diretórios da sua máquina se abrirá
como mostra a figura 14.
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 10 de 15
Figura 14: Navegação entre os Diretórios da máquina para seleção do arquivo “.iso” que contém a imagem do
sistema operacional Linux.
Navegue até o diretório onde salvou o arquivo “.iso” do sistema operacional Linux,
selecione-o e clique em “Abrir”, como mostrado na figura 14. Após isso a janela apresentada na
figura 15 se abrirá e o processo de instalação terá início.
Figura 15: Iniciando a instalação do sistema Linux Ubuntu.
Seleciona a opção “Português Brasil” na lateral esquerda da janela apresentada na figura 15
e então escolha “Instalar o Ubuntu”. Logo após este processo a janela apresentada na figura 16
será mostrada para dar continuidade a instalação do sistema. Nela você verá na parte superior da
janela o HD virtual criado anteriormente, visto que será nele que faremos a instalação do sistema
operacional Linux Ubuntu. Sendo assim bastará, nesse momento apenas selecionar a opção
“Instalar agora”.
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 11 de 15
Figura 16: Selecionando o HD virtual criado anteriormente e iniciando a instalação.
Ao iniciar a instalação a janela apresentada na figura 17 solicitará a configuração de
partições que deve ser utilizada para o seu HD virtual, por questões de praticidade e simplicidade
selecione a opção “Apagar disco e reinstalar Ubuntu”. Importante salientar que o disco apagado
será o virtual criado anteriormente e não seu disco rígido real que possui o sistema operacional
Windows como hospedeiro.
Figura 17: Definindo formato das partições – utilizando o padrão, mais simples.
Após essa etapa, a instalação propriamente dita terá seu início, sendo os arquivos do
sistema copiados para o HD virtual, algumas configurações como layout do teclado e fuso horário
serão solicitadas, mas não são apresentadas aqui por serem simples de se efetuar. Posteriormente
a essas configurações temos a definição de um usuário e senha, como apresentado na figura 18.
Nesse momento você pode utilizar seu nome e uma senha que, obrigatoriamente, deve lembrar no
futuro para ter acesso ao sistema.
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 12 de 15
Figura 18: Criação de um usuário e definição de uma senha.
A instalação prosseguirá e após alguns minutos ela será finalizada, quando isso ocorrer
uma mensagem solicitando que o sistema seja reiniciado será apresentada. Você pode então
reiniciar a máquina ou até mesmo desligá-la (clique no “x” da janela principal do aplicativo
VirtualBox).
Configuração para executar a Interface gráfica Unity
Com a máquina virtual criada e o sistema operacional instalado, logo após você fechar a
máquina, no término da instalação, a janela apresentada na figura 19 será apresentada, e então
você deve clicar o botão direito do mouse sobre o ícone da máquina virtual Ubuntu instalada e
selecionar a opção “Configuração”.
Figura 19: Configurações de vídeo para executar o ambiente gráfico Unity.
As configurações da máquina virtual serão abertas, selecione então a opção “Monitor ou
Video”, como mostra a figura 20, selecione a caixa de checagem “Habilitar Aceleração 3D” e na
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 13 de 15
opção que define a quantidade de “Memória de Vídeo” arraste a barra até o canto direito para
utilizar o valor máximo que é de 128MB.
Figura 20: Configurações de vídeo para executar o ambiente gráfico Unity – 3D e memória.
Logo após as configurações de vídeo especificadas inicie a máquina novamente, e logo que
a janela se abra, vá até a opção “Dispositivos” → “Dispositivos de CD/DVD” e selecione a opção
“Drive do Hospedeiro E:”. Quando a máquina inicializar, após você ter efetuado seu login, e estiver
na área de trabalho do sistema Ubuntu, vá novamente na opção “Dispositivos” → “Dispositivos de
CD/DVD” e agora selecione a última opção “inserir Imagem de CD para Adicionais para convidado”
como mostra a figura 21.
Figura 21: Instalando Adicionais de Convidado.
Uma janela se abrirá dentro do sistema virtualizado, e solicitará sua permissão para
execução e instalação, permita. Este pacote é muito útil e contém funcionalidade como porta USB
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 14 de 15
compartilhada com o sistema hospedeiro, ou seja, ao plugar um pen-drive na sua máquina este
ficará disponível também no sistema virtual, também habilitará o redimensionamento para tela
cheia, ponteiro de mouse compartilhado e principalmente aceleração 3D para rodar o a interface
Unity.
Gil Eduardo de Andrade
Nivelamento – Máquinas Virtuais / VirtualBox
Página 15 de 15
Download