terça-feira, 22 de julho de 2008

Como Funcionam os PCs

Quando falamos a palavra "tecnologia", a maioria das pessoas pensa logo em computadores. Há componentes computadorizados ao nosso redor o tempo todo. Os aparelhos em nossas casas possuem microprocessadores embutidos, como, por exemplo, as televisões. Até mesmo nossos carros têm um computador. Mas o computador que vem à mente de todo mundo é o computador pessoal, ou PC.

Um PC é uma ferramenta de propósito geral construída em torno de um microprocessador. Ele tem muitas partes diferentes: memória, disco rígido, modem, etc, que funcionam juntas. O "propósito geral" significa que você pode fazer muitas coisas diferentes com um PC. É possível usá-lo para digitar documentos, enviar e-mails, navegar na Internet e jogar.

Neste artigo, vamos falar sobre os PCs e as diferentes partes que o compõem. Você vai conhecer os vários componentes e saber como eles funcionam juntos em uma operação básica. Você também descobrirá o que o futuro reserva para estas máquinas.

Vamos dar uma olhada nos componentes principais de um típico computador de mesa (desktop).

  • Unidade central de processamento (CPU). O "cérebro" do microprocessador do sistema de computador é chamado de unidade central de processamento. Tudo o que um computador faz é supervisionado pela CPU.

  • Memória. Esta é uma área de armazenamento rápida usada para guardar dados. Ela tem de ser rápida porque se conecta diretamente ao microprocessador. Há vários tipos específicos de memória em um computador:
    • memória RAM - usada para armazenar temporariamente as informações que o computador está manipulando no momento;
    • memória apenas de leitura (ROM) - um tipo permanente de armazenamento de memória usado pelo computador para dados importantes que não mudam;
    • Basic input/output system (BIOS) - um tipo de ROM que é usado pelo computador para estabelecer a comunicação básica quando o computador é iniciado;
    • Cache - a área de armazenamento dos dados freqüentemente usados em memória RAM, extremamente rápida, conectada diretamente à CPU;
    • Memória virtual - espaço no disco rígido usado para armazenar temporariamente dados na memória RAM, chaveando-os quando necessário;


    Clique nas várias partes do PC para saber mais sobre como funcionam

    Definindo um PC
    Aqui está um modo de pensar sobre isso: um PC é um dispositivo de processamento de informações de propósito geral. Ele pode obter as informações de uma pessoa (através do teclado e mouse), de um dispositivo (igual a um disquete ou CD) ou da rede (através de um modem ou placa de rede) e processá-las. Uma vez processadas, as informações são exibidas para o usuário (no monitor), armazenadas em um dispositivo (como um disco rígido) ou enviadas para algum lugar na rede (de volta através do modem ou placa de rede).

    Temos muitos processadores de propósitos especiais em nossas vidas. Um MP3 Player é um computador próprio para processar arquivos de MP3. Ele não consegue fazer outra coisa. Um GPS é um computador próprio para manipular sinais GPS. Ele não consegue fazer outra coisa. Um gameboy é um computador próprio para administrar jogos, mas também não consegue fazer outra coisa. Um PC pode fazer tudo isso porque seus propósitos são gerais.

    • Placa-mãe - placa de circuito principal à qual todos os outros componentes internos se conectam. A CPU e memória estão em geral na placa-mãe. Outros sistemas podem ser encontrados diretamente na placa-mãe ou conectados a ela através de uma conexão secundária. Por exemplo, uma placa de som pode estar presente na placa-mãe ou a ela ser conectada através do barramento PCI.

    • Fonte de alimentação - um transformador elétrico regula a eletricidade usada pelo computador.

    • Disco rígido - é um depósito permanente e de grande capacidade, que guarda informações como programas e documentos.

    • Sistema operacional - software básico que permite ao usuário interfacear com o computador.

    • Controlador IDE (Integrated Drive Electronics) - interface primária com o disco rígido, CD-ROM e drive de disquete.

    • Barramento PCI (Peripheral Component Interconnect) - maneira mais comum de conectar componentes adicionais ao computador, o PCI usa uma série de slots na placa-mãe nos quais as placas PCI se conectam.

    • SCSI (Small Computer System Interface) - pronuncia-se "scãzi" e é um método de adicionar dispositivos extras ao computador, como discos rígidos ou scanners.

    • AGP (Accelerated Graphics Port) - é uma conexão rápida usada pela placa gráfica para fazer a interface com o computador.

    • Placa de som - usada pelo computador para gravar e reproduzir áudio, convertendo som analógico em informações digitais e vice-versa.

    • Placa de vídeo - transforma os dados de imagem oriundos do computador em um formato que pode ser exibido pelo monitor.

    Conexões: entrada/saída
    Independente do quão potentes os componentes do seu computador são, você precisa de uma maneira de interagir com eles. Esta interação é chamada entrada/saída (I/O). Os tipos mais comuns de I/O nos PCs são:

    • monitor - o monitor é um dispositivo primário para exibir as informações do computador;

    • teclado - o teclado é um dispositivo primário para inserir informações no computador;

    • mouse - o mouse é um dispositivo primário para navegar e interagir com o computador;

    • armazenamento removível - os dispositivos de armazenamento removível permitem adicionar novas informações ao seu computador facilmente, além de salvar as informações que você quer transportar para um local diferente.

      • Disquete. Era a forma mais comum de armazenamento removível: baratos e de fácil utilização, eles foram substituídos pelos CD-ROMs, cuja capacidade de armazenamento é muito maior do que a do disquete.
      • CD-ROM. O CD-ROM (compact disc, read-only memory) é uma forma popular de distribuição de software comercial, e acabou transformando-se em mídia padrão de armazenamento de dados. Muitos sistemas agora oferecem CD-R (gravável) e CD-RW (regravável), os quais também permitem a gravação.
      • Memória flash. Baseada em um tipo de ROM chamada EEPROM (electrically erasable programmable read-only memory, ou memória apenas de leitura programável e apagável eletricamente), a memória Flash fornece armazenamento rápido e permanente. Os cartões CompactFlash, SmartMedia e PCMCIA são tipos de memória Flash.
      • DVD-ROM. O DVD-ROM (digital versatile disc, read-only memory) é semelhante ao CD-ROM, mas é capaz de guardar muito mais informações. Por sua capacidade de armazenamento, está substituindo o CD-ROM na preferência dos usuários para back-up, compartilhamento de arquivos, e gravação de dados.

    Conexões: portas

    • Paralela. Esta porta é geralmente usada para conectar uma impressora. Atualmente, as portas paralelas já não são mais a interface padrão das impressoras e dos computadores. Elas foram substituídas pela conexão USB, que permite transferência de dados mais rápida.
    • Serial. Esta porta é geralmente usada para conectar um modem externo. Também está em desuso. Nos sitemas atuais, a porta serial também foi substituída pela USB.
    • USB (Universal Serial Bus). Este barramento rapidamente se tornou a conexão externa mais popular porque as portas USB oferecem versatilidade e são muito fáceis de usar.
    • FireWire (IEEE 1394) - O FireWire é um método popular de conectar dispositivos de vídeo digital, como filmadoras e câmeras digitais, ao seu computador.


    Clique nas várias partes do PC para saber mais sobre como funcionam

    Conexões: Internet/rede

    • Modem. Este é o método padrão de conexão com a Internet discada. A maioria dos computadores atuais já não vem com modem. Em seu lugar, está instalada uma placa de rede 10/100, que permite conexão com a Internet via banda larga.
    • Placa de rede local (LAN - Local Area Network). Esta placa é usada pela maioria dos computadores, em especial aqueles plugados em uma rede ethernet no escritório. A placa permite acessar a internet, via rede, e outros computadores que fazem parte da mesma rede.
    • Modem a cabo. Dispositivo que permite conexão à Internet usando a rede de cabos da TV a cabo. Esse tipo de conexão atinge velocidade de até 10 MBps.
    • Modem DSL (Digital Subscriber Line). Esta é uma conexão de alta velocidade que trabalha em uma linha telefônica padrão. Usa a estrutura das operadoras de telefonia, e é a mais usada no Brasil atualmente.
    • Modem VDSL (Very high bit-rate DSL). Versão mais nova do DSL, o modem VDSL requer que sua linha telefônica tenha cabos de fibra ótica.


    A seguir, vamos dar uma olhada no que acontece normalmente em um computador em uma operação básica.



