15
Gil Eduardo de Andrade Nivelamento Máquinas Virtuais / VirtualBox Página 1 de 15 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.

Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 1 de 15

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.

Page 2: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 2 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

Page 3: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 3 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].

Page 4: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 4 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.

Page 5: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 5 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.

Page 6: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 6 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.

Page 7: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 7 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.

Page 8: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 8 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).

Page 9: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 9 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.

Page 10: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 10 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.

Page 11: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 11 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”.

Page 12: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 12 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.

Page 13: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 13 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

Page 14: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 14 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

Page 15: Tecnólogo em Análise e Desenvolvimento de Sistemas ...A partir dos conceitos e utilizando o aplicativo, é apresentado um tutorial sobre a criação de uma máquina virtual contendo

Gil Eduardo de Andrade Nivelamento – Máquinas Virtuais / VirtualBox

Página 15 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.