resumão - analista de ti - ifpi

175
NATANAEL RIBEIRO DA SILVA APOSTILA – IFPI CARGO ANALISTA DE TECNOLOGIA DA INFORMAÇÃO ANO DE 2014

Upload: natanael-ribeiro

Post on 23-Nov-2015

789 views

Category:

Documents


11 download

TRANSCRIPT

  • NATANAEL RIBEIRO DA SILVA

    APOSTILA IFPI CARGO

    ANALISTA DE TECNOLOGIA

    DA INFORMAO

    ANO DE 2014

  • P g i n a | 1

    S U M R I O

    1. SISTEMAS OPERACIONAIS WINDOWS E LINUX................................................................................................................ 03

    1.1 Windows ......................................................................................................................................................................... 03

    1.2 Linux ................................................................................................................................................................................ 02

    1.3 Servios de diretrio: Active Directory e LDAP ............................................................................................................... 09

    2. VIRTUALIZAO COM CITRIX XEN SERVER E VMWARE ESXI ........................................................................................... 12

    2.1 Citrix XenServer ............................................................................................................................................................... 12

    2.2 VMWare ESXi .................................................................................................................................................................. 12

    2.3 Diferenas entre o Xen Server e VMware ESXi ............................................................................................................... 12

    3. COMPUTAO EM NUVEM ............................................................................................................................................. 15

    4. SERVIDORES HTTP APACHE ............................................................................................................................................. 19

    5. LINGUAGEM DE PROGRAMAO PYTHON E FRAMEWORK DE DESENVOLVIMENTO WEB DJANGO ................................ 20

    5.1 Framework de Desenvolvimento Web Django ............................................................................................................... 20

    5.2 Linguagem Python ........................................................................................................................................................... 21

    6. BANCO DE DADOS ORACLE, POSTGRESQL E MYSQL ....................................................................................................... 29

    6.1 Oracle .............................................................................................................................................................................. 29

    6.2 PostgreSQL ...................................................................................................................................................................... 31

    6.3 MySQL ............................................................................................................................................................................. 32

    7. SERVIDORES SMTP POSTFIX E ZIMBRA............................................................................................................................ 32

    7.1 Servidor POSTFIX ............................................................................................................................................................. 32

    7.2 Servidor ZIMBRA ............................................................................................................................................................. 33

    8. TOPOLOGIA TPICA DE AMBIENTES COM ALTA DISPONIBILIDADE E ESCALABILIDADE ................................................... 34

    8.1 Balanceamento de carga ................................................................................................................................................. 34

    8.2 Fail-over........................................................................................................................................................................... 38

    9. TECNOLOGIAS E ARQUITETURA DE DATA CENTER .......................................................................................................... 38

    9.1 Conceitos bsicos ............................................................................................................................................................ 38

    9.2 Servios de armazenamento, padres de disco e de interfaces ..................................................................................... 44

    9.3 RAID.............................................................................................................................................................................. 48

    10. TECNOLOGIAS DE BACKUP ............................................................................................................................................ 53

    10.1 Conceitos Bsicos .......................................................................................................................................................... 53

    10.2 Deduplicao ................................................................................................................................................................. 57

    10.3 ILM - Information Lifecycle Management ..................................................................................................................... 58

    10.4 Software Livre para backup pessoal e corporativo ....................................................................................................... 60

    11. ADMINISTRAO, MONITORAMENTO E CONTROLE ..................................................................................................... 61

    11.1 Ferramentas automatizadas de gesto de infra-estrutura ........................................................................................... 61

    11.2 Administrao de aplicao para monitoramento de servidores e servios ................................................................ 62

    11.3 Configurao, administrao e gerenciamento de servios de rede Windows e Linux ................................................ 63

    11.3.1 Servio de compartilhamento de arquivos SAMBA ................................................................................................... 63

    11.3.2 Servio de compartilhamento CIFS ............................................................................................................................ 68

    11.3.3 Servio de compartilhamento NFS ............................................................................................................................. 69

    11.4 Autenticao, autorizao e auditoria .......................................................................................................................... 70

    11.4.1 Protocolos AAA .......................................................................................................................................................... 70

    11.4.2 Controles de Acesso baseado em Papeis ................................................................................................................... 71

    11.4.3 Autenticao .............................................................................................................................................................. 72

    11.5 Single sign-on ................................................................................................................................................................ 74

    11.6 Captive Portal ................................................................................................................................................................ 76

    12. TECNOLOGIAS E PROTOCOLOS DE REDES LOCAIS .......................................................................................................... 76

    12.1 Padres Ethernet .......................................................................................................................................................... 76

    12.2 Endereamento IP ......................................................................................................................................................... 86

    12.3 Mscara de sub-rede ..................................................................................................................................................... 87

    12.4 Protocolos de Rede ....................................................................................................................................................... 92

  • P g i n a | 2

    12.5 Cabeamento estruturado EIA/TIA 568 .......................................................................................................................... 105

    12.6 Redes tipo campus ........................................................................................................................................................ 109

    12.7 Modelo OSI .................................................................................................................................................................... 110

    12.8 Redes de longa distncia: PPP, ATM e MPLS ................................................................................................................ 113

    12.8.1 Protocolo PPP ............................................................................................................................................................. 113

    12.8.2 Protocolo ATM ........................................................................................................................................................... 115

    12.8.3 Protocolo MPLS .......................................................................................................................................................... 116

    12.9 Redes sem fio (wireless) ................................................................................................................................................ 119

    12.10 Elementos de interconexo de redes de computadores ............................................................................................ 128

    13. GERENCIAMENTO DE REDES DE COMPUTADORES ........................................................................................................ 132

    13.1 Conceitos ....................................................................................................................................................................... 132

    13.2 Qualidade de servio (QoS) ........................................................................................................................................... 148

    13.3 Voz sobre IP (VoIP): conceitos, arquiteturas e protocolos ............................................................................................ 155

    13.4 Videoconferncia: conceitos, arquiteturas e protocolos .............................................................................................. 161

    13.5 Roteamento Multicast: conceitos e protocolos ............................................................................................................ 165

    13.6 Instruo Normativa IN04 ............................................................................................................................................. 167

  • P g i n a | 3

    1. SISTEMAS OPERACIONAIS WINDOWS E LINUX

    1.1 Windows

    Microsoft Windows uma famlia de sistemas operacionais criados pela Microsoft, empresa fundada por Bill Gates e Paul

    Allen. Antes da verso NT, era uma interface grfica para o sistema operacional MS-DOS. O Windows um produto

    comercial, com preos diferenciados para cada uma de suas verses. o sistema operacional mais utilizado em

    computadores pessoais no mundo. O impacto deste sistema no mundo atual muito grande devido ao enorme nmero

    de cpias instaladas. Conhecimentos mnimos desse sistema, do seu funcionamento, da sua histria e do seu contexto

    so, na viso de muitos, indispensveis, mesmo para os leigos em informtica. A atual verso estvel do Windows para

    desktops o Windows 8.1, lanado em 17 de outubro de 2013. Para servidores o Windows Server 2012 a verso mais

    recente e estvel.

    A palavra windows em portugus significa janelas. A sua interface grfica baseada no padro WIMP e utiliza o conceito

    WYSIWYG, previamente desenvolvido em Xerox PARC: possui janelas que exibem informaes e recebem respostas dos

    utilizadores atravs de um teclado ou de cliques do mouse. O registro da marca Windows foi legalmente complicado, pelo

    fato dessa palavra ser de uso corrente em ingls ("windows" significa "janelas").

    A Microsoft comeou a desenvolver o Microsoft Windows em setembro de 1981. O Windows 1.01 era uma interface

    grfica bidimensional para o MS-DOS e foi lanado em 20 de Novembro de 1985. Era necessrio o MS-DOS 2.0, 256 KB

    RAM e um disco rgido. Naquela altura, o MS-DOS s conseguia suportar 1 MB de aplicaes. Era uma primeira tentativa

    de criar um sistema multitarefa. Nessa poca, instalado em computadores XTs que tinham apenas 512Kb de memria,

    ocupava praticamente toda a memria disponvel. O Windows 1.01 no foi nenhum grande sucesso comparado com seus

    sucessores da dcada de 1990, devido limitao do hardware da poca. Inicialmente, ele foi lanado em quatro

    disquetes de 5.25 polegadas de 360 KB cada um. Continha o Reversi (jogo), um calendrio, bloco de notas, calculadora,

    relgio, prompt de comando (uma janela direta para o DOS), Write, Control Painel, Paint e programas de comunicao.

    Permite a utilizao de mouse, janelas e cones. Nesta verso ainda no havia sobreposio de janelas. A verso 1.02 foi

    lanada internacionalmente em maio de 1986 e ganhou edies em vrias lnguas europeias. A verso 1.03 foi lanada em

    agosto de 1986 internacionalmente. A verso 1.04 foi lanada em abril de 1987 e ganhou grficos VGA.

    O Windows s comea a ser tecnicamente considerado como um SO a partir da verso Windows NT, lanada em Julho de

    1993. O que havia antes eram sistemas grficos sendo executados sobre alguma verso dos sistemas compatveis com

    DOS, como MS-DOS, PC-DOS ou DR-DOS. Somente o MS-DOS era produzido pela prpria Microsoft.

    O MS-DOS um sistema operativo que no dispe de interface grfica, funciona atravs de comandos de texto

    introduzidos no teclado pelo utilizador. O Windows surgiu inicialmente como uma interface grfica para MS-DOS, que

    permitia correr programas em modo grfico, o que permitiu a utilizao do mouse, que at altura era considerado

    suprfluo em computadores de tipo IBM-PC.

    Os primeiros Windows, como o 1.0, 2.0, so compatveis apenas com parties formatadas em sistema de ficheiros FAT,

    ou como chamado, FAT 16. O 3.x poderia ser instalado em FAT 32, porm necessita ser instalado o MS-DOS 7.10, que

    era incluido nos disquetes de inicializao do Windows 95 OSR2 e Windows 98, necessitando modificar alguns arquivos

    para permitir seu funcionamento. Ao mudar do 3.1 para o 95B (Windows 95 OSR 2/OSR 2.1), os HD's poderiam ser

    formatados em FAT 32. Inicialmente lanado com o Windows NT, a tecnologia NTFS agora o padro de fato para esta

    classe. Com a convergncia de ambos sistemas, o Windows XP passou tambm a preferir este formato.

    A principal linguagem de programao usada para escrever o cdigo-fonte das vrias verses do Windows o C e

    algumas partes com C++ e Assembly.

    At a verso 3.11, o sistema rodava em 16 bits (apesar de poder instalar um update chamado Win32s para adicionar

    suporte a programas 32 bits), da em diante, em 32 bits. As verses a partir do XP e Server 2003 esto preparadas para a

    tecnologia 64 bits.

  • P g i n a | 4

    Os sistemas de 64 bits no possuem mais suporte para rodar nativamente aplicativos de 16 bits, sendo necessrio uso de

    emuladores/mquinas virtuais.

    Os bits so relacionados ao volume de dados que um microprocessador capaz de lidar. Se um processador tem uma

    arquitetura de 64 bits, ele capaz de lidar com dados na ordem de 264

    , ou seja, 18446744073709552000. S que para isso

    ser possvel, necessrio que o sistema operacional seja de 64 bits, caso contrrio ele trabalhar com somente com

    instrues de 32 bits (Se o sistema for de 32 bits). Sistemas operacionais de 64 bits tambm endeream uma quantidade

    maior de RAM, suportando at 192GB (Windows 7 Ultimate) ou 128GB (Windows XP Professional), contra 3,2GB dos

    sistemas de 32 bits.

    Outra caracterstica denominada de hearana maldita devido o fato de ter herdade essa regra do DOS o fato de no se

    poder criar pastas com os determinado nomes: con, prn, aux, com1 e ltp1. Trata-se de uma antiga herana que os SOs

    Windows carregam do MS-DOS e so palavras reservadas para a comunicao interna do SO. Portanto, mesmo o mais

    recente sistema da Microsoft incapaz de interpretar tais sentenas como simples nomes atravs do Windows Explorer.

    Atravs do Prompt de Comandos possvel criar pastas e arquivos com qualquer um dos nomes acima. Mas o sistema

    impede que os documentos sejam editado e excludos pelo Windows Explorer.

    1.2 Linux

    1.2.1 Histria do Linux

    Linux um termo utilizado para se referir a sistemas operacionais que utilizem o ncleo Linux. O ncleo Linux foi

    desenvolvido pelo programador finlands Linus Torvalds, inspirado no sistema Minix. O seu cdigo fonte est disponvel

    sob a licena GPL (verso 2) para que qualquer pessoa o possa utilizar, estudar, modificar e distribuir livremente de

    acordo com os termos da licena.

    1.2.2 Linux como Sistema Operacional

    Linux se refere ao Kernel. O conjunto de aplicativos que so executados no Kernel se chama distribuio. A funo do

    Kernel (ncleo do sistema operacional) ser a interface entre o Hardware e os sistemas de gerenciamento de tarefas

    e aplicativos. O Kernel do Linux mais leve que o de outros sistemas operacionais para servidores. So 12

    milhes de linhas de cdigo, enquanto outras verses do Unix tm 30 milhes e o Windows NT, 50 milhes. Isso

    significa que o Linux trs vezes mais rpido que outros Unix e at cinco vezes mais rpido que o Windows NT.

    1.2.3 Principais caractersticas do Linux

    um Software Livre (Open Source). O Windows considerado um software proprietrio.

    Licena de uso: GPL/GNU. GPL/GNU significa Licena Pblica geral, consiste na designao de licena para

    softwares livres.

    um sistema operacional Multitarefa, assim como o Windows. Multitarefa o sistema multitarefa executar

    mais de um aplicativo ao mesmo tempo.

    um sistema operacional Multissesso, assim como o Windows. Multissesso consiste em ter vrios contas

    de usurios em um mesmo computador.

    Preemptivo permite a interrupo de processos. ( tambm caracterstica do Windows). Preemptivo a ideia

    de ter vrios programas sendo processados ao mesmo tempo, e com isso, conseguimos alternar de um para o

    outro, interrompendo desta forma, o processo de um para executar outro.

    um sistema Multiusurio. (tambm caracterstica do Windows). Multiusurio quando existe uma rede de

    computadores e um servidor (pode este ser usado tanto Linux como Windows), e com isso, os usurios podem

    ter acesso simultneo ao sistema (vrios usurios acessando o servidor ao mesmo tempo).

    Multiprocessamento (tambm caracterstica do Windows). Multiprocessamento um computador com mais de

    um processador.

  • P g i n a | 5

    Sistema Monoltico (tambm caracterstica do Windows). Sistema monoltico todos processos em um s

    ncleo.

    Compartilhamento de bibliotecas (tambm caracterstica do Windows). o compartilhamento de recursos com

    os softwares instalados no computador. Exemplo: as fontes instaladas no computador podem ser utilizadas em

    vrios programas como Word, Excel, Power Point, Photoshop e etc.

    Capacidade de processamento 32/ 64 bits (tambm caracterstica do Windows) H verses de 32 e 64 bits.

    Pode ser instalado tanto em processadores de 32 bits, como de 64 bits.

    # Superusurio (tambm presente no Windows, mas com o nome de Administrador) o usurio com controle

    total do computador.

    $ Usurio comum (tambm presente no Windows, mas com o nome de Usurio Limitado) o usurio que no

    tem poder para manipular todos os recursos existentes no computador.

    Interface grfica e Prompt de comando (tambm existente no Windows) possvel interagir com o Linux de

    duas maneiras: Pela Interface Grfica ou Prompt de Comando (Shell, bash sh, etc).

    1.2.4 Sistemas de arquivos do Linux

    A lista de sistemas de arquivos suportados pelo Linux muito grande mas, ser mostrado somente os mais comuns.

    Atualmente, uma importante caracterstica dos atuais sistemas de arquivos o "journaling". Sistemas de arquivos que

    possuem essa caracterstica so preferidos em detrimento aos que no possuem. Journaling um recurso que permite

    recuperar um sistema aps um desastre no disco (ex.: quando um disco est sujo) em uma velocidade muito maior que

    nos sistemas de arquivos sem journaling. Segue abaixo uma breve descrio sobre os sistemas de arquivos mais comuns

    disponveis para o Linux:

    Ext2: O sistema de arquivos ext2 conhecido como "Second Extended FileSystem". Foi desenvolvido para ser

    mais "eficiente" que o sistema de arquivos "Minix", seu antecessor. O Minix era muito utilizado nas primeiras

    verses do Linux, e foi utilizado por muitos anos. O sistema de arquivos ext2 no possui journaling e foi

    substitudo pelo ext3.

    Ext3: O sistema de arquivos ext3 uma verso do ext2 com suporte a journaling. Portanto, o ext3 tem as

    mesmas caractersticas do ext2, mas com suporte journaling. Essa caracterstica foi uma evoluo e tornou o

    ext3 um sistema de arquivos muito estvel e robusto. Como no ext3 s foi adicionado o suporte a journaling,

    podemos converter um sistema de arquivos ext2 para ext3, adicionado suporte a journaling, e tambm podemos

    converter um sistema de arquivos ext3 para ext2, removendo o suporte a journaling.

    ReiserFS: O sistema de arquivos ReiserFS foi criado recentemente. Mas atualmente quase todas as distribuies

    Linux o suportam. Sua performance muito boa, principalmente para um nmero muito grande de arquivos

    pequenos. ReiserFS tambm possui suporte a journaling.

    XFS: O sistema de arquivos XFS tambm possui suporte a journaling. Foi desenvolvido originalmente pela Silicon

    Graphics e posteriormente disponibilizado o cdigo fonte. O XFS considerado um dos melhores sistemas de

    arquivos para banco de dados, pois muito rpido na gravao. XFS utiliza muitos recursos de cache com

    memria RAM, e para utilizar XFS recomendado utilizar sistemas que possuem redundncia de energia.

    SWAP: SWAP um espao reservado para troca de dados com a memria RAM. Em alguns lugares ele no

    mencionado como um Sistema de Arquivos, mas resolvi descrever aqui pois faz parte deste artigo.

    VFAT: O sistema de arquivos VFAT tambm conhecido como FAT32 (M$ Windows). O sistema de arquivos VFAT

    no possui suporte a journaling. utilizado normalmente para transferir dados entre sistemas M$ Windows e o

    Linux instalados no mesmo disco, pois pode ser lido e escrito por ambos os sistemas operacionais. O sistema de

    arquivos VFAT est longe de ser um sistema de arquivos utilizado para Sistemas Linux, exceto para

    compartilhamento/compatibilidade entre o M$ Windows e Linux. Se voc utilizar VFAT no Linux, esteja certo de

    perder alguns atributos, tais como: permisso de execuo, links simblicos, entre outras coisas. Ambos os

    sistemas de arquivos ext3 e ReiserFS so maduros o bastante para serem utilizados como padro no Linux. Esses

    dois so os mais utilizados pelas distribuies Linux.

    Ext4: a evoluo do sistema de arquivos mais usados no Linux, o Ext3. De muitas maneiras, Ext4 uma

    profunda melhoria sobre o Ext3, sendo o Ext3, com muitas melhorias frente o Ext2. No Ext3 foi principalmente a

    adio de Journaling sobre o Ext2, mas Ext4 teve mudanas importantes na estrutura do sistema de arquivos

  • P g i n a | 6

    destinado ao armazenamento de dados. O resultado um sistema de arquivos com um designer aperfeioado,

    melhor performance, confivel e com muitos recursos.

    1.2.5 Estrutura do Linux

    Kernel

    - o prprio sistema operacional ( o ncleo essencial do sistema);

    - a parte mais prxima do nvel fsico;

    - Composta de chamadas ao sistema, de acesso aos dispositivos E/S e gerncia dos recursos da mquina.

    Shell

    - Representa uma camada entre o Kernel do sistema operacional e o usurio;

    - o interpretador de comandos digitados que passa para o kernel e vice-versa. Os mais conhecidos so o Bourne Shell

    (bsh), o C Shell (csh), o Korn Shell (ksh) e o Bourne Again Shell (bash).

    Aplicativos

    Demais recursos de software que compem a distribuio do Linux.

    1.2.6 Distribuies do Linux

    O que uma distribuio

    Ao "kernel" freqentemente acrescentado uma srie de aplicaes, formando um sistema ou distribuio Linux.

    Distribuio nada mais que um pacote do kernel do sistema operacional mais os programas que o acompanham.

    Este pacote, incluindo as ferramentas necessrias para sua instalao, chamado de distribuio. Uma

    distribuio atende a uma determinada necessidade. As distribuies podem ser produzidas em diferentes verses

    do Kernel, podem incluir diferentes conjuntos de aplicativos, utilitrios, ferramentas e mdulos de driver, e podem

    oferecer diferentes programas de instalao e atualizao para facilitar o gerenciamento do sistema.

    Existem vrias distribuies no mercado. Citaremos algumas:

    Red Hat: Famoso por suas ferramentas de instalao e atualizao do sistema operacional e por seu sistema bem

    projetado de instalao, desinstalao e controle de pacotes de aplicativos de software.

    Slackware: Era a distribuio mais popular. No vem com RPM. Ganha em performance, mas peca na

    interatividade. Usado mais para servidores de rede.

    Caldera OpenLink: O OpenLink 1.3 inclui o K Desktop Environment, uma licena no-comercial do StarOffice

    for Linux, Suporte Netware, uma licena do DR-DOS para compatibilidade DOS.

    S.u.S.E Linux: uma conhecida distribuio de Linux, disponvel principalmente na Europa e oferecida nas

    verses em ingls e alemo.

    Debian/GNU: No possui uma organizao comercial patrocinadora. produzida por uma equipe de voluntrios.

    Utiliza seu prprio sistema de gerenciamento de pacotes.

    1.2.7 Gerenciadores de Inicializao

    So programas que permitem ao usurio gerenciar a inicializao dos SO's, podendo escolher qual deles carregar, caso

    haja mais de um em sua mquina.

    LILO: Linux Loader um gerenciador modo texto, que gerencia o setor de Boot da MBR (Master Boot Record -

    Primeiro setor de um HD que lido na inicializao para dar partida no computador) do HD permitindo a

  • P g i n a | 7

    inicializao seletiva do sistema operacional, ou seja, ele apresenta um menu de opes para que o usurio

    possa escolher um entre os sistemas operacionais disponpiveis para aquela inicializao.

    GRUB: Grand Unified Bootloader um loader que trabalha com interface grfica, logo na inicializao do

    computador, antes de carregar o SO.

    1.2.8 Estrutura de Diretrios

    a forma como so organizados os arquivos e as pastas no SO. No Linux, o diretrio raiz est tomado pelas pastas de

    sistemas, enquanto as pastas e arquivos pessoais devem ficar armazenadas no diretrio /home.

    H uma padronizao para os diretrios Linux, o Filesystem Hierarchy Standard - FHS, que especifica como a

    organizao de arquivos e diretrios em sistemas Unix/Linux. Segue abaixo:

    Diretrio Descrio dos arquivos contidos nesse diretrio

    Diretrio Descrio dos arquivos contidos nesse diretrio

    / Diretrio raiz do sistema de arquivos. abaixo dele que se situam todos os outros.

    /bin Arquivos executveis de comandos essenciais. Nele ficam os executveis e bibliotecas dos sistemas.

    /boot Arquivos estticos necessrios a inicializao do sistema.

    /dev Arquivos de dispositivos de hardware do sistema discos rgidos, impressoras e etc

    /etc Arquivos de configurao do sistema

    /home Lugar onde ficam os diretrios dos usurios

    /lib Arquivos de biblioteca essncias do sistema, utilizados pelos programas em /bin.

    /mnt Usualmente o ponto de montagem de dispositivos de mquinas. CDs, DVSs e etc.

    /proc Informaes sobre o Kernel e os processos.

    /root Diretrio local do superusurio

    /sbin Arquivos essncias ao sistema. Normalmente s o superusurio tem acesso a estes arquivos.

    /tmp Diretrio de arquivos temporrios.

    /usr Arquivos pertencentes aos usurios. ( a segunda maior hierarquia de diretrio do Linux, s perdendo para o diretrio raiz.)

    /var Diretrio onde so guardadas informaes variveis sobre o sistema.

    1.2.9 Principais comandos do Linux

    O Linux possui uma infinidade de comandos que podem ser explorados. Segue abaixo os principais:

    apropos: permite localizar programas por assunto;

    info: um sistema mais moderno de obteno de ajuda sobre um comando;

    help: permite obter uma lista dos principais comandos suportados diretamente pelo shell;

    locate: localiza arquivos;

    man: mostra uma ajuda de um comando;

    whatis: exibe o que determinando comando;

    whereis: localizar a pgina de ajuda (man page), cdigo fonte, ou ficheiros binrios, de um determinado

    programa;

    adduser: permite criao de novas contas de usurio;

    arch: informa a arquitetura do computador;

    exit: finaliza sesso atual.

    free: informa a utilizao da memria;

    halt: utilizado pelo usurio root para desligar o sistema imediatamente;

    init: pode ser usado para desligar (0) ou reiniciar (6);

    last: informa o histrico de logs do usurio atual;

  • P g i n a | 8

    login: inicializa uma sesso;

    logname: mostra o login de um usurio;

    logout: finaliza a sesso atual;

    passwd: utilizado para alterar a senha. Parmetros: (-e: faz com que a senha do usuro expire, forando-o a

    fornecer uma nova senha no prximo login; -k: permite a alterao da senha somente s esta estive expirada; -i:

    deixa a conta inativa, caso a senha tenha expirado; -l: bloqueia a conta do usurio; -u: desbloqueia uma conta; -

    S: exibe o status da conta.);

    shutdown: tambm til para desligar o sistema. Parmetros: (-r: reinicializa o computador; -h now: desliga o

    sistema imediatamente; -r +15: reiniciar em 15 minutos; -h +60: desligar em 60 minutos.);

    whoami: mostra o login do usurio atual;

    useradd: adiciona usurios ao sistema;

    userdel: apaga usurios do sistema; se for usada a tag "-f" at mesmo a pasta do usurio ser removida.

    alias: possibilita a criao de apelidos para os comandos desejados;

    cal: exibe o calendrio;

    cat: concatena ou mostra o contedo de pequenos arquivos de texto;

    cd: mudar o diretrio;

    chown: permite alterar o dono e o grupo de um determinado arquivo, a tag "-R" permite a aplicao em todos os

    arquivos e subdiretrios;

    cp: copia arquivos e diretrios;

    cron: executar comandos agendados;

    du: informa o espao ocupado pelos arquivos ou diretrios;

    find: procura arquivos;

    chmod: altera permisses de acesso de arquivos ou diretrios, o "+" acrescenta uma permisso e o "-" tira uma

    permisso. Parmetros: (-u: referente ao dono; -g: referente ao grupo; -o: referenre a outros; -a: referente a

    todos; -r ou 4: leitura; -w ou 2: escrita/gravao; -x ou 1: execuo; -0: sem permisso alguma.);

    df: informa os dados de ocupao do sistema de arquivo, mostra as parties usadas ou livres do HD;

    history: mostra os comandos que o usurio j digitou;

    kill: encerra um ou mais processos em andamento;

    ln: conecta arquivos e diretrios, ou seja, cria links para arquivos ou diretrios;

    mkdir: cria diretrio;

    more: mostra contedo de um arquivo de texto;

    mount: permite fazer a montagem dos dispositivos;

    mv: move ou renomeia arquivos;

    ps: exibe os processos em execuo;

    pwd: mostra o diretrio atual;

    rm: apaga arquivos. Parmetros: (-r: apara diretrios nao vazios se utilizar; -rf: apaga o diretrio sem mostrar as

    confirmaes de excluso de arquivos.);

    rmdir: remove diretrios vazios;

    ls: lista o contedo de uma diretrio, semelhante ao comando dir no MS-DOS;

    ipconfig: visualizar os ips da nossa mquina, entre outras funes relacionadas com IPs;

    clock: define a hora do processador;

    date: exibe a data e hora;

    su: usado geralmente para alternar entre diferentes usurios dentro de um terminal virtual.

    tar: cria ou extrai arquivos, muito usado como programa de backup ou compresso de ficheiros;

    vi: editor de texto full-screen;

    vim: editor de texto full-screen melhorado;

    file: determina o tipo de ficheiro

    grep: procura um ficheiro por um padro, sendo um filtro muito til e usado, por exemplo um cat a.txt | grep ola

    ir mostrar-nos apenas as linhas do ficheiro a.txt que contenham a palavra ola.

  • P g i n a | 9

    sort: ordena, une ou compara texto, podendo ser usado para extrair informaes dos ficheiros de texto ou

    mesmo para ordenar dados de outros comandos como por exemplo listar ficheiros ordenados pelo nome;

    wc: conta linhas, palavras e mesmo caracteres num ficheiro;

    tail: funciona de forma inversa ao comando head, mostra-nos as ltimas linhas de um ficheiro ou mesmo do

    output de outro comando, quando usado como filtro;

    bg: coloca um processo suspenso em background;

    fg: ao contrrio do comando bg, o fg traz de volta um processo ao foreground;

    top: lista os processos que mais cpu usam, til para verificar que processos esto a provocar um uso excessivo de

    memria, e quanta percentagem de cpu cada um usa em dado momento;

    wget: permite-nos fazer o download completo de pginas web, com todos os ficheiros, de forma fcil e no

    interactiva.

    1.3 Servios de diretrio: Active Directory e LDAP

    AD - Active Directory

    O Active Directory um sistema baseado em banco de dados que fornece autenticao, diretrio, poltica e outros

    servios em um ambiente Windows. Ele armazena informaes sobre usurios, computadores e outros dispositivos

    existentes na rede. O diretrio do Active Directory composto por Objetos. Um objeto representa qualquer recurso que

    possumos na rede. Uma conta de usurio que existe no Active Directory um objeto, um grupo um objeto, at uma

    impressora pode ser um objeto para o AD.

    Objetos

    Quando criamos um objeto no AD, por exemplo uma conta de usurio, a mesma possui certas propriedades, como por

    exemplo seu nome, seu nome de logon, telefone, endereo, entre outras. Essas propriedades so o que chamamos de

    atributos dos objetos. Os principais tipos de objetos que o Active Directory no Windows 2003 nos disponibiliza so:

    Contas de usurios

    Grupos

    Contas de computadores

    Pastas Compartilhadas

    Impressoras

    Contatos.

    Domnio

    O Active Directory composto por domnios. Um domnio uma unidade administrativa do Active Directory, que ir

    armazenar seus objetos. Qualquer Windows Server poder ser o Controlador de Domnio, com exceo da verso Web

    Edition.

    rvores

    A definio de uma rvore um arranjamento hierrquivo de domnios. Quando criamos o nosso domnio, criamos

    tambm uma rvore. O nome de nossa rvore ser o mesmo nome que configuramos para o nosso domnio. Atravs da

    arvore possvel criarmos subdomnios. Um subdomnio um domnio que est abaixo de outro domnio na hierarquia

    da rvore (usamos tambm o termo child domain para o subdomnio).

    Florestas

    Uma floresta Windows 2003 composta de por uma ou mais rvores de domnios Windows 2003 que no compartilham

    um namespace comum. Uma floresta o limite mais externo do Active Directory. Se tivermos uma rvore e dois

    domnios, todos participam da mesma floresta. Mas para ter uma floresta eu preciso de pelo menos uma rvore e um

  • P g i n a | 10

    domnio certo? Sim! E quando a floresta criada? Ela criada quando criamos o nosso primeiro domnio. O nome da

    floresta o nome do primeiro domnio criado, o qual tambm chamamos de forest root domain.

    Unidades Organizacionais

    Para podermos entender a utilizao de Organizational Units, vamos pensar em um exemplo simples: voc tem os seus

    arquivos, o qual voc coloca em pastas para organiz-los melhor, certo? Voc poderia coloc-los direto na raiz de sua

    unidade? (por exemplo, colocar todos os seus arquivos direto em C:) Sim, poderia. Isso iria funcionar? Sim, iria funcionar.

    Mas isso seria funcional? Com certeza no. Tudo bem, voc saberia onde esto seus arquivos, mas e at voc encontrar o

    que voc precisa? Levaria muito mais tempo dessa maneira do que se eles estivesse organizados em pastas especficas. A

    idia de Organizational Units, ou como so mais conhecidas OUs, termos pastas para poder organizar melhor os

    objetos do domnio, poder aplicar configuraes de segurana e delegar autoridade administrativa. Por exemplo, se na

    nossa empresa tivssemos cinco departamentos com mais ou menos 70 funcionrios em cada um deles. Poderamos

    colocar todas as contas de usurios, grupos, impressoras, e computadores diretamente no domnio. Mas e se

    precisssemos aplicar um poltica de segurana s para os funcionrios do departamento de vendas? Teramos de aplicar

    a configurao no domnio e ela sobrecairia em todos os objetos do domnio, o que no era o desejado. Mas poderamos

    criar uma OU para o departamento vendas, colocar todos os objetos respectivos ao departamento vendas na OU e aplicar

    a poltica de segurana na OU, o que nada afetaria os outros objetos do nosso domnio. Alm disso, mesmo que no fosse

    necessrio aplicar polticas de segurana especficas para os outros departamentos, poderamos criar uma OU para cada

    departamento e colocar os objetos especficos nas OUs. Para visualizarmos as OU que existem em nosso domnio,

    utilizamos a feramente Active Directory Users and Computers que fica na pasta Administrative Tools.

    Resumindo... De forma resumida podemos dizer que os objetos so os usurios e os computadores cadastrados. As

    unidades organizacionais podem ser criadas para organizar estes usurios e computadores em estruturas para receber

    configuraes da poltica de grupo (group policy). O domnio a estrutura que centraliza as unidades organizacionais

    dentro da rede. As rvores de domnio reunem diversos controladores de domnio em uma estrutura empresarial. E as

    florestas organizam as rvores de domnios da empresa.

    Outros conceitos de AD

    RODC (Controladores de domnio somente leitura): um RODC (controlador de domnio somente leitura) um novo tipo

    de controlador de domnio do sistema operacional Windows Server 2008. Com um RODC, as organizaes podem

    facilmente implantar um controlador de domnio em locais onde no possvel garantir a segurana fsica. Um RODC

    hospeda parties somente leitura do banco de dados dos Servios de Domnio Active Directory (AD DS).

    Funo Active Directory Rights Management Services: o AD RMS, uma tecnologia agnstica de aplicativo e formato,

    fornece servios para permitir a criao de solues de proteo de informaes. O contedo que pode ser protegido

    pelo uso do AD RMS inclui sites de intranet, mensagens de email e documentos. O AD RMS foi criado para ajudar a tornar

    o contedo mais seguro, independentemente de o contedo protegido por direitos poder ser movido.

    O AD RMS depende dos Servios de Domnio Active Directory (AD DS) para verificar se o usurio que est tentando

    consumir contedo protegido por direitos est autorizado a fazer isso.

    Funo Servios AD LDS: A funo de servidor AD LDS (Active Directory Lightweight Directory Services) um servio de

    diretrio do protocolo LDAP. Ela oferece armazenamento e recuperao de dados para aplicativos habilitados em

    diretrio, sem as dependncias necessrias aos Servios de Domnio Active Directory (AD DS). O AD LDS oferece grande

    parte da mesma funcionalidade que o AD DS (na verdade, ele foi criado em cima da mesma base de cdigo), mas no

    requer a implantao de domnios ou controladores de domnio.

    Como o AD LDS foi desenvolvido para ser um servio de diretrio para aplicativos, esperado que os aplicativos iro criar,

    gerenciar e remover objetos de diretrio.

    LDAP - Lightweight Directory Access Protocol

  • P g i n a | 11

    O LDAP (Lightweight Directory Access Protocol) um protocolo de aplicao para consultar e modificar itens de

    prestadores de servios de diretrio como o Active Directory, que suporta uma forma de LDAP. Sua funo atualizar e

    pesquisar diretrios rodando sobre TCP/IP. Ele foi criado como uma alternativa ao DAP (Directory Access Protocol) para

    navegar em diretrios no formato X.500. O LDAP permite manipular informaes sobre pessoas, senhas, impressoras,

    recursos e servios, unidades organizacionais, entre outros, e define as formas como essas informaes podem ser

    consultadas, inseridas, removidas ou atualizadas. Uma verso segura desse protocolo, o LDAPS, tambm est disponvel.

    O LDAP:

    Centraliza, em um nico local da rede, informaes acerca de usurios, senhas e diretrios.

    Permite acesso aos dados de forma segura usando SSL.

    independente de plataforma, podendo ser usado tanto no Active Directory do Windows como no Open

    LDAP do Linux.

    Armazena as informaes de forma hierrquica em uma estrutura de rvore.

    Sofre mais consultas que atualizaes.

    Suporta tanto a autenticao por meio de certificados quanto o uso de TLS.

    Um cliente comea uma sesso de LDAP ligando-se a um servidor LDAP normalmente pela porta padro TCP 389. Este

    envia requisies para o servidor, que devolve respostas das consultas e alteraes. As operaes bsicas so divididas

    em trs categorias, conforme a seguir:

    Categoria Operao Descrio

    Autenticao e controle Bind Autentica e especifica a verso do protocolo LDAP.

    Autenticao e controle Abandon Aborta uma requisio prvia.

    Autenticao e controle Unbind Fecha a conexo, no o inverso de Bind.

    Pesquisa e comparao Search Procura por e/ou recupera entradas dos diretrios.

    Pesquisa e comparao Compare Testa se uma entrada tem determinado valor como atributo.

    Atualizao Add Adiciona uma nova entrada.

    Atualizao Delete Apaga uma entrada.

    Atualizao Modify Modifica uma entrada.

    Atualizao Modify DN Move ou renomeia uma entrada.

    Start TLS Protege a conexo com a Transport Layer Security (TLS).

    Extended Operation Operao genrica para definir outras operaes.

    A estrutura bsica das informaes LDAP baseada em uma rvore conceitual, chamada de DIT (Directory Information

    Tree). Cada folha dessa rvore um objeto identificado por um DN (Distinguished Name), que representa um endereo

    na estrutura LDAP sendo considerada. Os identificadores DN possuem uma utilizao parecida com os sistemas de

    arquivo, com a diferena de que a parte mais significativa no LDAP aparece primeiro (ex:

    cn=Henrique,o=funcionrio,ou=administrativo), enquanto nos endereos de arquivo acontece o contrrio (ex:

    /home/user/arquivo). A identificao de elementos do LDAP semelhante estrutura utilizada no DNS, com a parte mais

    significativa aparecendo primeiro (mais esquerda).

    Para cada objeto (folha da rvore) so definidos atributos. Alguns dos atributos que podem ser associados aos objetos

    so:

    Atributo Descrio

    c country (Pas)

    cn common name

    dc domainComponent

    dn distinguished name (define uma entrada sem ambigidades. o caminho de registros que fica entre o registro a ser especificado e a raiz)

  • P g i n a | 12

    Givenname Primeiro nome

    ou organizationalUnitName

    rdn relative distinguished name (identifica um registro em seu nvel)

    sn surname (sobrenome)

    uid user ID

    Registro: contm informaes sobre o objeto armazenado (usurio, impressora, etc.).

    Object class: define quais atributos so obrigatrios e quais so opcionais em um registro. Um registro tem uma ou mais

    object class.

    Schema: conjunto de regras que define os tipos de dados possveis (int, string, etc.) e organizao desses dados. Busca

    manter a consistncia dos dados no diretrio LDAP.

    Modelos de abordagem do LDAP

    Modelo de informaes: define o tipo de informao que pode ser armazenada em um diretrio LDAP.

    Trata dos atributos, das object class, dos schemas, etc.

    Modelo de nomes: define como a informao no diretrio LDAP pode ser organizada e referenciada.

    Trata da organizao da DIT, como os RDNs e o DNs.

    Modelo funcional: define o que pode ser feito com a informao no diretrio LDAP e como ela pode ser

    acessada e alterada. Descreve o que fazer com o diretrio e atravs de quais ferramentas, como por

    exemplo, fazer autenticao, buscar no diretrio, modificar dados, etc.

    Modelo de segurana: define como a informao no diretrio LDAP pode ser protegida de acessos ou

    modificaes no autorizadas. No LDAP, podemos ter vrios usurios alm do administrador. Na verdade,

    caso voc deseje, o LDAP pode tratar cada registro da DIT como um usurio. Para dizer o que cada usurio

    ter permisso de fazer (ler ou modificar) e em quais registros ele poder fazer isso (registros prprios

    dele ou dos outros), existem as ACLs (Access Control Lists). O modelo de segurana utiliza o TLS

    (criptografa a comunicao entre cliente e servidor) e a SASL Simple Authentication and Secutiry Layer

    (mtodo de negociao seguro de autenticao entre cliente e servidor para provar ao servio que um

    cliente vlido).

    Resposta curta: AD um banco de dados de servios de diretrio, e LDAP um dos protocolos que voc pode usar para

    falar com ele.

    2. VIRTUALIZAO COM CITRIX XEN SERVER E VMWARE ESXI

    Virtualizao de servidores uma tecnologia que permite, atravs do compartilhamento de hardware, que mltiplos

    sistemas operacionais possam ser executadas em um nico servidor fsico. Utilizando-se do Citrix XenServer ou VMWare

    ESXi cada mquina virtual completamente isolada das outras mquinas virtuais. Com a virtualizao cada mquina

    virtual configurada neste processo comporta-se como servidor completo, seguro e totalmente isolado como se fosse um

    servidor independente.

    2.1 Citrix XenServer

    O XenServer uma soluo de classe empresarial comprovada para computao em nuvem e virtualizao de servidores,

    que reduz drasticamente os custos do datacenter ao transformar os ambientes de TI estticos e complexos em

    datacenters virtuais dinmicos e fceis de gerenciar. Oferece capacidades de gerenciamento avanadas para integrar e

    automatizar os datacenters virtuais por uma frao do custo de outras solues.

    Requerimentos para instalao

    XenServer executado diretamente no seu hardware, ento no haver nada entre o hardware e o XenServer. Em outras

    palavras, o XenServer funcionar literalmente como o sistema operacional. Ele vai falar diretamente com o hardware,

    incluindo a interface de rede (NIC) e controlador de armazenamento.

  • P g i n a | 13

    Ele requer uma CPU 64-bit com a tecnologia Intel VT ou AMD-V habilitado, isso mais como uma especificao

    recomendada, no significa que XenServer no ser instalado se o seu processador no possuir suporte a Intel VT ou

    AMD-V habilitado. Porm, ele ter seus recursos e funcionalidades bem limitadas.

    O XenServer um hypervisor paravirtualizado, usa a tcnica de paravirtualizao. Portanto, requer que o processador

    existente em seu servidor fsico possua suporte a tecnologia de virtualizao para que voc aproveite todas as

    funcionalidades e vantagens dessa tecnologia. peciso de um mnimo de 2 GB de RAM s para instalar

    XenServer, mas o recomendado de pelo menos 8 GB, especialmente se voc pretende hospedar mltiplas mquinas

    virtuais. XenServer sozinho vai exigir 16 GB de espao em disco. Mas, novamente, voc vai precisar de mais para as

    mquinas virtuais caso deseje hosped-las localmente.

    Pode-se instalar at 1 TB de RAM, 16 placas de rede, e 64 processadores lgicos em um host fsico que executa o

    XenServer. Lembre-se que os processadores lgicos uma combinao dos ncleos, o hyperthreading que est ativado,

    etc.

    Abaixo algumas caractersticas:

    Console de gerenciamento Citrix XenCenter: O Citrix XenCenter oferece funes de monitoramento ,

    gerenciamento e administrao geral de VMs em uma nica interface que permite equipe de TI gerenciar

    facilmente centenas de mquinas virtuais a partir de um console de gerenciamento centralizado e altamente

    disponvel, que pode ser instalado em qualquer desktop Windows.

    Virtual Switching Distribudo: O XenServer possui todas as ferramentas necessrias para criar uma estrutura de

    rede virtual multi-tenant, extremamente flexvel e isolada. Esta estrutura baseada em poltica assegura que a

    configurao de rede das mquinas virtuais siga a VM quando migra dentro de um pool de recursos. As polticas

    so definidas no nvel da rede virtual garantindo que os requisitos de segurana de rede sejam atendidos

    independente das configuraes da VM convidada.

    Balanceamento dinmico da carga de trabalho: O XenServer aprimora o uso do sistema e a performance dos

    aplicativos ao balancear automaticamente as mquinas virtuais com base em polticas definidas pelos usurios

    dentro do pool de recursos, para colocao inicial e operaes contnuas.

    Alta disponibilidade: O XenServer move e reinicializa automaticamente as mquinas virtuais se houver uma

    falha na mquina virtual, no hypervisor ou no servidor. Esta capacidade de auto reinicializao permite aos

    administradores protegerem todos os aplicativos virtualizados e proporciona nveis mais altos de disponibilidade

    para a empresa.

    Gerenciamento de energia: O XenServer aproveita os recursos do hardware para relocar VMs dinamicamente e

    ligar e desligar hosts conforme a demanda por recursos flutuar.

    Recuperao de desastres: O XenServer possui recursos de recuperao de desastres com um planejamento de

    recuperao de desastres de site-to-site e servios para ambientes virtuais. Estes recursos so fceis para

    configurar, rpidos para recuperar e tm a habilidade de testar frequentemente os planos de recuperao de

    desastres para garantir que permanecem sempre vlidos.

    IntelliCache: O XenServer usa o armazenamento local como repositrio para as imagens de boot e dados

    temporrios reduzindo o volume de trfego no Storage para instalaes XenDesktop.

    Otimizao de memria: O XenServer reduz os custos e melhora a performance e a proteo de aplicativos ao

    compartilhar a memria de servidores sem uso entre as mquinas virtuais no servidor host.

    Servios de provisionamento: O Citrix Provisioning Services reduz os requisitos de armazenamento ao criar um

    conjunto de imagens padro que podem ser transmitidas para servidores fsicos e virtuais para que as

    instalaes de aplicativos sejam mais rpidas, consistentes e confiveis.

    Administrao baseada em funes: A administrao baseada em funes do XenServer aumenta a segurana e

    permite acesso delegado, controle e uso dos recursos do pool ao manter uma estrutura de acesso em camadas

    com nveis de permisso variveis.

  • P g i n a | 14

    Citrix StorageLink: O Citrix StorageLink oferece integrao com as plataformas lderes de armazenamento de

    rede, o que permite aos gerentes de armazenamento aproveitarem as ferramentas existentes de gerenciamento

    de dados para manter os processos de gerenciamento consistentes em ambientes fsicos e virtuais.

    Proteo e recuperao das mquinas virtuais: O XenServer protege contra a perda de dados em caso de falha

    nas mquinas virtuais ao tirar snapshots regularmente e arquivar as imagens em um local especfico de

    armazenamento.

    2.2 VMWare ESXi

    O VMware ESXi fornece a base para criao de uma infra estrutura de confiabilidade e dinamismo. Esta ferramenta

    abstrai os recursos de processador, memria, armazenamento e rede de uma s mquina passando para varias mquinas

    virtualizada,esta a ferramenta de Virtualizao mais implantada do mercado.

    O VMware ESXi a ferramenta mais recente da VMware,ela possui grande arquitetura e no depende de um sistema

    operacional. O VMware ESXi criou um novo nvel de segurana e confiabilidade, possui uma codificao menor, com

    menos cdigo para corrigir menos erros , tornando esta ferramenta muito difcil de receber ataques. Este software pode

    ser integrado diretamente aos servidores x86, que padro do setor dos fabricantes lderes no mercado de fabricao ,

    como Dell, IBM, HP e Fujitsu-Siemens.

    A ferramenta ESXi est disponvel no site da fabricante gratuitamente para utilizaes de servidores nicos. Assim,a rea

    de Tecnologia da Informao utiliza de outra ferramenta gratuita, o VMware vShere client, para gerenciamento dos

    recursos.

    O VMware ESXi instalado diretamente no hardware da mquina, inserindo a camada de Virtualizao entre o hardware

    e o sistema operacional, com o controle geral da mquina, como os servidores que foram instalados, o armazenamento e

    a rede. As ferramentas VMware ESXi permitem que em um s espao fsico consigamos executar diversos aplicativos em

    diversas mquinas virtuais ao mesmo tempo.

    Abaixo algumas caractersticas:

    Ocupa pouco espao no disco aps a instalao;

    Suporta Storages (SAN, NAS,...);

    Possibilita a criao de Redes Virtuais (switches virtuais);

    Suporte a VLAN, Traffic Shapping;

    Suporte a Paravirtualizao;

    Suporte a multiprocessadores;

    Melhoria no gerenciamento de recursos( atravs da funcionalidade "Pool de Recursos");

    Upgrades(para verses pagas) sem precisar de reinstalao;

    Snapshots do disco e da memria;

    Downloads e Uploads de VMs (download pode ser "a quente");

    Priorizao de I/O ao disco;

    Ordem de Boot e Shutdown.

    2.3 Diferenas entre o Xen Server e VMware ESXi

    Funcionalidades Citrix XenServer 6 VMware ESXi 5

    Suporte a Vrios Sockets (Processador Fsico)

    Sem restries Suporte a Somente 01 Socket

    (Processador Fsico)

    Memria Ram no Host 1 TB RAM no Host 32 GB no Host

    Tamanho mximo de Memria RAM na VM

    128 GB RAM 32 GB RAM

    Instalao Bare-metal Gratuito Gratuito

  • P g i n a | 15

    Ferramentas de migrao P2V e V2V Gratuitas

    Gratuito Gratuito

    Gerenciamento Mltiplo de Servidores

    Gratuito No possui. Gerenciamento

    Comprar vCenter Server

    Pools de Recursos (Cluster) e Storage Compartilhado

    Gratuito. Para servidores com mesmo hardware

    No possui

    Snapshots de mquinas virtuais (VM)

    Gratuito No possui

    Monitoramento de performance em tempo Real

    Grauito No possui

    Migrao a Quente (XenMotion) e Backup de VMs Incluso

    Gratuito No possui

    Quantidade de vCPU (Processador Virtual) por mquina Virtual

    Suporte a 16 vCPU para VMs Windows e suporte a 32 vCPU para VMs Linux

    8 vCPU para cada VM

    Modo Manuteno Incluso No possui

    Atualizao do Hypervisor Facilitado com Assistentes

    dentro do XenCenter Linha de comando

    Templates VMs Gratuito No Possui

    Clonar VMs Gratuito No Possui

    Suporte a SNMP Gratuito No Possui

    3. COMPUTAO EM NUVEM

    O conceito de computao em nuvem (em ingls, cloud computing) refere-se utilizao da memria e das capacidades

    de armazenamento e clculo de computadores e servidores compartilhados e interligados por meio da Internet, seguindo

    o princpio da computao em grade.

    O armazenamento de dados feito em servios que podero ser acessados de qualquer lugar do mundo, a qualquer hora,

    no havendo necessidade de instalao de programas ou de armazenar dados. O acesso a programas, servios e arquivos

    remoto, atravs da Internet - da a aluso nuvem. O uso desse modelo (ambiente) mais vivel do que o uso de

    unidades fsicas.

    Num sistema operacional disponvel na Internet, a partir de qualquer computador e em qualquer lugar, pode-se ter

    acesso a informaes, arquivos e programas num sistema nico, independente de plataforma. O requisito mnimo um

    computador compatvel com os recursos disponveis na Internet. O PC torna-se apenas um chip ligado Internet a

    "grande nuvem" de computadores sendo necessrios somente os dispositivos de entrada (teclado, mouse) e sada

    (monitor).

    Empresas como Amazon, Google, IBM e Microsoft foram as primeiras a iniciar uma grande ofensiva nessa "nuvem de

    informao" (information cloud), que especialistas consideram uma "nova fronteira da era digital". Aos poucos, essa

    tecnologia vai deixando de ser utilizada apenas em laboratrios para ingressar nas empresas e, em breve, em

    computadores domsticos.

    O primeiro servio na Internet a oferecer um ambiente operacional para os usuriosantigamente, disponvel no

    endereo www.webos.orgfoi criado por um estudante sueco, Fredrik Malmer, utilizando as linguagens XHTML e

    Javascript. Atualmente, o termo AJAX adotado para definir a utilizao dessas duas linguagens na criao de servios na

    Internet.

    Em 1999, foi criada nos EUA a empresa WebOS Inc., que comprou os direitos do sistema de Fredrik e licenciou uma srie

    de tecnologias desenvolvidas nas universidades do Texas, Califrnia e Duke. O objetivo inicial era criar um ambiente

    operacional completo, inclusive com API para o desenvolvimento de outros aplicativos.

    Tipologia

  • P g i n a | 16

    Atualmente, a computao em nuvem dividida em sete tipos:

    IaaS: Infrastructure as a Service ou Infraestrutura como Servio (em portugus): quando se utiliza uma

    percentagem de um servidor, geralmente com configurao que se adeque sua necessidade.

    PaaS: Plataform as a Service ou Plataforma como Servio (em portugus): utilizando-se apenas uma plataforma

    como um banco de dados, um web-service, etc. (p.ex.: Windows Azure e Jelastic).

    DevaaS: Development as a Service ou Desenvolvimento como Servio (em portugus): as ferramentas de

    desenvolvimento tomam forma na computao em nuvem como ferramentas compartilhadas, ferramentas de

    desenvolvimento web-based e servios baseados em mashup.

    SaaS: Software as a Service ou Software como Servio (em portugus): uso de um software em regime de

    utilizao web (p.ex.: Google Docs , Microsoft SharePoint Online).

    CaaS: Communication as a Service ou Comunicao como Servio (em portugus): uso de uma soluo de

    Comunicao Unificada hospedada em Data Center do provedor ou fabricante (p.ex.: Microsoft Lync).

    EaaS: Everything as a Service ou Tudo como Servio (em portugus): quando se utiliza tudo, infraestrurura,

    plataformas, software, suporte, enfim, o que envolve T.I.C. (Tecnologia da Informao e Comunicao) como um

    Servio.

    DBaas: Data Base as a Service ou Banco de dados como Servio (em portugus): quando utiliza a parte de

    servidores de banco de dados como servio.

    Servios oferecidos

    Os seguintes servios atualmente so oferecidos por empresas:

    Servidor Cloud

    Hospedagem de Sites em Cloud

    Load Balancer em Cloud

    Email em Cloud

    Caracterstica de computao em nuvem

    Provisionamento dinmico de recursos sob demanda, com mnimo de esforo;

    Escalabilidade;

    Uso de "utilility computing", onde a cobrana baseada no uso do recurso ao invs de uma taxa fixa;

    Viso nica do sistema;

    Distribuio geogrfica dos recursos de forma transparente ao usurio.

    Modelo de implantao

    No modelo de implantao, dependemos das necessidades das aplicaes que sero implementadas. A restrio ou

    abertura de acesso depende do processo de negcios, do tipo de informao e do nvel de viso desejado. Percebemos

    que certas organizaes no desejam que todos os usurios possam acessar e utilizar determinados recursos no seu

    ambiente de computao em nuvem. Segue abaixo a diviso dos diferentes tipos de implantao:

    Privado: As nuvens privadas so aquelas construdas exclusivamente para um nico usurio (uma empresa, por

    exemplo). Diferentemente de um data center privado virtual, a infraestrutura utilizada pertence ao usurio, e,

    portanto, ele possui total controle sobre como as aplicaes so implementadas na nuvem. Uma nuvem privada

    , em geral, construda sobre um data center privado.

    Pblico: As nuvens pblicas so aquelas que so executadas por terceiros. As aplicaes de diversos usurios

    ficam misturadas nos sistemas de armazenamento, o que pode parecer ineficiente a princpio. Porm, se a

    implementao de uma nuvem pblica considera questes fundamentais, como desempenho e segurana, a

  • P g i n a | 17

    existncia de outras aplicaes sendo executadas na mesma nuvem permanece transparente tanto para os

    prestadores de servios como para os usurios.

    Comunidade: A infraestrutura de nuvem compartilhada por diversas organizaes e suporta uma comunidade

    especfica que partilha as preocupaes (por exemplo, a misso, os requisitos de segurana, poltica e

    consideraes sobre o cumprimento). Pode ser administrado por organizaes ou por um terceiro e pode existir

    localmente ou remotamente.

    Hbrido: Nas nuvens hbridas temos uma composio dos modelos de nuvens pblicas e privadas. Elas permitem

    que uma nuvem privada possa ter seus recursos ampliados a partir de uma reserva de recursos em uma nuvem

    pblica. Essa caracterstica possui a vantagem de manter os nveis de servio mesmo que haja flutuaes rpidas

    na necessidade dos recursos. A conexo entre as nuvens pblica e privada pode ser usada at mesmo em tarefas

    peridicas que so mais facilmente implementadas nas nuvens pblicas, por exemplo. O termo computao em

    ondas , em geral, utilizado quando se refere s nuvens hbridas.

    Vantagens

    A maior vantagem da computao em nuvem a possibilidade de utilizar softwares sem que estes estejam instalados no

    computador. Mas h outras vantagens:

    Na maioria das vezes o usurio no precisa se preocupar com o sistema operacional e hardware que est usando

    em seu computador pessoal, podendo acessar seus dados na "nuvem computacional" independentemente disso;

    As atualizaes dos softwares so feitas de forma automtica, sem necessidade de interveno do usurio;

    O trabalho corporativo e o compartilhamento de arquivos se tornam mais fceis, uma vez que todas as

    informaes se encontram no mesmo "lugar", ou seja, na "nuvem computacional";

    Os softwares e os dados podem ser acessados em qualquer lugar, basta apenas que haja acesso Internet, no

    so mais restritos ao ambiente local de computao, nem dependem da sincronizao de mdias removveis.

    O usurio tem um melhor controle de gastos ao usar aplicativos, pois a maioria dos sistemas de computao em

    nuvem fornece aplicaes gratuitamente e, quando no gratuitas, so pagas somente pelo tempo de utilizao

    dos recursos. No necessrio pagar por uma licena integral de uso de software;

    Diminui a necessidade de manuteno da infraestrutura fsica de redes locais cliente/servidor, bem como da

    instalao dos softwares nos computadores corporativos, pois esta fica a cargo do provedor do software em

    nuvem, bastando que os computadores clientes tenham acesso Internet;

    A infraestrutura necessria para uma soluo de computao em nuvem bem mais enxuta do que uma soluo

    tradicional de hospedagem ou alojamento, consumindo menos energia, refrigerao e espao fsico e

    consequentemente contribuindo para a preservao e o uso racional dos recursos naturais.

    Desvantagens

    A maior desvantagem da computao em nuvem vem fora do propsito desta, que o acesso a internet. Caso voc perca

    o acesso, comprometer todos os sistemas embarcados.

    Velocidade de processamento: caso seja necessrio uma grande taxa de transferncia, se a internet no tiver

    uma boa banda, o sistema pode ser comprometido. Um exemplo tpico com mdias digitais ou jogos;

    Assim como todo tipo de servio, ele custeado.

    Maior risco de comprometimento da privacidade do que em armazenamento off-line.

    Gerenciamento da segurana da informao na nuvem

    Sete princpios de segurana em uma rede em nuvem:

    Acesso privilegiado de usurios: A sensibilidade de informaes confidenciais nas empresas obriga um controle

    de acesso dos usurios e informao bem especfica de quem ter privilgio de administrador, para ento esse

    administrador controle os acessos

  • P g i n a | 18

    Compliance com regulamentao: As empresas so responsveis pela segurana, integridade e a

    confidencialidade de seus prprios dados. Os fornecedores de computao em nuvem devem estar preparados

    para auditorias externas e certificaes de segurana.

    Localizao dos dados: A empresa que usa cloud provavelmente no sabe exatamente onde os dados esto

    armazenados, talvez nem o pas onde as informaes esto guardadas. O fornecedor deve estar disposto a se

    comprometer a armazenar e a processar dados em jurisdies especficas, assumindo um compromisso em

    contrato de obedecer os requerimentos de privacidade que o pas de origem da empresa pede.

    Segregao dos dados: Geralmente uma empresa divide um ambiente com dados de diversos clientes. Procure

    entender o que feito para a separao de dados, que tipo de criptografia segura o suficiente para o

    funcionamento correto da aplicao.

    Recuperao dos dados: O fornecedor em cloud deve saber onde esto os dados da empresa e o que acontece

    para recuperao de dados em caso de catstrofe. Qualquer aplicao que no replica os dados e a infra-

    estrutura em diversas localidades est vulnervel a falha completa. Importante ter um plano de recuperao

    completa e um tempo estimado para tal.

    Apoio investigao: A auditabilidade de atividades ilegais pode se tornar impossvel na computao em nuvem

    uma vez que h uma variao de servidores conforme o tempo onde esto localizados os acessos e os dados dos

    usurios. Importante obter um compromisso contratual com a empresa fornecedora do servio e uma evidncia

    de sucesso no passado para esse tipo de investigao.

    Viabilidade em longo prazo: No mundo ideal, o seu fornecedor de computao em nuvem jamais vai falir ou ser

    adquirido por uma empresa maior. A empresa precisa garantir que os seus dados estaro disponveis caso o

    fornecedor de computao em nuvem deixe de existir ou seja migrado para uma empresa maior. Importante

    haver um plano de recuperao de dados e o formato para que possa ser utilizado em uma aplicao substituta.

    Sistemas atuais

    Os sistemas operacionais para Internet mais utilizados so:

    Google Chrome OS: Desenvolvido pela Google, j incorporado nos Chromebooks, disponveis desde 15 de junho

    de 2011. Trabalha com uma interface diferente, semelhante ao do Google Chrome, em que todas as aplicaes

    ou arquivos so salvos na nuvem e sincronizados com sua conta do Google, sem necessidade de salv-los no

    computador, j que o HD dos dois modelos de Chromebooks anunciados contam com apenas 16gb de HD.

    Joli Os: desenvolvido por Tariq Krim, o ambiente de trabalho chamado jolicloud usa tanto aplicativos em nuvem

    quanto aplicativos offline, baseado no ubuntu notebook remix, j tem suporte a vrios navegadores como google

    chrome, safari, firefox, e est sendo desenvolvido para funcionar no android.

    YouOS: desenvolvido pela empresa WebShaka, cria um ambiente de trabalho inspirado nos sistemas

    operacionais modernos e utiliza a linguagem Javascript para executar as operaes. Ele possui um recurso

    semelhante hibernao no MS-Windows XP, em que o usurio pode salvar a rea de trabalho com a

    configurao corrente, sair do sistema e recuperar a mesma configurao posteriormente. Esse sistema tambm

    permite o compartilhamento de arquivos entre os usurios. Alm disso, possui uma API para o desenvolvimento

    de novos aplicativos, sendo que j existe uma lista de mais de 700 programas disponveis. Fechado pelos

    desenvolvedores em 30 de julho de 2008;

    DesktopTwo: desenvolvido pela empresa Sapotek, tem como pr-requisito a presena do utilitrio Flash Player

    para ser utilizado. O sistema foi desenvolvido para prover todos os servios necessrios aos usurios, tornando a

    Internet o principal ambiente de trabalho. Utiliza a linguagem PHP como base para os aplicativos disponveis e

    tambm possui uma API, chamada Sapodesk, para o desenvolvimento de novos aplicativos. Fechado para

    desenvolvedores;

    G.ho.st: Esta sigla significa Global Hosted Operating SysTem (Sistema Operacional Disponvel Globalmente),

    tem como diferencial em relao aos outros a possibilidade de integrao com outros servios como: Google

    Docs, Meebo, ThinkFree, entre outros, alm de oferecer suporte a vrios idiomas;

    eyeOS: Este sistema est sendo desenvolvido por uma comunidade denominada EyeOS Team e possui o cdigo

    fonte aberto ao pblico. O objetivo dos desenvolvedores criar um ambiente com maior compatibilidade com os

  • P g i n a | 19

    aplicativos atuais, MS-Office e OpenOffice. Possui um abrangente conjunto de aplicativos, e o seu

    desenvolvimento feito principalmente com o uso da linguagem PHP.

    iCloud: Sistema lanado pela Apple em 2011, capaz de armazenar at 5 GB de fotos, msicas, documentos,

    livros e contatos gratuitamente, com a possibilidade de adquirir mais espao em disco (pago).

    Ubuntu One: Ubuntu One o nome da sute que a Canonical (Mantenedora da distribuio Linux Ubuntu) usa

    para seus servios online. Atualmente com o Ubuntu One possvel fazer backups, armazenamento,

    sincronizao e compartilhamento de arquivos e vrios outros servios que a Canonical adiciona para oferecer

    mais opes e conforto para os usurios.

    IBM Smart Business: Sistema da IBM que engloba um conjunto de servios e produtos integrados em nuvem

    voltados para a empresa. O portflio incorpora sofisticada tecnologia de automao e autosservio para tarefas

    to diversas como desenvolvimento e teste de software, gerenciamento de computadores e dispositivos, e

    colaborao. Inclui o Servidor IBM CloudBurst server (US) com armazenamento, virtualizao, redes integradas e

    sistemas de gerenciamento de servio embutidos.

    Dropbox: Dropbox um sistema de armazenamento em nuvem que inicia-se gratuitamente com 2gb e conforme

    indica amigos o espao para armazenamento de arquivos cresce at 18gb. Tambm tem opes pagas com

    maior espao.

    Skydrive: Servio de armazenamento em nuvem da Microsoft com 7gb free e com a possibilidade de adquirir

    mais espao. Tem servios sicronizados com o windows 8, windows phone e Xbox.

    4. SERVIDORES HTTP APACHE

    O servidor Apache (ou Servidor HTTP Apache, em ingls: Apache HTTP Server, ou simplesmente: Apache) o mais bem

    sucedido servidor web livre. Foi criado em 1995 por Rob McCool, ento funcionrio do NCSA (National Center for

    Supercomputing Applications). Numa pesquisa realizada em dezembro de 2007, foi constatado que a utilizao do

    Apache representa 47.20% dos servidores ativos no mundo. Em maio de 2010, o Apache serviu mais de 54,68% de todos

    os sites e mais de 66% dos milhes de sites mais movimentados. a principal tecnologia da Apache Software

    Foundation, responsvel por mais de uma dezena de projetos envolvendo tecnologias de transmisso via web,

    processamento de dados e execuo de aplicativos distribudos.

    O servidor compatvel com o protocolo HTTP verso 1.1. Suas funcionalidades so mantidas atravs de uma estrutura

    de mdulos, permitindo inclusive que o usurio escreva seus prprios mdulos - utilizando a API do software. Sua porta

    padro a 80. disponibilizado em verses para os sistemas Windows, Novell Netware, OS/2 e diversos outros do padro

    POSIX (Unix, Linux, FreeBSD, etc.).

    Para garantir segurana nas transaes HTTP, o servidor dispe de um mdulo chamado mod_ssl, o qual adiciona a

    capacidade do servidor atender requisies utilizando o protocolo HTTPS. Este protocolo utiliza uma camada SSL para

    criptografar todos os dados transferidos entre o cliente e o servidor, provendo maior grau de segurana,

    confidencialidade e confiabilidade dos dados. A camada SSL compatvel com certificados X.509, que so os certificados

    digitais fornecidos e assinados por grandes entidades certificadoras no mundo.

    O servidor configurado por um arquivo mestre nomeado httpd.conf e opcionalmente pode haver configuraes

    para cada diretrio utilizando arquivos com o nome .htaccess, onde possvel utilizar autenticao de usurio pelo

    prprio protocolo HTTP utilizando uma combinao de arquivo .htaccess com um arquivo .htpasswd, que guardar os

    usurios e senhas (criptografadas).

    Caractersticas do servidor Apache

    O Apache Server um software livre, o que significa que qualquer um pode estudar ou alterar seu cdigo-fonte, alm de

    poder utiliz-lo gratuitamente. graas a essa caracterstica que o software foi (e continua sendo) melhorado ao passar

    dos anos. Graas ao trabalho muitas vezes voluntrio de vrios desenvolvedores, o Apache continua sendo o servidor

    Web mais usado no mundo. Alm de estar disponvel para o Linux (e para outros sistemas operacionais baseados no

  • P g i n a | 20

    Unix), o Apachetambm conta com verses para o Windows, para o Novell Netwar e para o OS/2, o que o torna uma

    tima opo para rodar em computadores obsoletos (desde que este atenda aos requisitos mnimos de hardware).

    O servidor Apache capaz de executa cdigo em PHP, Perl, Shell Script e at em ASP e pode atuar como servidor FTP,

    HTTP, entre outros. Sua utilizao mais conhecida a que combina o Apache com a linguagem PHP e o banco de dados

    MySQL (combinao usada aqui no InfoWester, por exemplo).

    A exigncia de hardware do Apache depende de sua aplicao, mas um PC Pentium com 64 MB de memria RAM capaz

    de execut-lo tranqilamente em um ambiente corporativo pequeno. No entanto, quando se trata de um site na internet,

    interessante ter mquinas to poderosas quanto o que exige o nvel de acesso.

    Abaixo, segue um resumo com as principais caractersticas (extrado do Guia Foca Linux):

    Possui suporte a scripts cgi usando linguagens como Perl, PHP, Shell Script, ASP, etc;

    Suporte a autorizao de acesso podendo ser especificadas restries de acesso separadamente

    para cada endereo/arquivo/diretrio acessado no servidor;

    Autenticao requerendo um nome de usurio e senha vlidos para acesso a alguma pgina/sub-

    diretrio/arquivo (suportando criptografia via Crypto e MD5);

    Negociao de contedo, permitindo a exibio da pgina Web no idioma requisitado pelo Cliente Navegador;

    Suporte a tipos mime;

    Personalizao de logs;

    Mensagens de erro;

    Suporte a virtual hosting ( possvel servir 2 ou mais pginas com endereos/ portas diferentes atravs do

    mesmo processo ou usar mais de um processo para controlar mais de um endereo);

    Suporte a IP virtual hosting;

    Suporte a name virtual hosting;

    Suporte a servidor Proxy ftp e http, com limite de acesso, caching (todas flexivelmente configurveis);

    Suporte a proxy e redirecionamentos baseados em URLs para endereos Internos;

    Suporte a criptografia via SSL,Certificados digitais;

    Mdulos DSO (Dynamic Shared Objects) permitem adicionar/remover funcionalidades e recursos sem

    necessidade de recompilao do programa.

    5. LINGUAGEM DE PROGRAMAO PYTHON E FRAMEWORK DE DESENVOLVIMENTO WEB DJANGO

    5.1 Framework de Desenvolvimento Web Django

    Django um framework para desenvolvimento rpido para web, escrito em Python, que utiliza o padro MTV (model -

    template - view). Foi criado originalmente como sistema para gerenciar um site jornalstico na cidade de Lawrence, no

    Kansas. Tornou-se um projeto de cdigo aberto e foi publicado sob a licena BSD em 2005. O nome Django foi inspirado

    no msico de jazz Django Reinhardt. Django utiliza o princpio DRY (Don't Repeat Yourself), onde faz com que o

    desenvolvedor aproveite ao mximo o cdigo j feito, evitando a repetio.

    Principais caractersticas:

    Mapeamento Objeto-Relacional (ORM): com o ORM do Django voc define a modelagem de dados atravs de

    classes em Python. Com isso possvel gerar suas tabelas no banco de dados e manipul-las sem necessidade de

    utilizar SQL (o que tambm possvel).

    Interface Administrativa: no Django possvel gerar automaticamente uma interface para administrao para os

    modelos criados atravs do ORM.

    Formulrios: possvel gerar formulrios automaticamente atravs dos modelos de dados.

    URLs Amigveis: no Django no h limitaes para criao de URLs amigveis e de maneira simples.

  • P g i n a | 21

    Sistema de Templates: o Django tem uma linguagem de templates poderosa, extensvel e amigvel. Com ela

    voc pode separar design, contedo e cdigo em Python.

    Sistema de Cache: o Django possui um sistema de cache que se integra ao memcached ou em outros

    frameworks de cache.

    Internacionalizao: Django tem total suporte para aplicaes multi-idioma, deixando voc especificar strings de

    traduo e fornecendo ganchos para funcionalidades especficas do idioma.

    5.2 Linguagem Python

    Python uma linguagem de programao de alto nvel , interpretada, imperativa, orientada a objetos, funcional, de

    tipagem dinmica e forte. Foi lanada por Guido van Rossum em 1991. Atualmente possui um modelo de

    desenvolvimento comunitrio, aberto e gerenciado pela organizao sem fins lucrativos Python Software Foundation.

    Apesar de vrias partes da linguagem possurem padres e especificaes formais, a linguagem como um todo no

    formalmente especificada. O padro de facto a implementao CPython.

    A linguagem foi projetada com a filosofia de enfatizar a importncia do esforo do programador sobre o esforo

    computacional. Prioriza a legibilidade do cdigo sobre a velocidade ou expressividade. Combina uma sintaxe concisa e

    clara com os recursos poderosos de sua biblioteca padro e por mdulos e frameworks desenvolvidos por terceiros.

    O nome Python teve a sua origem no grupo humorstico britnico Monty Python, criador do programa Monty Python's

    Flying Circus, embora muitas pessoas faam associao com o rptil do mesmo nome (em portugus, pton ou pito).

    Construes

    Construes de Python incluem: estrutura de seleo (if, else, elif); estrutura de repetio (for, while), que itera por um

    container, capturando cada elemento em uma varivel local dada; construo de classes (class); construo de subrotinas

    (def); construo de escopo (with), como por exemplo para adquirir um recurso.

    Tipos de dado

    A tipagem de Python forte, pois os valores e objetos tm tipos bem definidos e no sofrem coeres como em C ou Perl.

    So disponibilizados diversos tipos de dados nativos:

    Tipo de dado Descrio Exemplo da sintaxe

    str, unicode Uma cadeia de caracteres imutvel 'Wikipedia', u'Wikipedia'

    list Lista heterognea mutvel [4.0, 'string', True]

    tuple Tupla imutvel (4.0, 'string', True)

    set, frozenset Conjunto no ordenado, no contm elementos duplicados

    set([4.0, 'string', True]) frozenset([4.0, 'string', True])

    dict conjunto associativo {'key1': 1.0, 'key2': False}

    int Nmero de preciso fixa, transparentemente convertido para long caso no caiba em um int.

    42 2147483648L

    float Ponto flutuante 3.1415927

    complex Nmero complexo 3+2j

    bool Booleano True ou False

    Python tambm permite a definio dos tipos de dados prprios, atravs de classes. Instncias so construdas invocando

    a classe (FooClass()), e as classes so instncia da classe type, o que permite metaprogramao e reflexo. Mtodos so

    definidos como funes anexadas classe, e a sintaxe instncia.mtodo(argumento) um atalho para

  • P g i n a | 22

    Classe.mtodo(instncia, argumento). Os mtodos devem referenciar explicitamente a referncia para o objeto incluindo

    o parmetro self como o primeiro argumento do mtodo.

    Antes da verso 3.0, Python possua dois tipos de classes: "old-style" e "new-style". Classes old-style foram eliminadas no

    Python 3.0, e todas so new-style. Em verses entre 2.2 e 3.0, ambos tipos de classes podiam ser usadas. A sintaxe de

    ambos estilos a mesma, a diferena acaba sendo de onde objeto da classe herdado, direta ou indiretamente (todas

    classes new-style herdam de object e so instancias de type). As classes new-styles nada mais so que tipos definidos pelo

    usurio.

    Palavras reservadas

    O Python 2.5.2 define as seguintes 31 palavras reservadas:

    Operadores

    Os operadores bsicos de comparao como ==, =, entre outros so usados em todos os tipos de dados, como

    nmeros, cadeias de texto, listas e mapeamentos. Comparaes em cadeia como a < b < c possuem o mesmo significado

    bsico que na matemtica: os termos so comparadas na ordem. garantido que o processamento da expresso lgica

    ir terminar to cedo o veredito claro, o princpio da avaliao mnima. Usando a expresso anterior, se a < b falso, c

    no avaliado.

    Quanto aos operadores lgicos, at Python 2.2 no havia o tipo de dado booleano. Em todas as verses da linguagem os

    operadores lgicos tratam "", 0, None, 0.0, [] e {} como falso, enquanto o restante tratado como verdadeiro de modo

    geral. Na verso 2.2.1 as constantes True e False foram adicionadas (subclasses de 1 e 0 respectivamente). A comparao

    binria retorna uma das duas constantes acima.

    Os operadores booleanos and e or tambm seguem a avaliao mnima. Por exemplo, y == 0 or x/y > 100 nunca lanar a

    exceo de diviso por zero.

    Interpretador interativo

    O interpretador interativo uma caracterstica diferencial da linguagem, porque h a possibilidade de testar o cdigo de

    um programa e receber o resultado em tempo real, antes de iniciar a compilao ou inclu-las nos programas. Por

    exemplo:

    >>> 1+1

    2

    >>>

    >>> a = 1+1

    >>> print a

    2

    >>> print(a)

    2

    >>>

  • P g i n a | 23

    Anlise lxica

    No segundo captulo do Manual de Referncia da Linguagem Python citado que a anlise lxica uma anlise do

    interpretador em si, os programas so lidos por um analisador sinttico que divide o cdigo em tokens.

    Todo programa dividido em linhas lgicas que so separadas pelo token NEWLINE ou NOVA LINHA, as linhas fsicas so

    trechos de cdigo divididos pelo caractere ENTER. Linhas lgicas no podem ultrapassar linhas fsicas com exceo de

    juno de linhas, por exemplo:

    if resultado > 2 and \

    1

  • P g i n a | 24

    Usando um editor de texto comum muito fcil existir erros de indentao, o recomendado configurar o editor

    conforme a anlise lxica do Python ou utilizar uma IDE. Todas as IDE que suportam a linguagem fazem indentao

    automaticamente.

    Indentao correta

    def valor1():

    while True:

    try:

    c = int(raw_input('Primeiro Valor: '))

    return c

    except ValueError:

    print 'Invlido!'

    Indentao incorreta

    def valor1():

    while True:

    try:

    c = int(raw_input('Primeiro Valor: '))

    return c

    except ValueError:

    print 'Invlido!'

    O cdigo est correto para os dois exemplos, mas o analisador lxico verificar se a indentao est coerente. O

    analisador reconhecer as palavras reservadas while, def, try, except, return, print e as cadeias de caracteres entre aspas

    simples e a indentao, e se no houver problemas o programa executar normalmente, seno apresentar a exceo:

    "Seu programa est com erro no bloco de indentao".

    Compilador de bytecode

    A linguagem de altssimo nvel, como j dito, mas ela tambm pode compilar seus programas para que a prxima vez

    que o executar no precise compilar novamente o programa, reduzindo o tempo de carga na execuo.

    Utilizando o interpretador interativo no necessrio a criao do arquivo de Python compilado, os comandos so

    executados interativamente. Porm quando um programa ou um mdulo evocado, o interpretador realiza a anlise

    lxica e sinttica, compila o cdigo de alto nvel se necessrio e o executa na mquina virtual da linguagem.

    O bytecode armazenado em arquivos com extenso .pyc ou .pyo, este ltimo no caso de bytecode otimizado.

    Interessante notar que o bytecode da linguagem tambm de alto nvel, ou seja, mais legvel aos seres humanos que o

    cdigo de byte do C, por exemplo. Para descompilar um cdigo de byte utilizado o mdulo dis da biblioteca padro da

    linguagem e existem mdulos de terceiros que tornam o bytecode mais confuso, tornando a descompilao ineficaz.

    Normalmente, o Python trabalha com dois grupos de arquivos:

    1. Os mdulos do ncleo da linguagem, sua biblioteca padro e os mdulos independentes, criados pelo usurio.

    2. No ncleo do interpretador existe o analisador lxico, o analisador sinttico que utiliza Estruturas de Objetos

    (tempo de execuo), o Compilador que aloca memria (tempo de execuo) e depois do Avaliador de cdigo

    que modifica o estado atual do programa (tempo de execuo), mostrando resultado para o usurio.

    Polimorfismo

    O conceito de polimorfismo descreve como objetos podem ser manipulados e acessados usando atributos e

    comportamentos em comum sem considerar sua classe especfica e indica a presena de late binding, permitindo

    sobrecarga e determinao de tipos em tempo de execuo e verificao. Muitas linguagens orientadas a objeto utilizam

    assinaturas de funo para determinar qual verso de um mtodo sobrecarregado chamar. No entanto, as chamadas de

    funo em Python so universais ou genricas sem determinao de tipo. Por isso, sobrecarga no suportada na

    linguagem.

    Orientao a objetos

  • P g i n a | 25

    Python suporta a maioria das tcnicas da programao orientada a objeto. Qualquer objeto pode ser usado para qualquer

    tipo, e o cdigo funcionar enquanto haja mtodos e atributos adequados. O conceito de objeto na linguagem bastante

    abrangente: classes, funes, nmeros e mdulos so todos considerados objetos. Tambm h suporte para metaclasses,

    p