Ligando e desligando o PC

BIOS
Agora que você está familiarizado com as partes de um PC, vamos ver o que normalmente acontece em um computador no momento em que ele é ligado. Eis o que acontece nesse processo:
  1. Você pressiona o botão "ligar" no computador e no monitor.

  2. Você vê o software da BIOS realizando sua tarefa, chamada de POST (Power-On Self-Test). Em muitas máquinas, a BIOS exibe um texto que descreve informações, como a quantidade de memória instalada em seu computador, o tipo de disco rígido e assim por diante. Além disso, durante a seqüência de inicialização (boot), a BIOS realiza uma grande quantidade de trabalho para deixar seu computador pronto para funcionar:

    • a BIOS determina se a placa de vídeo está operacional. A maioria das placas de vídeo possui sua própria BIOS em miniatura que inicia a memória e o processador gráfico na placa. Caso não o façam, geralmente há informações do driver de vídeo em outra ROM na placa-mãe que a BIOS pode carregar;

    • a BIOS verifica se isto é uma inicialização a frio (cold boot) ou uma reinicialização (reboot). Ela faz isso verificando o valor no endereço de memória 0000:0472. Um valor 1234h indica uma reinicialização e, neste caso, a BIOS salta o restante do POST. Qualquer outro valor é nesse endereço de memória é considerado uma inicialização a frio.

      Se for uma inicialização a frio, a BIOS verifica a RAM fazendo um teste de escrita/leitura de cada endereço da memória. Ela verifica se há um teclado e um mouse, procura um barramento PCI e, se encontrá-lo, verifica todas as placas PCI. Se a BIOS encontrar algum erro durante o POST, ela o notificará por uma série de bips ou uma mensagem de texto exibida na tela. Um erro nesse ponto quase sempre representa um problema de hardware;

    • a BIOS exibe alguns detalhes sobre o seu sistema. Isto inclui informações a respeito de:
      • processador
      • unidades (drives) de disco rígido e flexível
      • memória
      • revisão e data da BIOS
      • monitor

    • qualquer driver especial, como aqueles para os adaptadores SCSI, é carregado do adaptador e a BIOS exibe as informações;

    • a BIOS verifica a seqüência de dispositivos de armazenamento identificados como dispositivos de inicialização na configuração CMOS. "Boot" é outro nome dado à inicialização do computador, e é uma forma reduzida de "bootstrap" (que vem de um antigo ditado: "Lift yourself up by your bootstraps", cuja moral é algo como "levante-se sozinho"). A inicialização se refere ao processo de carregar o sistema operacional. A BIOS tenta começar a seqüência de inicialização do primeiro dispositivo usando o bootstrap loader (carregador).


    Esta animação mostra uma operação de PC típica

  3. O bootstrao loader carrega o sistema operacional na memória e permite que ele comece a operar. Ele faz isto configurando as partes de memória que guardam o sistema operacional, as informações de usuário e os aplicativos. O bootstrap loader então estabelece as estruturas de dados que são usadas para a comunicação entre os subsistemas e os aplicativos do computador. Finalmente, ele passa o controle do computador para o sistema operacional.

Sistema operacional
Uma vez carregado, as tarefas do sistema operacional caem em seis grandes categorias:

  • gerenciamento do processador - divide as tarefas em pequenas partes administráveis, hierarquizando-as antes de enviá-las à CPU;
  • gerenciamento de memória - coordena o fluxo de dados de entrada e saída da memória RAM e determina quando a memória virtual é necessária;
  • gerenciamento de dispositivos - fornece uma interface entre cada dispositivo conectado ao computador com a CPU e os aplicativos;
  • gerenciamento de armazenamento - determina onde os dados serão armazenados de forma permanente no disco rígido e outras formas de armazenamento;
  • interface com aplicativos - estabelece uma comunicação e troca de dados padrão entre os programas e o computador;
  • interface com o usuário - estabelece um meio para você se comunicar e interagir com o computador.

Você abre um programa processador de textos e digita uma carta, salva-a e então imprime. Vários componentes trabalham juntos para fazer isto acontecer:

  • o teclado e mouse enviam suas entradas ao sistema operacional;
  • o sistema operacional determina que o programa processador de textos é o programa ativo e aceita suas entradas como dados para este programa;
  • o programa processador de textos determina o formato que os dados têm e, via sistema operacional, armazena-os temporariamente na memória RAM;
  • cada instrução do programa processador de textos é enviada pelo sistema operacional para a CPU. Essas instruções são entrelaçadas com instruções de outros programas que o sistema operacional está supervisionando antes de ser enviadas efetivamente à CPU;
  • todo esse tempo, o sistema operacional prontamente provê as informações para a placa gráfica, informando o que será exibido no monitor;
  • quando você escolhe salvar a carta, o programa processador de textos envia uma solicitação para o sistema operacional, que então fornece uma janela padrão para selecionar onde você quer salvá-la e como ela se chamará. Uma vez que você escolheu o nome e o caminho do arquivo, o sistema operacional direciona os dados da memória RAM para o dispositivo de armazenamento apropriado;
  • você clica em "imprimir". O programa processador de textos envia uma solicitação para o sistema operacional, que traduz os dados em um formato que a impressora entende e direciona os dados da memória RAM para a porta apropriada da impressora que você requisitou;
  • você abre um navegador da Internet, visita o site HowStuffWorks e, mais uma vez, o sistema operacional coordena toda a ação. Nesse momento, o computador recebe informações da Internet, além de suas solicitações. O sistema operacional integra todas as informações de entrada e saída;
  • você fecha o navegador de Internet e escolhe a opção "Desligar";
  • o sistema operacional fecha todos os programas que estão ativos no momento. Se um programa tem informações não salvas, ele pergunta a você se deseja salvá-las antes de fechar o programa;
  • o sistema operacional salva as suas próprias configurações atuais em arquivo para que elas sejam mantidas da próxima vez que você ligar o computador;
  • se o computador fornece controle de energia por software, então o sistema operacional desligará totalmente quando concluir seu ciclo de encerramento. Caso contrário, você terá de fazê-lo manualmente.

A seguir, vamos dar uma olhada no futuro dos PCs.


O futuro dos PCs

Fabricante de chip EUVL
Os microprocessadores de silício são o coração do mundo da computação há mais de 40 anos. Nesse tempo, os fabricantes de microprocessadores têm colocado mais e mais dispositivos eletrônicos nos microprocessadores. De acordo com a Lei de Moore, o número de dispositivos eletrônicos colocados em um microprocessador dobra a cada 18 meses. A Lei de Moore ficou conhecida depois que o fundador da Intel, Gordon Moore, previu em 1965 que os microprocessadores dobrariam em complexidade a cada dois anos. Muitos previram que a Leis de Moore logo chegaria a seu fim por causa das limitações físicas dos microprocessadores de silício.

O atual processo usado para compactar mais e mais transistores em um chip é chamado de litografia ultravioleta profunda (DUVL), que é uma técnica como a da fotografia, que foca a luz através de lentes para gravar padrões de circuitos em pastilhas de silício. A DUVL começou a alcançar seu limite por volta de 2005. Então, os fabricantes de chip tiveram que procurar outras tecnologias para gravar mais transistores em silício para criar chips mais poderosos. Muitos já estão de olho na litografia ultravioleta extrema (EUVL) como modo de ampliar a vida do silício pelo menos até o final da década. A EUVL usa espelhos em vez de lentes para focar a luz, o que permite à luz com comprimentos de ondas mais curtas focalizar precisamente a pastilha de silício. Para saber mais sobre EUVL, veja Como funciona o chip com litografia ultravioleta extrema (EUV).

DNA e quantum
Além da EUVL, os pesquisadores olham alternativas para o projeto tradicional dos microprocessadores. Duas das tecnologias emergentes mais interessantes são os computadores de DNA e os computadores quânticos.

Os computadores de DNA têm o potencial de levar a computação para novos níveis, continuando onde a Lei de Moore parou. Há várias vantagens de usar DNA em vez de silício:

  • como existem organismos celulares, haverá um suprimento de DNA;
  • o grande suprimento de DNA faz dele um recurso barato;
  • diferente dos microprocessadores comuns, que são feitos com materias tóxicos, os biochips de DNA podem ser feitos de forma limpa;
  • os computadores DNA são muitas vezes menores que os atuais.

A vantagem principal do DNA é que fará computadores menores com maior capacidade de armazenamento do que qualquer computador já inventado. Um quilo de DNA tem a capacidade de armazenar mais informações que todos os computadores eletrônicos já construídos. A eficiência computacional de um minúsculo computador DNA, usando as portas lógicas de DNA, será mais poderosa que qualquer supercomputador existente hoje no mundo. Mais de 10 trilhões de moléculas de DNA podem caber em uma área de 1 cm3. Com esse pequeno montante de DNA, um computador poderia ser capaz de armazenar 10 TB (terabytes) de dados e realizar 10 trilhões de cálculos ao mesmo tempo. Ao adicionar mais DNA, mais cálculos poderiam ser realizados.

Diferente dos computadores convencionais, os computadores de DNA poderiam realizar cálculos simultaneamente. Os computadores convencionais operam de forma linear, fazendo uma tarefa por vez. Essa computação paralela é que vai permitir ao computador de DNA resolver problemas matemáticos complexos em horas, o que os computadores atuais levariam centenas de anos para concluírem. Você pode saber mais sobre a computação com DNA em Como funcionarão os computadores de DNA.

Os computadores de hoje trabalham manipulando bits, que podem assumir dois valores: 0 ou 1. Os computadores quânticos não são limitados a dois valores. Eles codificam informações em bits quânticos, ou qubits. Um qubit pode ser 1 ou 0, ou pode existir em superposição, ou seja, ser simultaneamente 1 e 0 ou algo entre eles. Qubits representam átomos que estão trabalhando juntos para servir como memória de computador e microprocessador. Como um computador quântico pode conter esses estados múltiplos simultaneamente, ele tem o potencial de ser milhões de vezes mais poderoso que os mais poderosos supercomputadores de hoje. Um computador quântico de 30-qubit teria a capacidade de processamento de um computador convencional capaz de executar 10 teraops (trilhões de operações por segundo). Os mais rápidos supercomputadores de hoje atingem velocidades de cerca de 2 teraops. Você pode saber mais sobre o potencial dos computadores quânticos em Como funcionarão os computadores quânticos.

Além das mesas de escritório
Os laptops e os assistentes digitais pessoais (PDAs) têm levado a computação para fora do escritório. Os computadores "usáveis" (wearable computers) instalados em nossas roupas e jóias vão estar conosco onde estivermos.


Foto cedida por IBM
Em alguns anos, poderemos vestir nossos computadores em vez de nos sentar à frente deles

Nossos arquivos vão nos acompanhar (em inglês) enquanto nosso computador fornecerá feedback constante sobre o ambiente. Os softwares de reconhecimento de voz e caligrafia nos permitirão interagir com nossos computadores sem mouse ou teclado. A memória RAM magnética e outras inovações logo estarão disponíveis em nosso PC com a mesma acessibilidade da TV e do rádio.


Enquanto os computadores deixam as mesas do escritório e se tornam uma companhia constante, as exibições de realidade aumentada vão sobrepor os gráficos feitos por computador para o mundo real

Uma coisa é certa: o PC vai evoluir, vai ficar mais rápido, terá mais capacidade e continuará a ser parte integral de nossas vidas.



segunda-feira, 21 de julho de 2008

LINGUAGEM DE PROGRAMAÇÃO
BREVE EXPLICAÇÃO
Linguagem de programação é um método padronizado para manipular, controlar o computador. É um conjunto de sintaxes, de regras para que depois essa linguagem seja traduzida para código de máquina entendida pelo processador e todo o cpu por um interpretador ou um compilador.

Existem muitas linguagens, as mais conhecidas são C, C#, C++, PHP, JS, HTML, Assembly, Fortran, JAVA, muitas mais...

Um exemplo de linguagem "C":

#include
#include
#include
void converge(int, char*);

void main (void)
{
converge (10, "Isto é um teste de converge().");
}

void converge(int line, char* mensagem);

int i, j;
for (i=1 , j=strlen(mensagem) ; i
{
gotoxy(i, line);
printf("%c", mensagem[i-1]);
gotoxy(j, line);
printf("%c", mensagem[j-1]);
}
}

para saber mais visitem: http://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o

sexta-feira, 18 de julho de 2008

Você quer ser realmente um Hacker?

Começa aqui as instruções para se tornar um hacker.
Estude Programação, começando por C download apostila C.. Editarei daqui a 1 Mês ou até o primeiro aluno concluir o estudo de C. Se você já estudou C estude Assembly download aqui da apostila Assembly.
E quando terminar tudo faça seus projetos e após migre para outras linguagens, como html, php, js, pascal, cgi e etc.

quinta-feira, 17 de julho de 2008

Mentiras Sobre o Orkut

Recentemente várias pessoas têm recebido uma mensagem através do Orkut dizendo que o Orkut tem um vírus que se instala no micro de quem usa este site de relacionamento. É mentira. Não existe. É a versão reciclada do hoax do “vírus do ursinho”. É o seguinte: tem um arquivo de sistema do Windows chamado Jdbgmgr.exe que, por acaso, seu ícone é um ursinho. Um gaiato inventou esta mentira, dizendo que este arquivo é um vírus, e espalhou por aí. Rapidamente a mensagem se alastra, criando pânico em diversos usuários incautos.

Outra famosa mentira relacionada ao Orkut é a de que se você mudar o seu país de Brasil para outro país qualquer nas suas configurações, o Orkut fica mais rápido. Equivale no mundo virtual a dizer que se você colocar um balde d’água debaixo de uma lâmpada ela consome menos energia (por incrível que pareça, tem gente que acredita nisso).

Outra bastante comum é a que diz que o Orkut vai ser pago e que você precisa repassar a mensagem para vários amigos para o Orkut ser atualizado (?)... Pura balela...

Fatos como esses só provam duas coisas. Primeiro, que as pessoas passam adiante informações sem checarem a sua veracidade – muitas vezes sem sequer lerem o conteúdo da mensagem. Segundo, que tem muita gente desocupada nesse mundo para ficar inventando mentiras. Isso não ocorre só no mundo virtual. Quem nunca ouviu falar na figurinha de chiclete com decalque que tem LSD e que se você discar #90 no telefone da sua casa sua linha é clonada? Estas duas histórias também são mentiras.

Mas tem uma que não é mentira: "Li em algum canto que quando estamos logados no Orkut e entramos num site com código malicioso nossa senha pode ser vista e roubada. Verdade ou mentira?" Sim, é verdade, mas tão logo esta falha foi descoberta o Orkut corrigiu este problema. A história completa pode ser lida aqui: http://www.cocadaboa.com/archives/004126.php

Usando o Google para Pesquisar Seu Computador

O Google (http://www.google.com) é, sem sombra de dúvida, uma das ferramentas de busca mais populares da Internet. A grande notícia é que agora todos os usuários podem ter a tecnologia do Google instalada em sua própria máquina.

A ferramenta de busca que vem com o Windows (Iniciar, Pesquisar) é até interessante, mas além de a pesquisa demorar um tempão, quando você procura por um texto que esteja dentro dos arquivos (opção "que contenha") ela apenas lista os arquivos que têm a palavra-chave que você está procurando, sem informar em que trecho do arquivo a palavra-chave aparece. Isso pode ser um problema se a palavra-chave for uma palavra comum.

Com a ferramenta do Google você consegue encontrar todos os arquivos localizados em seu disco rígido que falem sobre um determinado assunto. A atual versão desta ferramenta procura dentro de e-mails do Outlook e Outlook Express, arquivos do Word, Excel, PowerPoint e arquivos de texto (txt), logs de chat do AOL Instant Messenger (AIM) e arquivos HTML, tanto de sites que você tenha baixado para leitura off-line quanto no histórico do Internet Explorer. Este último recurso torna essa ferramenta realmente única: imagine que você queira voltar a um site sobre um determinado assunto que você navegou há alguns dias e não se lembra mais o link dele. Basta usar a ferramenta de busca do Google em seu micro que ela achará o site para você.

Para você ter este recurso em seu micro, você precisa instalar um programa, chamado Google Desktop Search, que pode ser baixado gratuitamente em http://desktop.google.com. Após a instalação, o programa fará uma varredura no seu disco rígido para "conhecer" os seus arquivos. Esta varredura (chamada indexação) pode demorar algumas horas, especialmente se o seu disco rígido for grande e você tiver muitos arquivos de dados. Durante este processo você terá de deixar o Outlook aberto para que o programa consiga indexar os seus e-mails.

A aparente "perda de tempo" na indexação compensa. Fizemos vários testes e a ferramenta de busca nunca demorou mais do que 1 segundo (!) para encontrar os arquivos que estávamos procurando. Em alguns casos a busca retornou em 0,10 segundo. Realmente impressionante.

Após instalado, o seu micro terá o ícone do Google Desktop Search na barra de tarefas ao lado do relógio do Windows. Basta você dar um duplo clique neste ícone para iniciar a sua busca. O programa irá abrir o seu browser com um formulário de busca, similar ao do site do Google. Com este ícone presente, o programa passa a automaticamente indexar novos arquivos que são criados e sites que você visita.

O resultado da busca lista todos os arquivos encontrados em seu micro que contenham as palavras-chave procuradas. Para melhor visualização dos resultados, você pode clicar em quatro categorias existentes, emails, files, chat e web history, o que fará com que somente e-mails, arquivos (Word, Excel, PowerPoint, Texto), chat do AIM ou sites visitados, respectivamente, sejam apresentados.

Após a instalação deste programa em seu micro, ao usar o site do Google para suas pesquisas na Internet, ele passa a avisá-lo quando há arquivos em seu micro que possuem a palavra-chave pesquisada (ex: "56 results stored on your computer"), com um link para listar os arquivos que foram encontrados em seu micro.

Como o Protocolo TCP/IP Funciona

Introdução

O TCP/IP é o protocolo de rede mais usado atualmente. Neste tutorial explicaremos como este protocolo funciona em uma linguagem fácil de entender.


Mas, afinal, o que é um protocolo de rede? Um protocolo é uma linguagem usada para permitir que dois ou mais computadores se comuniquem. Assim como acontece no mundo real, se eles não falarem a mesma língua eles não podem se comunicar.


O TCP/IP não é na verdade um protocolo, mas sim um conjunto de protocolos – uma pilha de protocolos, como ele é mais chamado. Seu nome, por exemplo, já faz referência a dois protocolos diferentes, o TCP (Transmission Control Protocol, Protocolo de Controle de Transmissão) e o IP (Internet Protocol, Protocolo de Internet). Existem muitos outros protocolos que compõem a pilha TCP/IP, como o FTP, o HTTP, o SMTP e o UDP – só para citarmos alguns. Não se preocupe por enquanto pois explicaremos tudo o que você precisa saber sobre esses protocolos.


o TCP/IP tem quatro camadas. Os programas se comunicam com a camada de Aplicação. Na camada de Aplicação você encontrará os protocolos de aplicação tais como o SMTP (para e-mail), o FTP (para a transferência de arquivos) e o HTTP (para navegação web). Cada tipo de programa se comunica com um protocolo de aplicação diferente, dependendo da finalidade do programa.


Após processar a requisição do programa, o protocolo na camada de Aplicação se comunicará com um outro protocolo na camada de Transporte, normalmente o TCP. Esta camada é responsável por pegar os dados enviados pela camada superior, dividi-los em pacotes e enviá-los para a camada imediatamente inferior, a camada Internet. Além disso, durante a recepção dos dados, esta camada é responsável por colocar os pacotes recebidos da rede em ordem (já que eles podem chegar fora de ordem) e também verificam se o conteúdo dos pacotes está intacto.


Na camada Internet nós temos o IP (Internet Protocol, Protocolo Internet), que pega os pacotes recebidos da camada de Transporte e adiciona informações de endereçamento virtual, isto é, adiciona o endereço do computador que está enviando os dados e o endereço do computador que receberá os dados. Esses endereços virtuais são chamados endereços IP. Em seguida os pacotes são enviados para a camada imediatamente inferior, a camada Interface com a Rede. Nesta camada os pacotes são chamados datagramas.


A camada Interface com a Rede receberá os pacotes enviados pela camada Internet e os enviará para a rede (ou receberá os dados da rede, caso o computador esteja recebendo dados). O que está dentro desta camada dependerá do tipo de rede que seu computador estiver usando. Atualmente praticamente todos os computadores utilizam um tipo de rede chamado Ethernet (que está disponível em diferentes velocidades; as redes sem fio também são redes Ethernet) e, portanto, você deve encontrar na camada Interface com a Rede as camadas do Ethernet, que são Controle do Link Lógico (LLC), Controle de Acesso ao Meio (MAC) e Física, listadas de cima para baixo. Os pacotes transmitidos pela rede são chamados quadros.


Vamos falar agora em mais detalhes sobre as camadas e os protocolos do TCP/IP.


Camada de Aplicação


Esta camada faz a comunicação entre os programas e os protocolos de transporte. Existem vários protocolos que operam na camada de aplicação. Os mais conhecidos são o HTTP (HyperText Transfer Protocol, Protocolo de Transferência Hipertexto), o SMTP (Simple Mail Transfer Protocol, Protocolo Simples de Transferência de Correspondência), o FTP (File Transfer Protocol, Protoloco de Transferência de Arquivos), o SNMP (Simple Network Management Protocol, Protocolo Simples de Gerenciamento de Redes), o DNS (Domain Name System, Sistema de Nome de Domínio) e o Telnet. Você já deve ter ouvido falar nesses nomes antes.


Quando um programa cliente de e-mail quer baixar os e-mails que estão armazenados no servidor de e-mail, ele efetuará esse pedido para a camada de aplicação do TCP/IP, sendo atendido pelo protocolo SMTP. Quando você entra um endereço www em seu navegador para visualizar uma página na Internet, ele se comunicará com a camada de aplicação do TCP/IP, sendo atendido pelo protocolo HTTP (é por isso que as páginas da Internet começam com http://). E assim por diante.


A camada de aplicação comunica-se com a camada de transporte através de uma porta. As portas são numeradas e as aplicações padrão usam sempre uma mesma porta. Por exemplo, o protocolo SMTP utiliza sempre a porta 25, o protocolo HTTP utiliza sempre a porta 80 e o FTP as portas 20 (para transmissão de dados) e 21 (para transmissão de informações de controle).


O uso de um número de porta permite ao protocolo de transporte (tipicamente o TCP) saber qual é o tipo de conteúdo do pacote de dados (por exemplo, saber que o dado que ele está transportando é um e-mail) e, no receptor, saber para qual protocolo de aplicação ele deverá entregar o pacote de dados, já que, como estamos vendo, existem inúmeros. Assim, ao receber um pacote destinado à porta 25, o protocolo TCP irá entregá-lo ao protocolo que estiver conectado a esta porta, tipicamente o SMTP, que por sua vez entregará o dado à aplicação que o solicitou (o programa de e-mail).


Camada de Transporte


Na transmissão de dados, a camada de transporte é responsável por pegar os dados passados pela camada de aplicação e transformá-los em pacotes. O TCP (Transmission Control Protocol, Protocolo de Controle da Transmissão) é o protocolo mais usado na camada de Transporte. Na recepção de dados, o protocolo TCP pega os pacotes passados pela camada Internet e trata de colocá-los em ordem, já que os pacotes podem chegar ao destino fora de ordem, confere se os dados dentro dos pacotes estão íntegros e envia um sinal de confirmação chamado “acknowledge” (“ack”) ao transmissor, avisando que o pacote foi recebido corretamente e que os dados estão íntegros. Se nenhum sinal de confirmação (acknowledge) for recebido (ou porque o dado não chegou ao destino ou porque o TCP descobriu que o dado estava corrompido), o transmissor enviará novamente o pacote perdido.


Enquanto que o TCP reordena os pacotes e usa mecanismo de confirmação de recebimento – o que é desejável na transmissão de dados – existe um outro protocolo que opera nesta camada que não tem esses recursos. Este protocolo é o UDP (User Datagram Protocol, Protocolo de Datagrama do Usuário).


Por essa razão o TCP é considerado um protocolo confiável, enquanto que o UDP é considerado um protocolo não confiável. O UDP é tipicamente usado quando nenhum dado importante está sendo transmitido, como requisições DNS (Domain Name System, Sistema de Nome de Domínio). Como o UDP não reordena os pacotes e nem usa mecanismo de confirmação, ele é mais rápido do que o TCP.


Quando o UDP é usado, a aplicação que solicita a transmissão será a responsável por verificar se os dados recebidos estão intactos ou não e também de reordenar os pacotes recebidos, isto é, a aplicação fará o trabalho do TCP.


Durante a transmissão de dados, tanto o UDP quanto o TCP receberão os dados passados da camada de Aplicação e adicionarão a esses dados um cabeçalho. Na recepção de dados, o cabeçalho será removido antes de os dados serem enviados para a porta apropriada. Neste cabeçalho estão várias informações de controle, em particular o número da porta de origem, o número da porta de destino, um número de seqüência (para a confirmação de recebimento e mecanismos de reordenamento usado pelo TCP) e uma soma de verificação (chamada checksum ou CRC, que é um cálculo usado para verificar se o dado foi recebido intacto no destino). O cabeçalho UDP tem 8 bytes, enquanto que o cabeçalho TCP tem entre 20 e 24 bytes (dependendo se o campo opções estiver sendo ou não usado).




Camada Internet


Em redes TCP/IP cada computador é identificado com um endereço virtual único, chamado endereço IP. A camada Internet é responsável por adicionar um cabeçalho ao pacote de dados recebidos da camada de Transporte onde, entre outros dados de controle, será adicionado também o endereço IP de origem e o endereço IP de destino – isto é, o endereço IP do computador que está enviando os dados e o endereço IP do computador que deverá recebê-los.


A placa de rede de cada computador tem um endereço físico. Este endereço está gravado na memória ROM da placa de rede e é chamado endereço MAC. Dessa forma, em uma rede local se o computador A quiser enviar dados para o computador B, ele precisará saber o endereço MAC do computador B. Enquanto que em uma pequena rede local os computadores podem facilmente descobrir o endereço MAC de todos os PCs, esta não é uma tarefa tão simples em uma rede global como a Internet.


Se nenhum esquema de endereçamento virtual for usado, você precisa saber o endereço MAC do computador de destino, o que não é apenas uma tarefa complicada, mas também não ajuda no roteamento dos pacotes, já que este endereço não usa uma estrutura em árvore (em outras palavras, enquanto o endereçamento virtual usado na mesma rede terá endereços seqüenciais, com o endereçamento MAC o computador com o endereço MAC seguinte ao seu pode estar na Rússia).


Roteamento é o caminho que os dados devem usar para chegar ao destino. Quando você solicita dados de um servidor da Internet, por exemplo, este dado passa por vários locais (chamados roteadores) antes de chegar ao seu computador. Se você quiser ver com isto funciona, faça o seguinte: clique no menu Iniciar, Executar e digite Cmd. No prompt de comando digite tracert www.google.com. O resultados será o caminho entre seu computador e o servidor web do Google. Veja como os pacotes de dados passam através de diferentes roteadores antes de chegar ao destino. Cada roteador no meio do caminho é também conhecido como “salto” (“hop”).


Em todas as redes conectadas à Internet existe um dispositivo chamado roteador, que faz a ponte entre os computadores na sua rede local e a Internet. Todo roteador tem uma tabela contendo as redes conhecidas e também uma configuração chamada gateway padrão apontando para outro roteador na Internet. Quando seu computador envia um pacote de dados para a Internet, o roteador conectado à sua rede primeiro verifica se ele conhece o computador de destino – em outras palavras, o roteador verifica se o computador de destino está localizado na mesma rede ou em uma rede que ele conhece a rota. Se ele não conhecer a rota para o computador de destino, ele enviará o pacote para seu gateway padrão, que é outro roteador. Este processo é repetido até que o pacote de dados chegue ao seu destino.


Há vários protocolos que operam na camada Internet: IP (Internet Protocol, Protocolo de Internet), ICMP (Internet Control Message Protocol, Protocolo de Controle de Mensagens Internet), ARP (Address Resolution Protocol, Protocolo de Resolução de Endereços) e RARP (Reverse Address Resolution Protocol, Protocolo de Resolução de Endereços Reversos). Os pacotes de dados são enviados usando o protocolo IP, e por isso que explicaremos o seu funcionamento.


O IP pega os pacotes de dados recebidos da camada de Transporte (do protocolo TCP se você está transmitindo dados como e-mails ou arquivos) e os divide em datagramas. O datagrama é um pacote que não contém nenhum tipo de confirmação de recebimento (acknowledge), o que significa que o IP não implementa nenhum mecanismo de confirmação de recebimento, isto é, ele é um protocolo não confiável.


Você deve notar que durante a transferência de dados o protocolo TCP será usado acima da camada Internet (ou seja, acima do IP) e o TCP implementa mecanismo de confirmação de recebimento. Portanto apesar de o protocolo IP não verificar se o datagrama chegou ao destino, o protocolo TCP fará esta verificação. A conexão será então confiável, apesar do IP sozinho ser um protocolo não confiável.


Cada datagrama IP pode ter um tamanho máximo de 65.535 bytes, incluindo seu cabeçalho, que pode usar 20 ou 24 bytes, dependendo se um campo chamado “opções” for usado ou não. Dessa forma os datagramas IP podem transportar até 65.515 ou 65.511 bytes de dados. Se o pacote de dados recebidos da camada de Transporte for maior do que 65.515 ou 65.511 bytes, o protocolo IP fragmentará os pacotes em quantos datagramas forem necessários




É interessante notar que o que a camada Internet vê como sendo “dados” é o pacote completo que ela recebe da camada de Transporte, que inclui o cabeçalho TCP ou UDP. Este datagrama será enviado para a camada Interface com a Rede (se estivermos transmitindo) ou pode ter sido recebido da camada Interface com a Rede (se estivermos recebendo dados).


Como mencionamos anteriormente, o cabeçalho adicionado pelo protocolo IP inclui o endereço IP de origem, o endereço IP de destino e várias outras informações de controle.




Se você prestar atenção, nós não dissemos que o datagrama IP tem 65.535 bytes, mas ele pode ter até 65.535 bytes. Isto significa que o campo de dados do datagrama não tem um tamanho fixo. Como os datagramas serão transmitidos pela rede dentro de quadros produzidos pela camada Interface com a Rede, normalmente o sistema operacional configurará o tamanho do datagrama IP para ter o tamanho máximo da área de dados do quadro de dados usado em sua rede. O tamanho máximo do campo de dados dos quadros que são transmitidos pela rede é chamado MTU, Maximum Transfer Unit, ou Unidade de Transferência Máxima.


As redes Ethernet – que são o tipo de rede mais comum hoje em dia, incluindo sua encarnação sem fio – pode transportar até 1.500 bytes de dados, ou seja, seu MTU é de 1.500 bytes. Por isso o sistema operacional configura automaticamente o protocolo IP para criar datagramas IP com 1.500 bytes em vez de 65.535 (que não caberia no quadro). Na próxima página veremos que o seu tamanho real é de 1.497 ou 1.492 bytes, já que a camada LLC “come” 3 ou 5 bytes para adicionar seu cabeçalho.


Só para esclarecer, você pode estar confuso como uma rede pode ser classificada como TCP/IP e Ethernet ao mesmo tempo. O TCP/IP é um conjunto de protocolos que lida com as camadas 3 a 7 do modelo de referência OSI. O Ethernet é um conjunto de protocolos que lida com as camadas 1 e 2 do modelo de referência OSI – o que significa que o Ethernet se preocupa com o aspecto físico da transmissão de dados. Por isso eles se complementam, já que precisamos das sete camadas completas (ou suas equivalentes) para estabelecer uma conexão de rede. Nós explicaremos mais sobre este relacionamento na próxima página.


Outra característica que o protocolo IP permite é a fragmentação. Como mencionamos, até chegar a seu destino o datagrama IP provavelmente passará por várias outras redes no meio do caminho. Se todas as redes no caminho entre o computador transmissor e o receptor usarem o mesmo tipo de rede (por exemplo Ethernet), maravilha, já que todos os roteadores trabalharão com a mesma estrutura do quadro (isto é, o mesmo tamanho de MTU).


No entanto, se aquelas outras redes não forem redes Ethernet, elas podem usar um tamanho diferente de MTU. Se isto acontecer, o roteador que está recebendo os quadros com o MTU configurado com 1.500 bytes dividirá o datagrama IP em quantos quadros forem necessários para atravessar a rede com o tamanho de MTU menor. Ao chegar no roteador que tem sua saída conectada a uma rede Ethernet, este roteador remontará o datagrama original.




Camada Interface com a Rede


Os datagramas gerados na camada Internet serão passados para a camada Interface com a Rede, durante a transmissão de dados, ou a camada de Interface com a Rede pegará os dados da rede e os enviará para a camada de Internet, na recepção dos dados.


Esta camada é definida pelo tipo de rede física a qual seu computador está conectado. Quase sempre seu computador estará conectado a uma rede Ethernet (redes sem fio também são redes Ethernet como explicaremos).


Com dissemos na página anterior, o TCP/IP é um conjunto de protocolos que lida com as camadas 3 a 7 do modelo de referência OSI, enquanto que o Ethernet é um conjunto de protocolos que lida com as camadas 1 e 2 do modelo de referência OSI – o que significa que o Ethernet lida com os aspectos físicos da transmissão de dados. Por isso um complementa o outro, já que precisamos das sete camadas completas (ou suas equivalentes) para estabelecer uma conexão de rede.

O Ethernet tem três camadas: LLC (Controle do Link Lógico), MAC (Controle de Acesso ao Meio) e Física. O LLC e o MAC correspondem, juntas, a segunda camada do modelo de referência OSI.


A camada LLC é a responsável por adicionar informações de que protocolo na camada Internet foi o responsável por gerar os dados. Dessa forma, durante a recepção de dados da rede esta camada no computador receptor tem que saber que protocolo da camada de Internet ele deve entregar os dados. Esta camada é definida pelo protocolo IEEE 802.2.


A camada de Controle de Acesso ao Meio (MAC) é a responsável por montar o quadro que será enviado para a rede. Esta camada é responsável por adicionar o endereço MAC de origem e de destino – como explicamos anteriormente, o endereço MAC é um endereço físico de uma placa de rede. Os quadros que são destinados a outras redes utilizarão o endereço MAC do roteador da rede como endereço de destino. Esta camada é definida pelo protocolo IEEE 802.3, se uma rede com cabos estiver sendo usada, ou pelo protocolo IEEE 802.11, se uma rede sem fio estiver sendo usada.


A camada Física é a responsável por converter o quadro gerado pela camada MAC em sinais elétricos (se for uma rede cabeada) ou eletromagnéticos (se for uma rede sem fio). Esta camada é também definida pelo protocolo IEEE 802.3, se for uma rede com cabos estiver sendo usada, ou pelo IEEE 802.11, se uma rede sem fio estiver sendo usada.


As camadas LLC e MAC adicionam suas informações de cabeçalho ao datagrama recebido da camada Internet. Portanto uma estrutura completa de quadros gerados por essas duas camadas pode ser vista na Figura 7. Note que os cabeçalhos adicionados pelas camadas superiores são vistos como “dados” pela camada LLC. A mesma coisa acontece com o cabeçalho inserido pela camada LLC, que será visto como dado pela camada MAC.


A camada LLC adiciona um cabeçalho de 3 ou 5 bytes e seus datagrama tem um tamanho total máximo de 1.500 bytes, deixando um máximo de 1.497 ou 1.492 bytes para dados. A camada MAC adiciona um cabeçalho de 22 bytes e um CRC (soma dos dados para identificação de erros) de 4 bytes ao final do datagrama recebido da camada LLC, formando o quadro Ethernet. Portanto o tamanho máximo de um quadro Ethernet é de 1.526 bytes.





Hacker

Ser um Hacker

Para ser um hacker você precisa antes de mais nada se familiarizar com uma máquina (de preferência um micro computador). Depois precisa ter conhecimento em redes, programação(linguagem C e Assembly é preferencial) e um pouco de arquitetura de um computador ou uma outra máquina. Não esqueça de ser humilde e pesquisar muito, para isso temos uma grande ferramenta o Google.
Preste atenção, eu vejo por aí muitas pessoas que tem um conhecimento básico e querem, procuram ser hacker, bom mas o erro delas é o de pensar que são melhores que todos
e que sabem tudo(eu mesmo fui assim por 1 ou 2 semanas, mas eu pesquisava muito e deixei de ser um "
Lammer"(Otário).), porém na verdade eles são os chamados script-kiddies, em média são crianças com 12 à 16 anos que descobrem uma pequena parcela do mundo hacker,
cibernético, que pegam as famosas "receitas de bolo"(códigos criados por um hacker, mas são chamados assim porque os kiddies pegam e fazem mal uso deles.).

Espero que sejam diferentes desses, e estudem muito. Eu comecei estudando linguagens web, HTML, Java Script, PHP, CSS, depois ou agora estou migrando para linguagem C e depois Assembly.




EM BREVE POSTAREI CONTEÚDOS INTERESSANTES.
ATUALIZAREI DIARIAMENTE.