Computação Básica

2º Bimestre

1

Índice
Sistema Operacional................................................................3 Softwares............................................................................14 Redes de Computadores e a Internet..........................................20 Softwares e as Linguagens de Programação..................................32 Sistemas de Numeração...........................................................41 Álgebra Booleana e Portas Lógicas..............................................59

2

O sistema operacional é um software muito especial. Ele reside entre o hardware e os aplicativos do usuário para organizar os recursos de processamento, periféricos (teclado, mouse, vídeo, etc.), armazenamento e outros. Vamos levantar as premissas de um bom sistema operacional.

1.1 Funções básicas de um sistema operacional
Partindo do princípio que a idéia de um S.O. (sistema operacional) é organizar recursos, podemos estabelecer que ele deve: • Fornecer uma interface com o usuário. • Gerenciar a operação dos dispositivos de hardware do computador. • Gerenciar e manter o sistema de arquivos. • Dar suporte aos programas que são executados. O primeiro item diz respeito ao fato de que um sistema operacional é quem fornece a interação entre você e o seu computador. Você manipula o teclado e o mouse. Quem recebe essas tecladas e mexidas do mouse? O sistema operacional. Ele percebe que esses dispositivos foram acionados e responde através da modificação das informações que estão na tela do computador, daí a necessidade de gerenciar o hardware do computador (segundo item). O sistema de arquivos, terceiro item, é o conjunto de hardware que tem por objetivo armazenar as informações por tempo indeterminado. Ou seja, mesmo depois que você desliga um computador, as informações previamente salvas ficam armazenadas em algum dispositivo. Na maioria das vezes, um disco rígido.
3

Por fim, o quarto item está relacionado ao fato de que, apesar de tanta utilidade, o sistema operacional não é o objeto final de utilidade do computador. Na verdade o sistema operacional tem que deixar o PC organizado para uma única grande finalidade: executar programas. Quantos? Muitos! Depende das necessidades do usuário. Organizar o editor de textos, o navegador da Internet, o programa de mensagens instantâneas, o download de arquivos e aquele joguinho de cartas, todos executando ao mesmo tempo, não é lá uma tarefa das mais triviais. Um esquema que resume esta discussão é apresentado na Figura 1.

Figura 1 - Funções básicas do sistema operacional.

1.2 Execução de processos
Qualquer programa de computador, um editor de textos por exemplo, ao ser carregado na memória RAM para poder executar dentro do processador recebe um nome especial: processo. Processo é, portanto, um programa que está em execução. Você já parou para pensar como é possível um computador, com apenas um processador, executar o editor de textos ao mesmo tempo em que você navega na Internet e ao mesmo tempo em que ouve uma música tocada pelo próprio PC?
4

Essa é uma questão fundamental de sintonia entre a arquitetura do computador e a construção do sistema operacional. Ambos são projetados para “fazer parecer” ao usuário que é possível dois ou mais processos ocuparem um mesmo processador simultaneamente. Na realidade o que temos é um conjunto de processos (programas em execução) carregados na memória RAM, que competem para ocupar o processador e realizar aquilo que está sendo solicitado pelo usuário. Essa competição é tão rápida, mas tão rápida, que a impressão que temos é que tudo ocorre ao mesmo tempo. O poder de carregar dois ou mais programas na memória RAM chama-se multiprogramação enquanto que o nome desse rodízio entre os vários programas para ocupar o processador (bem como entre os vários usuários, executando diferentes processos em um único computador de grande porte) chama-se compartilhamento de tempo. Em meio a tanta coisa acontecendo quase ao mesmo tempo, o sistema operacional precisa ficar muito esperto com a organização da memória RAM e dos demais dispositivos. • Um processo pode querer tentar escrever na área da memória, reservada a outro processo, danificando os dados particulares deste outro processo. • Um processo pode querer tentar escrever diretamente no disco rígido, danificando a organização feita pelo sistema operacional. Coloque-se no lugar da pessoa que está escrevendo um sistema operacional, você permitiria essas ações? Certamente que não! Para garantir que essas situações indesejadas não ocorram, o computador é projetado para funcionar em dois modos de operação distintos: • Modo supervisor: Neste modo é possível modificar o conteúdo da memória RAM, onde ficam os processos, modificar os dados nos dispositivos de armazenamento, modificar a saída no vídeo e na impressora. Em resumo: tudo é possível. Apenas o sistema operacional consegue habilitar a sua chave de operação. Ao desocupar o processador para dar lugar a algum processo, o sistema operacional desabilita a chave do modo supervisor, entregando-o no modo usuário. Como você já pode perceber, o sistema operacional é complexo e abrangente. Apenas um pequeno pedaço dele precisa realmente ficar dedicado ao controlar a posse do modo controlador. A entidade que cuida disso chama-se: kernel. • Modo usuário: No modo usuário o computador só permite a realização de um tipo de tarefa: cálculos. Exatamente a serventia desejada por um processo. Editores de texto, navegadores da Internet e o joguinho de cartas, assim como qualquer outro processo, não precisam mais do que poder realizar cálculos dentro do processador para ficarem felizes e darem o que o usuário quer. Se o usuário deseja saber alguma coisa a respeito do sistema operacional ou então iniciar novos programas, ele usará a porção do S.O. conhecida como shell, que tem exatamente essa finalidade.

5

Com esta divisão dos modos de execução garantimos que o sistema operacional conseguirá preservar a ordem dentro do computador. Fica faltando apenas uma situação: o momento em que um processo necessita salvar dados no disco, solicitar uma informação do usuário através do teclado e muitas outras similares. De acordo com a explicação dada até o momento isto não seria possível. Para permitir esses momentos de interação entre um processo e o usuário, o sistema operacional oferece um meio de comunicação com os processos, um “jeitinho” de um processo poder fazer acontecer e se comunicar com o mundo que está fora do processador. Essa comunicação é toda intermediada pelo sistema operacional para que nada de errado ocorra. Ao menor sinal de suspeita, o sistema operacional será capaz de terminar o processo travando-o e tirando-o de circulação. Caso a solicitação de comunicação feita pelo processo esteja correta, ela é atendida normalmente pelo sistema operacional, que entra em execução para realizá-la e informa o processo a respeito do resultado. O nome deste recurso é chamada de sistema. A Figura 2 resume estes pensamentos. Cada seta representa uma interação possível.

Figura 2 - Esquema de interação entre os componentes do sistema operacional.

Veja agora os aspectos de gerenciamento da memória RAM.

1.3 Gerência da memória RAM
Um grande desafio do sistema operacional é organizar a memória RAM para que ela armazene todos os processos solicitados pelo usuário. Assim que o computador é ligado, o
6

sistema operacional é carregado na memória RAM. Neste momento existe uma boa parte da RAM livre para que o usuário possa ocupá-la com seus processos. À medida que os processos vão sendo carregados e encerrados, novos espaços são liberados na RAM para serem reutilizados. Considere a Figura 3.

Figura 3 - Duas situações possíveis na memória RAM.

Este caso se baseia em uma situação primitiva, mas ilustra bem as preocupações do sistema operacional com relação à memória. Na situação A o recém criado processo 4 quer entrar em operação. A princípio não há espaço. Em B houve o encerramento do processo 2 que acabou por liberar espaço para o processo 4. Note que depois disso ficou existindo duas vagas. Uma com 13 Kb e outra com 25 Kb. Contabilizar essas informações mantendo uma lista dos espaços ocupados e dos livres é tarefa do S.O. Ele não pode permitir, por exemplo, que um processo seja carregado na área de outro ainda em execução. Para finalizar, você apenas precisa saber que o sistema operacional não nega a inicialização de novos processos, mesmo quando a memória RAM está completamente utilizada. Para conseguir isso, ele estende esse mapa da memória RAM para uma área dentro do disco rígido. O lado negativo deste procedimento é que a execução dos processos fica muito mais lenta, devido à diferença de velocidade entre esses dispositivos. O nome deste recurso é swap que se traduz em uma “área de troca” em português. A seguir, acompanhe o funcionamento do elemento de gerência de arquivos.

7

1.4 Gerenciamento de arquivos
Arquivo é o nome dado a um conjunto de dados eletrônicos que fazem sentido para o usuário. Por exemplo, uma fotografia é um conjunto de bits que marcam pontos de cores diferentes, enquanto que uma música é um conjunto de bits que representam as ondas de áudio que devem ser geradas pelo dispositivo de som. Você não vai colocar uma fotografia para tocar no programa de música, nem abrirá um arquivo de som com um editor de imagens. Entretanto, olhando cruamente para esses arquivos, eles não passam de seqüências de bits organizados em estruturas hexadecimais. Para melhorar a organização dos arquivos é possível classificá-los por extensão e agrupá-los em diretórios (ou pastas) conforme a finalidade de cada grupo. O Quadro 1 exibe um exemplo onde as extensões “.bin”, “.mp3” e “.png” são utilizadas para classificar arquivos binários, músicas e imagens e que emprega pastas com o nome “programas”, “musicas” e “fotos” para agrupá-los.

Quadro 1 - Exemplo de estrutura de diretórios e arquivos.

Cada sistema operacional tem seu modo de tratar o conjunto de arquivos e possui estruturas de diretórios diferentes para organizar e fornecer informações sobre os arquivos armazenados no sistema. Esta porção do sistema operacional recebe o nome de sistema de arquivos. O sistema operacional é a única entidade que manipula o sistema de arquivos. Ele deve intermediar todos os momentos em que um aplicativo deseja carregar ou gravar dados no dispositivo de armazenamento. As operações mais comuns fornecidas via chamada de sistema são: • Criar um novo diretório ou arquivo. • Modificar o nome de um diretório ou arquivo. • Apagar um arquivo. • Apagar um diretório removendo todos os arquivos contidos dentro dele. • Adicionar novos sistemas de arquivos, presentes em unidades de cd-rom, memórias flash (pen drives) ou em conexões de rede.
8

Além de controlar dispositivos de armazenamento, o sistema operacional controla também os dispositivos de entrada e saída de dados.

1.5 Dispositivos de entrada e saída de dados
O sistema operacional também inclui um sistema de entrada e saída de dados. A sua tarefa é ordenar os dispositivos que interagem com o ser humano e com outros computadores. O driver (ou controlador, em português) é um trecho de código inserido no kernel que vai permitir que o sistema operacional saiba lidar com um determinado componente de hardware. Por exemplo, somente após a adição de um driver de mouse é que o sistema operacional passa a entender o que o mouse faz. Com relação ao adaptador de rede é a mesma coisa: é necessário haver um driver que faça o sistema operacional entender o que é receber e enviar dados de e para a conexão com a Internet. Alguns drivers, como o do mouse, já estão inclusos na maioria dos sistemas operacionais, outros porém, devem ser instalados pelo usuário antes do uso do dispositivo. Os principais exemplos de dispositivos são: De interação entre computador e ser humano: • Teclado: Recurso de entrada por onde o usuário insere caracteres (letras, números e símbolos). • Mouse: Recurso de entrada usado para controlar o ambiente gráfico através de um ponteiro. Também pode ser usado como instrumento de desenho em aplicações específicas para esta finalidade, além de muitas outras possibilidades. • Vídeo: É o principal recurso de saída de dados. Nele o usuário visualiza o resultado de suas ações no computador. • Impressora: Com a impressora é possível realizar a saída de dados permanentes em papel. Impressão de imagens, fotos, relatórios e arte são as principais utilidades dela. De interação entre computadores: • Rede: Adaptador de entrada e saída pelo qual o computador se insere em uma rede local. Nesta rede ele pode acessar sistemas de arquivos remotos, compartilhar arquivos locais e realizar processamento distribuído, entre muitas outras possibilidades. • Modem: O modem conecta um computador com outros em uma rede de longa distância (como a Internet) através da rede telefônica. O compartilhamento de arquivos é raramente utilizado devido aos riscos de segurança, mas o acesso a servidores remotos de informação como correio eletrônico, páginas na Internet e comunicação instantânea com outras pessoas são cada vez mais comuns. Existem muitos outros dispositivos. Para perceber a maioria deles, basta observar a quantidade cabos que saem de trás de um gabinete de computador para os diversos elementos de hardware em volta. É claro que só isso não basta, pois existem conexões sem fio que passariam desapercebidas, sem contar na estrutura interna do gabinete, que está cheia de outras interfaces de conexão.

9

Para finalizar, vamos comparar alguns sistemas operacionais disponíveis para os computadores de hoje.

1.6 Sistemas operacionais de mercado
Existe uma vasta quantidade de sistemas operacionais para os mais variados tipos de computadores. Uma rápida pesquisa na Internet resultará em centenas de web sites com informações e até mesmo a possibilidade de download, dependendo da licença de distribuição. Os principais sistemas operacionais para computadores pessoais e servidores são: • Windows da Microsoft: Família de sistemas operacionais de propósito geral, precursora do uso em massa dos computadores. As versões mais atuais incluem o Windows XP e Windows Vista para estações de trabalho e o Windows 2000 e Windows 2003 para servidores. • UNIX: Sistema operacional criado no início da década de 70 para o Bell Labs. Apesar de não estar disponível hoje, ele inspirou vários outros sistemas a partir da visão de que: (a) cada programa deve fazer apenas uma tarefa específica, mas fazê-la bem, e (b) os dispositivos de armazenamento e de entrada/saída devem ser vistos como se fossem arquivos para simplificar sua manipulação. • Derivados do UNIX: São os sistemas operacionais derivados no UNIX original. Herdam seu estilo poderoso e simplificado. Os principais exemplos são a família BSD (FreeBSD, OpenBSD e NetBSD), o Solaris (da Sun) e o AIX (da IBM). • Mac OS da Apple: É provavelmente o mais atraente e mais fácil sistema operacional para uso geral. Muito utilizado nas áreas de editoração e produção gráfica, o Mac OS está na versão X (10) e tem seu núcleo adaptado da família BSD. • Linux: Ao invés de derivar diretamente do UNIX, o Linux é um clone. Contém códigofonte criado do zero pelo finlandês Linus Torvalds. A interface fornecida para o usuário é a mesma empregada pelos UNIX. Pode ser um shell em texto (bash, c shell, korn shell) ou gráfica (Gnome, KDE, XFCE, todos através de um servidor gráfico como o X.org e o X Window). A seção “Saiba mais...” aponta recursos na Internet que fornecem mais exemplos de sistemas operacionais. Com isso concluímos a aula de hoje.

• O sistema operacional é o software que dá ordem no uso do computador. Ele gerencia o processador, a memória RAM, os dispositivos de armazenamento e os de entrada e saída de dados. • O disco rígido é o principal dispositivo de armazenamento. O sistema operacional normalmente está gravado dentro dele e é carregado no momento em que ligamos o
10

computador. • Um processo é um programa carregado na memória RAM que executa por uma fatia de tempo, compartilhando o processador com os demais. • O modo de execução supervisor permite o acesso total ao hardware. Somente o kernel do sistema operacional consegue habilitar este modo. • No modo usuário apenas os recursos de dentro do processador estão disponíveis. Isto é tudo o que um processo necessita. • Caso o processo necessite algum recurso de entrada e saída ou armazenamento, ele solicita a tarefa ao kernel por meio de uma chamada de sistema. • O shell é o interpretador de comandos por onde o usuário interage com o kernel. • O sistema operacional deve organizar a memória RAM de forma adequada e impedir que um processo danifique a área de memória do outro. • Cada sistema operacional utiliza seu próprio sistema de arquivos para agrupar os arquivos em diretórios. • Existem vários dispositivos de entrada e saída, como o teclado, o mouse e o adaptador de rede. O kernel passa a entendê-los quando recebe o driver (controlador) apropriado para manipulá-los. • Os principais sistemas operacionais do mercado são o Windows, o Mac OS X e os derivados/clones do UNIX, como o FreeBSD e o Linux.

1. Marque com V as funções de um sistema operacional corretas e com F as incorretas. ( ( ( ( ) É parte do hardware. ) Fornece uma máquina virtual. ) Controla o hardware. ) É o software que permite a execução de programas (aplicativos).

2. Assinale com (S) as operações que só podem ser feitas no modo de execução “supervisor” e com (U) as operações do modo “usuário”. ( ( ( ( ) Imprimir um resultado na tela. ) Calcular um fatorial. ) Gravar no disco rígido. ) Ler o movimento do mouse.4. Verdadeiro ou falso?

( ) O kernel opera sempre em modo usuário para proteger o computador contra danos. 3. Sobre a gerência da memória RAM:
11

a) Ela é autogerenciada. b) O sistema operacional não pode interferir no processo de gerenciamento. c) O sistema operacional organiza os vários kernels em execução. d) O sistema operacional organiza os vários processos em execução. 4. Marque com (D) os diretórios e com (A) os arquivos: ( ( ( ( ) /paulo/viagens/foto01.jpg ) c:\julio\ ) Conjunto de bits que representam freqüências sonoras. ) Local que organiza vários arquivos.

5. São sistemas operacionais (marque todos que se aplicam): a) Microsoft Word b) Windows XP c) Linux d) FreeBSD e) Internet Explorer10. Verdadeiro ou falso? ( ) Todos os computadores necessitam de um sistema operacional para serem úteis.

Conheça um repositório com apontadores para vários web sites de sistemas operacionais pouco conhecidos. Aos que se interessarem por este tipo de software, há inclusive grupos dedicados a ensinar a construção de novos sistemas. Os locais de visita são: http://pt.wikipedia.org/wiki/Lista_de_sistemas_operativos http://en.wikipedia.org/wiki/List_of_operating_systems http://en.wikipedia.org/wiki/Operating_system

BROOKSHEAR, J. G. Ciência da computação uma visão abrangente. 7. ed. São Paulo: Bookman. 2005. MARÇULA, M. e BENINI FILHO, P. A. Informática conceitos e aplicações. 1. ed. São Paulo: Érica. 2005.
12

OLIVEIRA, R. S., CARISSIMI, A. S., TOSCANI, S. S. Sistemas Operacionais. 3. ed. Sagra Luzzatto. 2004.

Este foi o estudo dos sistemas operacionais. Na próxima aula avançamos o estudo do software. Veremos os bancos de dados e a engenharia de software como grandes soluções para a manipulação das informações. Até lá!

13

Você já percebeu uma coisa: um sistema de computação constitui-se de duas partes, sendo uma física (circuitos) e uma lógica. Toda a parte lógica do sistema recebe um nome genérico: SOFTWARE. Fazem parte do Software: o programa, o sistema operacional, os dados, o compilador, o assembler, o interpretador etc. Existem três tipos de software: básico (do fabricante), utilitários (de apoio) e aplicativos (do usuário).

2. Software básico
É o conjunto dos programas básicos que o fabricante do computador ou SoftHouse especializada desenvolve para utilizar toda a sua potencialidade. Exemplos típicos: sistemas operacionais e seus complementos, compiladores e interpretadores.

2.1 Software Utilitário
São programas desenvolvidos por empresas ou profissionais liberais especializados, para auxiliar na execução de tarefas repetitivas e exaustivas. Existe um infinidade de utilitários, mas podemos agrupá-los em famílias de acordo com a área de atuação: editores de texto, planilhas eletrônicas, bases de dados, geradores de gráficos, simuladores, ferramentas operacionais e integrados.

14

2.2 Editores de Texto
Tem a função de auxiliar na criação/correção de textos, permitindo formatar, alterar, duplicar, copiar, concatenar (ligar em seqüência), imprimir cópias, gravar para depois reutilizar etc. Dentro do editor, trabalha como se o vídeo fosse uma folha de papel na máquina de escrever, com a vantagem de que se pode “correr” pela folha com o cursor e fazer correções, alterações, “salvar” o texto em disco para utilizar em outra ocasião, além de se contar com um número considerável de comandos para inserir trechos de outro texto, repetir operações, anular linhas inteiras ou qualquer outra operação que facilite o trabalho. Um bom editor de texto permite a elaboração de: Etiquetas de identificação; Mala direta; Correspondências; Formatação de páginas; Layout de fichas; Escrituras; Livros como este com numeração de páginas, índice, vários tipos de letras etc.

2.3 Planilhas eletrônicas
Tem a função de manipular tabelas numéricas ou não, com a facilidade de efetuar cálculos por linhas ou pro colunas. As planilhas geralmente se apresentam em formato de linhas e colunas, sendo as linhas identificadas por letras e as colunas por números. Para localizar ou operar com um dado fornece-se à linha e a coluna onde ele se encontra. Exemplo: para localizar um dado na linha B coluna dois, digita-se B2 (chamado de célula). Com uma planilha eletrônica pode-se elaborar: Fluxo de caixa; Controle de conta bancária; Controle de estoque simples; Controle de materiais;

15

Controle de frotas; Cálculos contábeis; Cálculos científicos.

2.4 Base de Dados
São gerenciadores de arquivos (coleções de dados), com grandes recursos de localização, alteração, gravação e consulta de dados. Também são chamados de Banco de Dados, mas esta denominação é mais correta para as coleções de dados gerenciados pelo dB. Podem ser utilizados de forma direta ou programada. São aplicados no gerenciamento de coleções de dados como: Carteira de cobrança; Gerenciamento de clientes; Controle de crediário; Controle de turmas de escolas; Controle de pagamentos; Fichários diversos, etc...

Podem ser: Simples = arquivos completos independentes. Relacionais = arquivos que se completam entre si pela chave de acesso (Access – chave primária).

Analogia:

Base de dados simples: Toda a família Santos mora neste edifício

16

Base de dados relacional: Edifícios onde podemos encontrar integrantes da família Santos

Família Santos Família Santos

Santos = chave de acesso para encontrar os integrantes. Cada edifício, nos dois exemplos, representa um arquivo.

2.5 Geradores de gráficos
São utilizados para plotar gráficos e elaborar desenhos e diagramas. São programas de alta especialização, científicos ou artísticos; ilustram trabalhos estatísticos, de engenharia e outros. Todos os profissionais que necessitam gerar, gravar, reutilizar, alterar, imprimir gráficos e desenhos técnicos ou artísticos em seus trabalhos utilizam-se destas ferramentas.

2.6 Simuladores
São geradores de movimento (animação) ou de som (sintetizador), simuladores de equipamentos ou similares. Este tipo de software é utilizado na elaboração de jogos ou no auxílio de tarefas que outros softwares não estão preparados para realizar.

2.7 Ferramentas operacionais
São utilitários que atuam junto ao sistema operacional, racionalizando espaços de arquivos, recuperando arquivos destruídos acidentalmente ou não, pesquisando ocorrência em arquivos, controlando diretórios e subdiretórios, pesquisando erros em discos, recuperando discos e outras tarefas de interesse do operador.

2.8 Integrados
17

Trata-se de grupos de utilitários, reunidos em um só, que geralmente “conversam” entre si. Exemplos: LOUTS 1,2,3 = editor de texto + planilhas + banco de dados MICROSOFT OFFICE = editor de texto + planilha + banco de dados + apresentações de slides

2.9 Software do usuário
São programas dedicados para fins específicos. São desenvolvidos especialmente para empresas ou particulares que solicitem a um programador ou SoftHouse. Cada programa é aplicado para resolver um problema ou para realizar um determinada tarefa e nada mais. Não são adaptáveis e geralmente são exclusivos de quem solicitou, devido às particularidades e que atendem. Podem ser: folhas de pagamentos, contabilidade, faturamento, controle de estoque, agenda, marcação de consultas, etc.

Tudo o que o computador faz é controlado pela parte lógica do sistema. A solução de um problema é transformada em programa, escrito em determinada linguagem. Depois é compilado, interpretado ou montado; um outro programa equivalente em linguagem de máquina é criado.

1. Enumere a segunda coluna de acordo com a primeira. 1. Proprietário ( ) Livre para uso pessoal. 2. Shareware ( ) Livre para executar e modificar. 3. Freeware ( ) Usável por um período de tempo.
18

4. Adware 5. Livre

( ) Necessita de aquisição de uma licença. ( ) Exibe propagandas de terceiros

http://pt.wikipedia.org/wiki/Softwares

NORTON, P. Introdução à informática. São Paulo: Makron, 1996. MARÇULA, M. e BENINI FILHO, P. A. Informática conceitos e aplicações. 1. ed. São Paulo: Érica. 2005.

19

“Redes de computadores são o conjunto de equipamentos interligados de maneira a trocarem informações e compartilharem recursos como arquivos de dados, impressoras, modems, softwares e outros” (SOUSA, 1999). “Uma rede de computadores liga dois ou mais computadores de forma a possibilitar a troca de dados e o compartilhamento de recursos” (MEYER, 2000).

3.1 Redes de computadores
As redes de computadores surgiram para atender a necessidade de interligação entre os diversos computadores de um ambiente computacional. Elas são compostas por dois elementos principais: • _Componentes físicos: dizem respeito a como os cabos, adaptadores e interfaces de rede são conectados e interligados. Desse conceito derivam as topologias físicas. • _Componentes lógicos: são os diversos softwares necessários para que os componentes físicos tenham utilidade quando interligados. Desse conceito derivam as topologias lógicas. Ambas as topologias serão abordadas adiante. As redes se tornaram presentes em praticamente todos os locais onde existem computadores, pois as empresas e mesmo os usuários domésticos já percebem como é vantajoso compartilhar os recursos computacionais que se tem. As vantagens mais evidentes são: • Impressoras: Quando ligada em rede, uma impressora pode ser útil a todos os funcionários de um departamento, por exemplo.

20

• Arquivos centralizados: Havendo um servidor de arquivos na rede de computadores, é possível que uma equipe armazene todos os arquivos de trabalho em um local centralizado. Desta forma o gerenciamento fica facilitado, pois é possível fazer backup, remover vírus e mesmo acessar arquivos de outros colaboradores, tudo em um repositório central. • Aplicativos: Ao invés de cada usuário instalar um determinado aplicativo em seu computador, pode acessar o software diretamente do servidor de arquivos. Assim, torna-se mais fácil o gerenciamento da tarefa de atualização do aplicativo. • Acesso à Internet: Para que um ambiente de trabalho possa usufruir dos benefícios da Internet é pré-requisito que ele esteja interligado em rede.

O Quadro 1 fornece um resumo dessas idéias. Os computadores e impressoras estão interligados a um hub por meio de cabos. O Servidor oferece acesso compartilhado à Internet através de sua conexão com o roteador, capaz de se comunicar diretamente com a rede mundial.

Os próprios computadores podem atuar como servidores de arquivos e aplicações, entretanto é mais comum haver novos servidores dedicados para estas funções. Neste cenário, a impressora é capaz de imprimir documentos originados em qualquer computador da rede. Tudo isso é possível devido a uma série de recursos de hardware e software
21

empilhados, a começar pelo meio físico de transmissão. 3.1.1 meios físicos de transmissão Os meios físicos criam o canal de ligação entre um computador e outro. Eles são responsáveis por transportar os sinais que levam nossas informações de um lado para o outro na rede. Entre os diversos meios físicos existentes, vale ressaltar os principais meios guiados por cabos que conduzem energia elétrica ou luz: • Os cabos coaxiais que conduzem sinais elétricos dentro de um condutor de cobre coberto com camadas isolantes e um revestimento plástico. • Os cabos de pares trançados onde se encontram diversos pares de fios enrolados em forma de espiral para anular a interferência natural dos campos eletromagnéticos durante a condução dos sinais elétricos. • Os cabos de fibras ópticas que contém internamente uma mistura de vidro, plástico e outros componentes por onde feixes de luz codificam as informações.

Há também os meios não guiados que empregam o ar ao invés de cabos como meio de transporte. Os principais meios deste tipo são: • As ondas de rádio digital que transmitem a informação em ondas eletromagnéticas entre antenas apontadas uma para a outra. • Os satélites que enviam e recebem sinais de e para antenas parabólicas instaladas em áreas da superfície terrestre dentro da sua área de cobertura. • O espectro de difusão por onde os aparelhos de rede sem fio emitem e recebem sinais das interfaces de rede sem fio instaladas nos computadores.

22

Os meios físicos são usados na construção das diferentes topologias das redes de computadores. 3.1.2 Topologias

Dependendo da forma de interligação entre os computadores e da presença ou não de um hub as redes podem assumir diferentes topologias, conforme é apresentado no Quadro 3.

A topologia física em barramento existe quando um condutor (barramento) é utilizado para realizar a interligação dos computadores. • Já a topologia física em estrela é formada quando se interligam diversos computadores através de hub. • A topologia em anel pode ser física ou lógica. Ela é física quando se forma um anel (geralmente com dois cabos redundantes) que percorre todos os equipamentos. Ela é lógica quando este anel é implementado por software em cima de uma outra topologia física qualquer. Isso lhe confere propriedades especiais que serão estudadas em profundidade na disciplina de Redes de Computadores. • Por fim, a topologia física em malha específica onde um computador deve ser ligado a todos os demais computadores através de conexões dedicadas entre cada um deles. Cada topologia oferece pontos positivos e negativos: • A topologia em barramento é muito fácil de criar, basta escolher um cabo adequado e passá-lo por todos os equipamentos. A economia de material é grande. O lado negativo é que essas redes são relativamente lentas e o rompimento do cabo causa a parada de todas as atividades. • Na topologia em estrela é muito fácil adicionar novos computadores. Basta apenas haver portas disponíveis no hub e cabos para a interligação. Entretanto se o hub falhar todos ficam sem comunicação. • A rede em anel físico fornece dois caminhos para dois dispositivos se encontrarem. Quando o primeiro caminho falha pode-se trafegar pelo segundo. Se ela é lógica então é possível ordenar o tráfego e priorizar a ordem da comunicação entre os dispositivos. • A rede em malha garante que se dois dispositivos estão funcionando eles serão capazes de comunicar. Entretanto a ligação dedicada entre cada computador pode
23

encarecer demais o custo do projeto. Além dos aspectos de topologia, as redes de computadores variam também com relação a abrangência geográfica que elas ocupam. 3.1.3 Classificação baseada na abrangência geográfica

Das menores redes, criadas para interligar o mouse sem fio ao computador até a rede mundial de computadores há diversos aspectos que as diferenciam, como a velocidade e a forma de acesso. TANENBAUM (2003) apresenta as seguintes definições: • PAN (Personal Area Network – Rede de Área Pessoal). É a rede estabelecida entre dispositivos próximos. As câmeras fotográficas capazes de se ligarem às impressoras diretamente sem necessidade de computadores ou fios, os fones de ouvido que se conectam diretamente aos telefones celulares também sem a necessidade de fios e as redes bluetooth para ligação de computadores próximos são bons exemplos aderentes ao conceito de redes pessoais – PANs. Em geral os aparelhos devem estar dentro de uma área com distância inferior a 10 metros para se comunicar e conseguem transmitir não mais do que 1 megabit (um milhão de bits) por segundo. • LAN (Local Area Network – Rede de Área Local). As redes locais trazem o conceito mais conhecido de ligação entre computadores. Através de cabos ou utilizando adaptadores sem fio, os computadores de uma mesma sala ou edifício são interligados alcançando velocidades geralmente entre 10 e 100 megabits por segundo. A rede estabelecida entre os computadores da sua sala de aula ou laboratório é do tipo LAN. • MAN (Metropolitan Area Network – Rede de Área Metropolitana). As redes metropolitanas são formadas através de cabos de conexão, como a fibra óptica que passa por toda uma cidade. Nela é possível ligar uma LAN à outra desde que ambas se encontrem na mesma área metropolitana. Este tipo de rede oferece velocidades bem parecidas com as LANs. • WAN (Wide Area Network – Rede de Área Ampla). As redes de área ampla interligam pontos que ultrapassam a distância dos 1.000 quilômetros. Essas redes geralmente são montadas em cima das redes telefônicas tradicionais e cada vez mais empregam as fibras ópticas em substituição ao cabo de cobre. Isso resulta em velocidades em torno dos 150 megabits por segundo. A Internet é uma rede WAN.

3.2 A Internet
Criada pelo departamento de defesa dos Estados Unidos em 1969, com o nome de ARPANET, a Internet surgiu com o propósito de servir como WAN de ligação entre computadores dos centros de pesquisa de algumas universidades daquele país. Hoje através dos provedores de telefonia, é possível a qualquer pessoa ou empresa solicitar sua conexão com a Internet e realizar uma grande diversidade de formas de comunicação. Entre elas podemos destacar: • A troca de correio eletrônico que imita o correio tradicional. As pessoas enviam e recebem mensagens de texto com a possibilidade de inclusão de imagens e outros recursos multimídia sob forma de anexos.
24

• Transferência de arquivos que torna possível enviar ou receber documentos (texto, imagem, áudio, vídeo etc...) convertidos em formato eletrônico. • Comunicação instantânea possibilitando a conversa em tempo real através de texto, voz ou imagem. • Acesso às páginas da world-wide web (teia mundial) nas quais é possível a realização de pesquisas, leitura de notícias e blogs, discussão em fóruns, comércio eletrônico e uma infinidade de outras possibilidades que surgem a cada dia. Vamos ver um pouco dos aspectos técnicos de cada um desses conceitos. 3.2.1 Correio Eletrônico O correio eletrônico ou e-mail é a forma mais comum de comunicação entre os usuários da Internet. Este sistema funciona com caixas postais para onde o remetente envia a mensagem. Uma caixa postal é formada por três elementos: o identificador do usuário, o símbolo de arroba e o nome do servidor que hospeda a caixa, conforme o endereço de exemplo joaosilva@provedor.com.br, exibido no Quadro 4.

Quadro 4 - Elementos do endereço da caixa postal para o correio eletrônico.

Uma mensagem de email contém um cabeçalho e um corpo. Os principais itens do cabeçalho são: • • • • Endereço do remetente. Endereço do(s) destinatário(s). Assunto da mensagem. Informações sobre a existência de possíveis anexos.

Já o corpo contém a mensagem de texto redigida pelo remetente. Os principais programas para o uso de correio eletrônico são o Eudora da Qualcomm, o Outlook Express da Microsoft e o Thunderbird da fundação Mozilla. 3.2.2 Transferência de arquivos O serviço de transferência de arquivos foi um dos primeiros a surgir na Internet. Anos antes dos web sites já era possível fazer upload (carga) e download (descarga) de arquivos hospedados em servidores que entendem o protocolo FTP (File Transfer Protocol – Protocolo de Transferência de Arquivos). O modo de endereçamento dos servidores de FTP e dos servidores WEB, que serão vistos adiante, seguem um padrão uniformizado diferente do sistema de correio eletrônico. Este padrão tem o nome URL (Universal Resource Locator – Localizador Universal de
25

Recursos). O esquema de composição de um URL segue o padrão exibido no Quadro 5:

Portanto, para usar deste recurso é necessário conhecer o endereço (URL) do servidor FTP e instalar um programa de FTP no computador do usuário. Alguns exemplos de programas que atendem a estes requisitos são o WS-FTP da Ipswitch, o SmartFTP da SmartSoft e o Filezilla de domínio público. 3.2.3 Páginas da world-wide web A world-wide web permite a transferência de conteúdo multimídia entre servidores web (como o HTTP Server, da Apache Foundation e o IIS da Microsoft) e navegadores (como o Firefox da Mozilla Foundation e o Internet Explorer da Microsoft). Essa interação ocorre através de arquivos em um formato de linguagem próprio, especificada como linguagem HTML (Hypertext Markup Language – Linguagem de Marcação de Hipertexto). O Quadro 6 exibe um exemplo de código HTML e a respectiva página gerada pelo navegador Firefox.

As páginas da web também são identificadas por URLs. O identificador de protocolo é HTTP (HyperText Transfer Protocol – Protocolo de Transferência de Hipertexto). O Quadro 7 exibe alguns exemplos de endereços da web.
26

A web se tornou o serviço mais atraente da Internet. É nela que ocorre o maior número de novidades desde a troca de materiais científicos até os sistemas de comércio eletrônico que mudam pouco a pouco o nosso estilo de vida. A web se tornou o serviço mais atraente da Internet. É nela que ocorre o maior número de novidades desde a troca de materiais científicos até os sistemas de comércio eletrônico que mudam pouco a pouco o nosso estilo de vida. 3.2.4 Outros protocolos

Existem vários outros protocolos para as mais variadas utilidades. Vale citar: • O DNS (Domain Name System – Sistema de Nomes de Domínio) que converte os nomes de domínio fáceis de lembrar, como www.univali.br em seu endereço numérico do protocolo de Internet, no caso 200.169.62.8. • O IRC (Internet Relay Chat – Bate-papo apoiado pela Internet) onde milhares de usuários se encontram para conversar em salas de bate-papo orientadas por texto e divididas segundo canais de interesse. Foi neste ambiente que nasceram os ícones de emoção como o “ :) “, visto que o IRC não suporta imagens. • Telnet, SSH, VNC e RDP: Esta família de protocolos permite que um usuário controle, através da Internet, computadores fisicamente localizados em um ponto distante. O Telnet (TELetype NETwork – Rede de Teletipo) e o SSH (Secure Shell – Console Seguro) são usados para controlar sistemas operacionais do tipo UNIX. Já o VNC (Virtual Network Computing – Computação Virtual via Rede) e o RDP (Remote Desktop Protocol – Protocolo de Desktop Remoto) controlam servidores e estações Windows, da Microsoft.

• As redes de computadores têm a finalidade de interligar e compartilhar recursos computacionais. • As redes são formadas por componentes físicos como cabos, adaptadores de rede e hubs, e componentes lógicos como os protocolos e os softwares de comunicação.
27

• Hub é o aparelho que concentra os vários cabos de conexão que formam as redes de topologia em estrela. • As topologias físicas mais comuns são barramento, estrela, anel e malha. • A topologia lógica mais conhecida é em anel. • Existem meios físicos guiados e não-guiados. • Os meios físicos guiados mais comuns são o cabo coaxial, o par trançado e as fibras ópticas. • Os meios físicos não-guiados mais comuns são as ondas de rádio, os satélites e o espectro de difusão. • As redes PAN são de abrangência pessoal. Não ultrapassam 10 metros de raio de distância e interligam dispositivos sem fio de uso particular. • As LANs são as redes mais comuns para interligação entre computadores em uma mesma sala ou prédio. • Já as MANs interligam várias LANs dentro de uma mesma área metropolitana. Apresentam desempenho próximo das LANs. • As WANs tem propósito diferente. Elas formam redes de interconexão que permitem alcance geográfico de longa distância. A Internet é o maior exemplo. • A Internet surgiu em 1969 como resultado da necessidade de interligação entre computadores remotos. O Departamento de Defesa dos EUA patrocinou a criação com o nome ARPANET. • O correio eletrônico é o sistema de troca de mensagens no estilo “caixa postal” fornecido pela Internet. Ele usa o endereçamento usuario@provedor.com. • O sistema de transferência de arquivos ou FTP: é um protocolo muito utilizado para uploads e downloads. Seu endereçamento é no formato URL. • As páginas da web fornecem conteúdo multimídia baseado nos hipertextos da linguagem HTML que trafegam sob o protocolo HTTP. O endereçamento deste serviço também é baseado em URLs. • Outros protocolos relevantes são o DNS que convertem nomes de rede em endereços de rede, o IRC que possibilita bate-papo e os controles remotos, como o Telnet e o RDP.

1. Qual alternativa melhor descreve a utilidade das redes de computadores? a) Interligação entre computadores. b) Compartilhamento de recursos computacionais. c) Uso de cabos, hubs e roteadores. d) Uso de protocolos e aplicativos de comunicação. e) Todas as alternativas. 2. Identifique o componente lógico: a) Hub d) Adaptador b) Cabo

e) Interface
28

c) Protocolo 3. A função de um hub é: a) fornecer protocolos adequados de conexão. b) acelerar a velocidade da rede. c) interligar os cabos de rede na topologia em estrela. d) bloquear o tráfego indesejado. e) interligar os cabos de rede na topologia de barramento. 4. Sobre o cabo coaxial é correto afirmar que: a) é trançado em pares. b) contém uma mistura de vidro e plástico. c) contém um condutor de cobre. d) é um meio não-guiado. e) emprega o ar como meio de transmissão. 5. É um meio não guiado: a) O cabo coaxial. b) O par metálico. c) A fibra óptica. d) O espectro de difusão. e) Todas as alternativas. 6. Assinale a alternativa correta: a) A topologia em barramento emprega um condutor (cabo). b) A topologia em estrela emprega um hub. c) A topologia em anel pode ser física ou lógica. d) A topologia em malha encarece o projeto da rede. e) Todas as alternativas. 7. Assinale a alternativa incorreta: a) A topologia em barramento é fácil de usar. b) A topologia em estrela facilita a adição de novos computadores. c) A topologia em malha torna o projeto da rede excessivamente caro. d) A rede em anel físico fornece mais de um caminho para a comunicação entre dois dispositivos. e) Nenhuma das alternativas. 8. Qual é a rede LAN? a) A rede formada entre equipamentos de uso pessoal. b) A rede estabelecida dentro de uma área metropolitana. c) A Internet. d) A rede formada entre os computadores de um mesmo prédio. e) Nenhuma das alternativas. 9. A Internet é uma grande a) PAN b) LAN
29

c) MAN d) WAN e) SAN 10. A frase que melhor define a web é: a. um conjunto de padrões que deu origem a ARPANET. b. um conjunto de procolos como o FTP e o IRC. c. um conjunto de páginas escritas em HTML e servidas pelo HTTP. d. um conjunto de páginas escritas em HTTP e servidas pelo HTML. e. Nenhuma das alternativas.

A Internet é, naturalmente, o melhor local para estudar sobre ela própria e sobre as redes de computadores. Recomendo uma visita aos seguintes URLs: • • • http://www.aisa.com.br/historia.html http://penta.ufrgs.br/home_red.htm http://www.sebrae.com.br/br/parasuaempresa/tiposdenegocios_bte.asp

MARÇULA, M. e BENINI FILHO, P. A. Informática conceitos e aplicações. 1. ed. São Paulo: Érica. 2005. MEYER, M. et al. Nosso futuro e o computador. 3. ed. Porto Alegre: Bookman. 2000. SOUSA, L. B. Redes de computadores: dados, voz e imagem. São Paulo: Érica. 1999. TANENBAUM, A. S. Redes de computadores. 4. ed. Rio de Janeiro: LTC. 2004. WIKIPEDIA. Meios físicos de conexão. Disponível [http://pt.wikipedia.org/wiki/Cabo_coaxial]. Acesso em dezembro de 2006. em

Com isso terminamos a disciplina de Computação Básica. Espero que ela tenha agregado valor ao seu conhecimento. Não hesite em consultar novamente este material quando estiver estudando com mais profundidade algum assunto introduzido nestas aulas, ok?

30

31

Em informática, um vírus é um programa malicioso desenvolvido por programadores que, tal como um vírus biológico, infecta o sistema, faz cópias de si mesmo e tenta se espalhar para outros computadores, utilizando-se de diversos meios. A maioria das contaminações ocorrem pela ação do usuário executando o anexo de um e-mail. A segunda causa de contaminação é por Sistema Operacional desatualizado, sem a aplicação de corretivos que bloqueiam chamadas maliciosas nas portas do micro.

4.1 Possíveis danos
Perda de desempenho do micro; Exclusão de arquivos; Alteração de dados; Acesso a informações confidenciais por pessoas não autorizadas; Perda de desempenho da rede (local e Internet); Monitoramento de utilização (espiões); Desconfiguração do Sistema Operacional. Inutilização de determinadas peças Controlar o acionar e desligar de periféricos da máquina (web cam, por exemplo) Para manter o micro protegido, alguns passos devem ser sempre seguidos: Mantenha seu Sistema Operacional sempre atualizado, no caso do Windows XP, assegure-se que tenha instalado no mínimo o Service Pack 2; Tenha um antivírus, e o mantenha sempre atualizado; Atualize os principais programas de acesso a Internet (navegadores, clientes de e-mails, mensageiros instantâneos);
32

No caso do Windows, nunca abra arquivos anexos em e-mails com extensões .exe, .bat, .scr, .com, .pif, etc, sem antes certificar-se de sua idoneidade.

4.2 Nomenclatura dos vírus
Ainda não existe uma padronização na escolha do nome de um vírus. Um mesmo vírus recebe diferentes nomes das várias firmas de antivírus.

4.3 Assinaturas dos vírus
As assinaturas dos vírus são uma seqüência de caracteres que o representa. É através desta seqüência que os antivírus identificam os arquivos contaminados, pois na maioria dos casos os vírus passam uma parte de seu código para os arquivos ao contaminá-los. As assinaturas são definidas pelas empresas desenvolvedoras de antivírus com o objetivo de:

evitar os falso-positivos (quando um arquivo sadio é apontado como infectado); reconhecer o maior número de variantes do vírus; identificar o código mal intencionado na maior quantidade de arquivos possível. As assinaturas definidas pelas empresas não são as mesmas para todos os softwares antivírus, portanto um antivírus de uma marca pode detectar uma variante de um vírus conhecido (pelo fato da parte do código alterado pela variante não afetar a assinatura definida) e outro antivírus de outra marca pode não detectá-lo.

4.4 Técnicas de esconderijo dos vírus
Os vírus (seja de que tipo forem) escondem-se e protegem-se cada vez melhor dos antivírus e do acesso das pessoas. Eis algumas técnicas usadas por alguns vírus: Encriptação: Os vírus usam a encriptação para que o código não fique visível para os antivírus e para que não possam ser apagados do ficheiro original. Esta técnica é usada para que os vírus permaneçam mais tempo no computador. Mas os antivírus da atualidade já estão preparados contra esta técnica, apesar de ser difícil conseguirem eliminá-los. Desativação de antivírus (se possível): Quando os vírus desativam os conseqüentemente não são removidos. antivírus, eles não são identificados e

Esconder-se nas pastas do sistema: As pessoas não querem estragar o seu sistema operativo removendo ficheiros do
33

sistema, portanto muitos vírus escondem-se lá para evitar que o usuário os remova manualmente.

4.5 História
Em 1983, Len Eidelmen demonstrou em um seminário sobre segurança computacional, um programa auto-replicante em um sistema VAX11/750. Este conseguia instalar-se em vários locais do sistema. Um ano depois, na 7th Annual Information Security Conference, o termo vírus de computador foi definido como um programa que infecta outros programas, modificando-os para que seja possível instalar cópias de si mesmo. O primeiro vírus para PC nasceu em 1986 e se chamava Brain, era da classe dos Vírus de Boot, ou seja, danificava o setor de inicialização do disco rígido. Sua forma de propagação era através de um disquete contaminado. Apesar do Brain ser considerado o primeiro vírus conhecido, o título de primeiro código malicioso pertence ao Elk Cloner, escrito por Richard Skrenta.

4.6 Dados estatísticos
Até 1990 - 80 vírus conhecidos. Até 1995 - 5.000 vírus conhecidos. Até 1999 - 20.500 vírus conhecidos. Até 2000 - 49.000 vírus conhecidos. Até 2001 - 58.000 vírus conhecidos. Até 2005 - 72.010 vírus conhecidos aproximadamente. Até 2007 - quantidade ainda indeterminada.

4.7 Crackers e hackers
Há quem diga que cracker e hacker são a mesma coisa, mas não é essa a verdade, hacker é a pessoa que quebra senhas, códigos e sistemas de segurança por puro prazer em achar tais falhas, são pessoas que se preocupam em conhecer o funcionamento mais íntimo de um sistema computacional, enquanto o cracker é o criminoso virtual, que estorque pessoas usando seus conhecimentos, usando as mais variadas estratégias. Há cerca de 20 anos, eram aficcionados em informática, conheciam muitas linguagens de programação e quase sempre jovens, que criavam seus vírus , para muitas vezes, saber o quanto eles poderiam se propagar. Hoje em dia, é quase a mesma coisa,porém, já se criou um verdadeiro mercado negro de vírus de computador, onde certos sites, principalmente russos, disponibilizam downloads de vírus e kits para qualquer um que puder pagar virar um cracker, o que é chamado de terceirização da "atividade" .Em geral um hacker odeia ser confundido com um cracker.

34

4.8 Tipos de vírus 4.8.1 Worm ou vermes
Com o interesse de fazer um vírus se espalhar da forma mais abrangente possível, seus criadores por vezes, deixaram de lado o desejo de danificar o sistema dos usuários infectados e passaram a programar seus vírus de forma que apenas se repliquem, sem o objetivo de causar graves danos ao sistema. Desta forma, seus autores visam tornar suas criações mais conhecidas na Internet. Este tipo de vírus passou a ser chamada de verme ou worm.Eles estão mais aperfeiçoados, já há uma versão que ao atacar a máquina hospedeira, não só se replica, mas também se propaga pela internet pelos e-mail que estão registrados no Microsoft Outlook, infectando as máquinas que abrirem aquele e-mail, reiniciando o ciclo Os vermes não precisam infectar arquivos legítimos do sistema. Eles instalam um sistema completo para o seu funcionamento.

4.8.2 Trojans ou cavalos de Tróia
Certos vírus trazem em seu bojo um código a parte, que permite a um estranho acessar o micro infectado ou coletar dados e enviá-los pela Internet para um desconhecido, sem notificar o usuário. Estes códigos são denominados de Trojans ou cavalos de Tróia. Inicialmente, os cavalos de Tróia permitiam que o micro infectado pudesse receber comandos externos, sem o conhecimento do usuário. Desta forma o invasor poderia ler, copiar, apagar e alterar dados do sistema. Atualmente os cavalos de Tróia agora procuram roubar dados confidenciais do usuário, como senhas bancárias. Os vírus eram no passado, os maiores responsáveis pela instalação dos cavalos de Tróia, como parte de sua ação, pois eles não têm a capacidade de se replicar. Atualmente, os cavalos de Tróia não mais chegam exclusivamente transportados por vírus, agora são instalados quando o usuário baixa um arquivo da Internet e o executa. Prática eficaz devido a enorme quantidade de e-mails fraudulentos que chegam nas caixas postais dos usuários. Tais e-mails contém um endereço na Web para a vítima baixar o cavalo de Tróia, ao invés do arquivo que a mensagem diz ser. Esta prática se denomina phishing,expressão derivada do verbo to fish, "pescar" em inglês. Os cavalos de Tróia visam sites bancários, "pescando" a senha digitada pelos usuários dos micros infectados. Há também cavalos de Tróia que ao serem baixados da internet "guardados" em falsos programas ou em anexos de e-mail, encriptografam os dados e os comprimem no formato ZIP. Um arquivo .txt dá as "regras do jogo": os dados foram "seqüestrados" e só serão "libertados" mediante pagamento em dinheiro para uma determinada conta bancária, quando será fornecido o código restaurador. Também os cavalos de tróia podem ser usados para levar o usuário para sites falsos, onde sem seu conhecimento, serão baixados trojans para fins criminosos, como aconteceu com os links do google, pois uma falha de segurança poderia levar um usuário para uma página falsa, por este motivo o serviço esteve fora do ar por algumas horas,para corrigir esse bug, pois caso contrário, muitas pessoas seriam afetadas, já que para muitas pessoaspoderiam não distinguir um site original de um falsificado.
35

4.8.3 Hijackers
Hijackers são programas ou scripts que "sequestram" navegadores de Internet, principalmente o Internet Explorer. Quando isso ocorre, o hijacker altera a página inicial do browser e impede o usuário de mudá-la, exibe propagandas em pop-ups ou janelas novas, instala barras de ferramentas no navegador e podem impedir acesso a determinados sites (como sites de software antivírus, por exemplo).

4.8.4 Keylogger
O KeyLogger é uma das espécies de vírus existentes, o significado dos termos em inglês que mais se encaixa no contexto seria: Capturador de teclas. Ao serem executados, normalmente os keyloggers ficam escondidos no sistema operacional, sendo assim a vítima não tem como saber que está sendo monitorada. Atualmente os keyloggers são desenvolvidos para meios ilícitos, como por exemplo roubo de senhas bancárias. São utilizados também por usuários com um pouco mais de conhecimento para poder obter senhas pessoais, como email, orkut, MSN, entre outros. Existem tipos de keyloggers que capturam a tela da vítima, sendo assim, quem implantou o keylogger tem controle sobre o que a pessoa está fazendo no computador.

4.8.5 Estado Zumbi
O estado zumbi em um computador ocorre quando é infectado e é controlado por terceiros. Podem usá-lo para disseminar, vírus , keyloggers, e procededimentos invasivos em geral. Usualmente esta situação ocorre pelo fato da máquina estar com seu firewall e ou sistema operacional desatualizados. Um PC navegando na internet sem essas atualizações corre o risco de se tornar.Segundo estudos na área, um computador que está na internet nessas condições tem quase 50% de se tornar uma máquina zumbi, que dependendo de quem está controlando, quase sempre com fins criminosos, como acontece vez ou outra, quando crackers são presos por forar exércitos zumbis para roubar dinheiro das contas correntes e estorquir.´

4.8.6 Novos meios
Muito se fala de prevenção contra vírus de computador em computadores pessoais, o famoso PC, mas pouca gente sabe que com a evolução, aparelhos que tem acesso à internet, como muitos tipos de telefones celulares, handhealds, VOIP,etc podem estar atacando e prejudicando a performance dos aparelhos em questão. Por enquanto são casos isolados, mas o temor entre especialistas em segurança digital é que com a propagação de uma imensa quantidade de aparelhos com acesso à internet,hackers e crackers irão se interessar cada vez mais por atacar esses novos meios de acesso a web.

4.8.7 SPLOG
Existem também o falso blog, ou splog, que nada é mais do que um blog em que na realidade de propaganda, quase sempre, isso é geralmente para alavancar as vendas de algum produto, raramente faz algum mal, mas pode conter links que podem ser
36

perigosos.[1]

4.9 Antivírus
Os antivírus são programas desenvolvidos por firmas de segurança, com o objetivo de detectar e eliminar vírus encontrados no computador. Os antivírus possuem uma base de dados contendo as assinaturas dos vírus de que podem eliminar. Desta forma, somente após a atualização de seu banco de dados, os vírus recém-descobertos podem ser detectados. Alguns antivírus dispõem da tecnologia heurística, que é uma forma de detectar a ação de um vírus ainda desconhecido através de sua ação no sistema do usuário. A Panda Software criou um serviço de heurística que foi muito popular, porque detectou 98.92% dos vírus desconhecidos (não na sua base de dados) em um teste. Agora, as pessoas com esta heurística podem ficar 98.92% mais descansadas! Hoje em dia os Antivírus podem ter "Proteção em Tempo Real" que detecta os códigos maliciosos desde que você inicie o computador até que o desligue. Esta tecnologia torna mais fácil de o utilizador ficar protegido.

4.10 Firewall
Os firewall's são programas desenvolvidos por empresas de software, com o objetivo de evitar os "Blended Threats" (codigos maliciosos que se espalham pela Internet sem que o utilizador do computador que infecta/está a infectar saiba) e os ataques de programas espiões. Falando da sua função relacionada com os vírus, este programa vigia as "portas" (as portas são aquelas que deixam passar a informação da internet/computador , conforme o protocolo. O protocolo refere-se a um tipo de comunicação feita entre computadorInternet), de maneira a impedir que os vírus ataquem num protocolo. Assim, se instalar um firewall, está protegido contra ataques de muitos vírus, sem que eles cheguem ao seu computador! O firewall também protege de ataques de hacker's (pessoas que pretendem invadir o seu sistema ), porque ao vigiar o tráfico das portas dos protocolos, conseguem detectar intrusões no seu sistema através de um computador remoto.

4.11 Anti-pestes
Um anti-peste é um software mais indicado para eliminar as pestes (também denominados spywares, em inglês). Tal como os antivírus, necessitam ter sua base de dados atualizada. Os anti-pestes costumam vigiar certas entradas no registro do Windows, podem detectar tentativas de infecção, mas eventualmente não conseguem identificar o que está tentando alterar o registro, podendo ser mesmo uma peste ou de fato um vírus.

4.12 Detectando, prevenindo e combatendo os vírus
Nada pode garantir a segurança total de um computador. Entretanto, você pode melhorar a segurança dele e diminuir a probabilidade de ser infectado. Remover um vírus de um sistema sem a ajuda das ferramentas necessárias, é uma tarefa complicada até mesmo para um profissional. Alguns vírus e outros programas
37

maliciosos (incluindo o spyware) estão programados para re-infectar o computador, mesmo depois de detectados e removidos. Atualizar o computador periodicamente é uma ação preventiva contra os vírus. Além dessa opção, existem algumas empresas que fornecem ferramentas não gratuitas, que ajudam na detecção, prevenção e remoção permanente dos vírus. Para os usuários do sistema operacional (OS) Windows, abaixo segue a lista de alguns sites que ajudam no combate contra os vírus. (todos em inglês)

4.13 Engenharia social
Embora se tenha dado um grande avanço no sentido de se tornar sistemas computacionais cada vez mais seguros, isso pode de nada valer frente as engenharia social, que são técnicas de convencer o usuário a entregar dados como senhas bancárias, número do cartão de crédito, dados financeiros em geral, seja numa conversa informal e despreocupada em uma sala de bate papo, em um messenger, onde geralmente costumam ocorrer tais atos, e até mesmo pessoalmente. Por isso, NUNCA se deve fornecer qualquer tipo de senha de qualquer espécie, pois a porta de entrada para a perda de informações, espionagem, furto de dinheiro em uma conta bancária e detalhes pessoais podem cair na mãos de pessoas desconhecidas que não se sabe que tipo de destino podem dar a essas informações. Atualmente, são obtidos dados dessa espécie e dados mais específicos também (tipo senhas de redes de computadores de empresas, localização de back door, etc.). A engenharia Social, não possui o menor vínculo com o hacking, são técnicas totalmente diferentes uma da outra. "O Engenheiro Social prevê a suspeita e a resistência, e ele está sempre preparado para transformar a desconfiança em confiança. Um bom Engenheiro planeja o seu ataque como um jogo de xadrez."

4.14 Reais em forma de bits
Com tantos crackers obtendo senhas, é inevitável a criação de vínculos entre eles, que passam a usar dados roubados como moeda de troca. Uma coisa do tipo "Tenho a senha de 10 contas bancárias do banco X, quem dá mais por elas?". Um verdadeiro mercado negro, se forma em salas de bate-papo clandestinas, onde essas negociatas são realizadas entre um verdadeiro oceano de códigos, siglas e abreviaturas, um prato cheio para os cyberladrões.

1. Comente as dez vulnerabilidades mais comuns na Internet nos dias de hoje.

2. Explique quais as maiores ameaças a segurança das empresas brasileiras?
38

3. Quais os danos que um vírus pode causar?

http://www.symantec.com/region/br/avcenter/virus_info.html

NORTON, P. Introdução à informática. São Paulo: Makron, 1996.

39

Para entender o jeito como o computador processa os números dentro do processador eu proponho que você investigue a maneira como conta as coisas à sua volta.

5.1 Investigando a contagem
Neste conjunto de bolinhas: • • •, o número 3 serve muito bem para representá-las, concorda? Logo, se passarmos a este conjunto: • • • • • • • • • • • • então, o número 12 as representa corretamente. Um único algarismo não deu conta: precisamos do número 2 (dois) marcando a unidade e o numero 1 (um) marcando a dezena, totalizando 12 (doze) bolinhas. A pergunta para a qual eu chamo a sua atenção é: Como representaríamos essas mesmas bolinhas • • • • • • • • • • • • se conhecêssemos apenas os cinco primeiros algarismos: 0,1,2,3 e 4 ? Acompanhe com bastante calma e atenção: Veja, até a quarta bolinha tudo bem... •=1 ••=2 •••=3e • • • • = 4.

40

E depois da quarta bolinha? Temos agora somente os cinco primeiros algarismos, logo, chegamos ao fim do nosso conjunto. Isto é: 0, 1, 2, 3 e 4. Para dar continuidade, temos que partir para a dezena deste conjunto. Neste exemplo: • • • • • = 10 (isto não é o número dez, uma vez que nosso universo vai de zero a quatro. O número chama-se um-zero na base 5) • • • • • • = 11 (isto não é o onze, chama-se um-um na base 5) • • • • • • • = 12 (isto não é o doze, chama-se um-dois na base 5) • • • • • • • • = 13 (isto é o um-três na base 5) • • • • • • • • • = 14 (um-quatro na base 5) E agora? Chegamos novamente ao fim da unidade! Então vamos aumentar a dezena: • • • • • • • • • • = 20 (dois-zero na base 5) • • • • • • • • • • • = 21 (dois-um na base 5) • • • • • • • • • • • • = 22 (dois-dois na base 5) • • • • • • • • • • • • • = 23 (dois-três na base 5) Opa! Chegamos na quantidade de bolinhas proposta na pergunta. Permita-me explicar: quando lemos um número comum, por exemplo 12 (doze), o fazemos sem pensar na base em que ele está. Se usarmos 10 algarismos diferentes para representá-lo, então é correto dizer que o número está na base 10. Essa é a representação dele: (12)10. Na situação nova, proposta acima, quantos símbolos diferentes eu disse que tínhamos? 5 símbolos. Certo? Então: Este conjunto de bolinhas: ••••••••••••• é idêntico ao número (23)5 (dois-três na base 5) e também é idêntico ao número que você já conhecia, o (13) 10 (treze na base 10). Entendeu? A representação numérica é uma questão de bases. Devido ao fato de termos 10 dedos na mão, fomos acostumados a contar tudo usando algarismos de 0 até 9. Agora é necessário quebrar este vício para conseguir entender as bases que o computador utiliza! Vamos exercitar melhor este assunto, mas de outra forma. Observe o Quadro 1. A primeira linha mostra quantidades crescentes de bolinhas. Na segunda linha temos a base 10. É a base que você conhece. Base 10 significa ir do 0 ao 9. Já a base 9 só vai do 0 até o 8! A base 8, uma linha abaixo no quadro, vai somente até o algarismo 7. A base 7 vai do 0 até o 6, a base 6 vai do 0 até o 5 e assim por diante, até a
41

base 2, que vai do 0 até o 1.

O processo ocorre até lá da tabela, mais precisamente na penúltima linha, na base 2, onde podemos empregar somente zeros e uns. Ela é bem importante. Então, tenha certeza de que entendeu a contagem, ok? A base 1 não é muito útil. Coloquei-a na lista apenas para você perceber que ela utiliza o algarismo 1 na mesma quantidade dos objetos contados. Na base 1 para representarmos (10)10 (dez na base 10) bolinhas, gastaremos dez números um: (1111111111)1 (um-um-um-um-um-um-um-um-um-um na base 1).

Quadro 1- Diferentes representações numéricas

• • • • • chama-se (5)10, ou seja: cinco na base 10; e • • • • • também chama-se (10)5, ou seja: um-zero na base 5; e • • • • • também chama-se (11)4, ou seja: um-um na base 4; entre outras...

42

Se o computador utilizasse a mesma base que nós humanos utilizamos, então provavelmente eu não estaria explicando as diferentes representações numéricas. Mas então, quais bases o computador usa?

5.2 A base binária
No momento em que o computador realiza um cálculo, ele utiliza componentes eletrônicos que suportam apenas dois estados diferentes: permitindo ou bloqueando a passagem de corrente elétrica. Você já consegue deduzir, então, qual é a base útil para o que estamos falando: a base 2, formada pela representação dos algarismos 0 (sem passagem de corrente elétrica) e 1 (com passagem de corrente elétrica). A base 2 tem um apelido: base binária. Veja como realizar as quatro operações básicas com os números binários. É assim que o computador funciona! 5.2.1 Soma binária Para realizar a soma entre dois números representados em base binária, considere as seguintes afirmações: - (1)10 + (1)10 = (2)10 (1 na base 10 somado a 1 na base 10 é igual a 2). - (1)2 + (1)2 = (10)2 (1 na base 2 somado a 1 na base 2 é igual a 10 -> um-zero). Isto ocorre porque na base binária os algarismos a partir do 2 não existem. Então é necessário iniciar uma nova coluna de representação numérica, neste caso, (10)2 (um-zero na base 2). Podemos dizer que ocorreu um estouro de valor. O Quadro 2 ilustra a tabuada de soma binária:

O Quadro 3 ilustra o processo de uma soma:

43

Faça a soma da conta proposta no Quadro 4:

O resultado correto é 1010012 . 5.2.2 Subtração binária Para realizar a subtração entre dois números representados em base binária, você deve ficar atento quando encontrar a situação 02 - 12, pois não há uma resposta direta. Neste caso, o número à esquerda deve “emprestar 1” ao número à direita, de forma muito parecida com a base decimal. Vou ilustrar passo a passo como proceder. Iniciamos no Quadro 5:

Na primeira etapa, subtraímos 12 e 12. O resultado é 02.
A seguir, temos a situação para a qual você deve ficar atento, isto é, 0 2 - 12. Para
44

resolver devemos pegar emprestado 1 da casa à esquerda. Porém, esta casa indica que temos novamente o 02. Devemos seguir emprestando até encontrarmos um 12. Veja como fica a conta desta etapa no Quadro 6:

O 12 emprestado da quarta coluna torna-se 102 na terceira coluna. Desses 102 nós pegamos apenas 1 para emprestar à segunda coluna, isto é, 10 2 – 12 = 12. Veja como fica a etapa no Quadro 7:

Agora é só resolver as subtrações simples que nos levam até a resposta, apresentada no Quadro 8:

45

O Quadro 9 é seu... Treine nele a subtração entre dois binários:

Conseguiu? Realize esta outra subtração proposta no Quadro 10:

O resultado correto é 1102. 5.2.3 Multiplicação binária Para realizar a multiplicação entre dois números representados em base binária você só precisa lembrar que não está lidando com dez algarismos diferentes, mas apenas dois. A “tabuada” é mostrada no Quadro 11:

Quadro 11 - Tabuada da multiplicação binária.

Logo, a realização da multiplicação é bem simples. Veja um exemplo no Quadro 12:

Quadro 12 - Estado final da multiplicação binária.

46

Perceba que o processo é similar ao da multiplicação decimal, só não existe “vai um” nem “pegar emprestado”. Ao terminar as séries de multiplicação, basta somá-las. Veja se você chega ao mesmo resultado utilizando o Quadro 13:

Quadro 13 - Sua vez de realizar a multiplicação binária.

Para fixar melhor realize agora esta outra multiplicação proposta no Quadro 14:

Quadro 14 - Mais uma multiplicação binária, para fixar melhor.

O resultado correto é 10000102. 5.2.4 Divisão binária A divisão binária também é idêntica à divisão decimal. O Quadro 15 deve ser suficiente para que você entenda o processo:

Quadro 15 - Exemplo de divisão binária.

Nesta divisão começamos dividindo 112 por 102, o que resulta em 12 e sobra 12. Baixamos o 02 da terceira coluna. Isto nos dá uma nova divisão: 102 por 102. O resultado é 12 e sobra 02. Baixamos o 02 da quarta coluna. Como não há dividendo (pois temos somente zeros) apenas adicionamos um 02 no resultado da divisão.
47

Verifique se você chega ao mesmo resultado exercitando-se no Quadro 16:

Quadro 16 - Sua vez de realizar a divisão binária.

Neste outro caso ocorre a presença de resto:

Quadro 17 - Exercitando a divisão binária.

O resultado correto é 112 e resto 102. Verifique a evolução do cálculo no Quadro 18:

Quadro 18 - Exercitando a divisão binária.

Agora que você sabe realizar operações na base binária, é necessário estudar a conversão dos números entre a base binária e a decimal. 5.2.5 Conversão do sistema binário para o sistema decimal Eu proponho o uso de uma tabela de conversão para ensiná-lo a converter números binários em decimais. Existem outras possibilidades como o uso de fórmulas polinomiais. Entretanto a tabela é a forma mais fácil. Supondo que necessitamos converter o número 100010012 em decimal, devemos construir uma tabela com a mesma quantidade de casas numerais. No exemplo temos 8 casas. Conte e confira. Com oito casas a tabela fica conforme o Quadro 19:

48

Quadro 19 - Tabela de conversão binária em decimal.

Que lógica existe por trás da seqüência de números na linha 1? Primeiro: Ela é montada da direita para a esquerda. Segundo, os números são múltiplos de 2, na ordem 20, 21, 22, 23 .. até 27. Lembra que todo número elevado a zero é igual a 1? Isso responde a primeira coluna (da direita para a esquerda). Para a segunda coluna, temos que todo número elevado a um é igual a ele próprio, neste caso, 2. Daí em diante é só continuar a elevação de potência ou considerar que o próximo número é igual ao anterior multiplicado por dois. Veremos então que: 4 é igual a 2 x 2; 8 é igual a 4 x 2; 16 é igual a 8 x 2; e, assim por diante. Se você entendeu a forma de montagem da tabela, agora falta preencher a conversão com o número binário que eu propus: 100010012. O Quadro 20 ilustra a montagem final da tabela de conversão:

Quadro 20 - Estado final da tabela de conversão binária em decimal.

Qual é, portanto, o resultado? Basta você somar os valores decimais das colunas contendo 12, isto é, 12810 + 810 + 110 = 13710! Então 100010012 = 13710. Conversão finalizada! Faça, no Quadro 21, a conversão do binário 1010102:

Quadro 21 - Sua vez de converter de binário para decimal.

O resultado correto é 1010102 = 4210.

Também pode ser feito através desta formula polinomial: 1* 1* 0* 0* 2 elevado 2 elevado 2 elevado 2 elevado a a a a 3 => 2 => 1 => 0 => 1* 1* 0* 0* 8= 4= 2= 1= 8 4 0 0
49

Realizada esta operação, soma-se os valores encontrados: 8 + 4 + 0 + 0 e temos o resultado: 12, logo, o número 1100 em binário corresponde ao número 12 em decimal.

5.2.6 Conversão do sistema decimal para o sistema binário Para converter um número que está representado na base decimal em seu correspondente da base binária efetua-se uma operação aproximadamente inversa à conversão de binário para decimal, utilizando o método das divisões sucessivas: divide-se sucessivamente o número decimal por 2 até resultar em um número menor que 2 e os restos destas divisões juntamente com o último resultado formarão o número binário. Este mesmo método pode ser usado para outros sistemas de numeração de base diferente de 2, como o sistema hexadecimal, cuja base é 16.

Exemplo 1: Conversão do número decimal 1029 para o sistema binário. 1- Divide-se o número por 2, que é a base do sistema binário. O resto desta divisão será o último dígito do número binário.

2- O resultado desta divisão é dividido novamente por 2, e o resto será o penúltimo dígito do número binário. O resultado é dividido sucessivas vezes por 2, até a última divisão em que o resultado for 0 ou 1. O resultado da última divisão será o primeiro dígito do número binário.

restos das divisões sucessivas:10000000101 102910 = 100000001012

50

Exemplo 2: Conversão do número 28374 decimal para binário.

Exercite-se transformando 15110 em binário. O resultado correto é: 15110 = 100101112. 5.2.7 A base hexadecimal O computador faz todas as operações de cálculo em números binários. Nós, seres humanos, temos um alfabeto, usamos números decimais, etc. Ao usarmos um computador, não é necessário escrever diretamente em binário. Podemos escrever em decimal, em texto, desenhar imagens, ver fotografias, ouvir música, jogar e... (um monte de outras coisas mais!!!). Isto é possível porque existe uma representação numérica na memória do computador que é derivada de uma base maior do que a própria base decimal. Opa! Maior que a base decimal? Como é possível? Até o momento eu mostrei bases menores que a decimal. Lá no início da aula, mais precisamente no Quadro 1, é possível ver a contagem inicial para as bases decimal até a base 1 (ou unária). E se resolvermos extrapolar, subindo para a base 11, 12, 13 etc... Seria possível? Sim! O computador usa a base 16 para representar as informações úteis ao ser humano. Você pode perguntar: E que algarismos foram inventados para representar essas bases maiores que 10? Bom, podemos utilizar qualquer coisa, mas por convenção, usamse as primeiras letras do alfabeto. O Quadro 25 apresenta uma tabela de relação entre as bases decimal, binária e hexadecimal (base 16).

51

Quadro 25: Tabela de conversão entre decimal, binário e hexadecimal.

5.2.8 Conversão do sistema hexadecimal para o sistema binário Para converter um número que está representado na base hexadecimal em seu correspondente na base binária, consulte a tabela do Quadro 25. Proponho transformar o número 9A16 em binário: 916 = 10012 A16 = 10102 Ou seja, 9A16 = 100110102. Converta você o número 8B16. Veja se chega ao resultado 100010112.
52

5.2.9 Conversão do sistema binário para o sistema hexadecimal Para converter um número que está representado na base binária em seu correspondente na base hexadecimal use o caminho inverso da conversão anterior. Supondo ser necessário converter 10110010102 em hexadecimal, divida os dígitos binários formando grupos de quatro elementos cada, conforme o Quadro 26.

Quadro 26 - Agrupamento de números binários para conversão em hexadecimal.

Na coluna esquerda eu adicionei dois zeros (à esquerda) para facilitar a visualização do grupo formado por quatro dígitos binários. Agora é só converter esses números em seus representantes hexadecimais. Veja a resposta no Quadro 27.

Quadro 27 - Conversão de binário em hexadecimal.

Logo, 10110010102 = 2CA16. Pratique no Quadro 28 a conversão do binário 10111010112 em hexadecimal.

Quadro 28 - Sua vez de converter binário em hexadecimal.

Seu objetivo é chegar no resultado 10111010112 = 2EB16. 5.2.10 Conversão do sistema hexadecimal para o sistema decimal Para converter um número que está representado na base hexadecimal em seu correspondente da base decimal, converta-o primeiro em binário, depois em decimal. Este é o caminho mais fácil. Lembra do exemplo de conversão de 9A16 para binário? Vamos continuá-lo para obter o resultado decimal. 916 = 10012 A16 = 10102 Ou seja, até agora, 9A16 = 100110102.

53

A etapa extra, consiste em converter 100110102 em decimal, logo: 9A16 = 100110102 = 15410 Converta o número 8B16. Veja se chega no resultado 13910 através do binário intermediário 100010112. 5.2.11 Conversão do sistema decimal para o sistema hexadecimal Para converter um número que está representado na base decimal em seu correspondente da base hexadecimal precisamos usar a técnica das divisões sucessivas, empregando é claro, o número 16 como divisor. O Quadro 29 ilustra as operações considerando a necessidade de transformar 196410 em hexadecimal.

Quadro 29 - Divisões sucessivas de conversão de decimal em hexadecimal

A primeira divisão, 1964 por 16 resultou em 122 com resto 12. A segunda divisão, 122 por 16, resultou em 7 e resto 10. A terceira divisão, 7 por 16, resultou em 0 e resto 7. Concentre-se nos restos. Monte-os de trás para frente. Temos 7, 10 e 12. Agora retorne para a tabela de conversão. 710 = 716. 1010 = A16. 1210 = C16. Então 196410 = 7AC16. Nada como praticar para fixar o aprendizado. Utilize o Quadro 30 para chegar no mesmo resultado:

Quadro 30 - Sua vez de converter decimal em hexadecimal.

Conseguiu? Meus parabéns! Com isso terminamos a Aula 1. Agora que você já sabe contar em qualquer base, já pode aprender mais do funcionamento e da evolução da ferramenta que vai te acompanhar para o resto da vida: o computador.

54

A representação numérica mais comum ao ser humano é a decimal. Entretanto outras bases numéricas podem existir e são igualmente úteis. O computador realiza cálculos sempre em base binária. Já as informações úteis para nós, dentro de um computador, como uma imagem ou arquivo de música, são representados na base hexadecimal. Nesta aula você aprendeu a converter números nas diversas bases empregadas pelos computadores, bem como executou operações de soma, subtração, multiplicação e divisão na base binária.

1. Qual o resultado da soma binária entre 10102 e 11012? a) 10101 b) 10111 c) 10110 d) 11000 e) 11001 2. Qual o resultado da subtração entre 00102 e 01012? a) 1 b) 10 c) 11 d) 0101 e) 100 3. Qual o resultado da multiplicação binária entre 1010102 e 1112? a) 100101111 b) 111100110 c) 101100110 d) 100101110 e) 100100110 4. Qual o resultado da divisão binária de 1001012 por 1002? a) 1001 b) 1011 c) 1101 d) 1111 e) 10011
55

5. Converta 101111012 em decimal. a) 188 b) 199 c) 190 d) 189 e) 187 6. Converta 999910 em binário. a) 10011100001111 b) 10011111001111 c) 10000000001111 d) 11111100001111 e) 11111111001111 7. Converta o hexadecimal A2A916 em binário. a) 1010111110101000 b) 1010001010101001 c) 1010001010101111 d) 1011111010101000 e) 1111101010101001 8. Converta o binário 11100110 em hexadecimal. a) B5 b) A6 c) E6 d) D5 e) 99 9. Converta o hexadecimal BABA16 em decimal. a) 47802 e) 47812 b) 47801 c) 47803 d) 47812 10. Converta o decimal 998910 em hexadecimal. a) 270A b) 27FA c) 2801 d) 2805 e) 2705

Para complementar seu aprendizado sobre representação numérica visite o web site “A
56

origem dos números”, disponível em: [http://pessoal.sercomtel.com.br/matematica/fundam/numeros/numeros.htm].

Algumas analogias e exercícios utilizam adaptações do material presente em: MARÇULA, M. e BENINI FILHO, P. A. Informática conceitos e aplicações. 1. ed. São Paulo: Érica. 2005.

Agora que você já entende o funcionamento da matemática computacional, vamos passar para o estudo da história e evolução da computação. Você verá que muitas das descobertas e invenções estão relacionadas ao uso da numeração binária.

57

Uma álgebra Booleana pode ser definida com um conjunto de operadores e um conjunto de axiomas, que são assumidos verdadeiros sem necessidade de prova. Em 1854, George Boole introduziu o formalismo que até hoje se usa para o tratamento sistemático da lógica, que é a chamada Álgebra Booleana. Em 1938, C. E. Shannon aplicou esta álgebra para mostrar que as propriedades de circuitos elétricos de chaveamento podem ser representadas por uma álgebra Booleana com dois valores. Diferentemente da álgebra ordinária dos reais, onde as variáveis podem assumir valores no intervalo (- ;+ ), as variáveis Booleanas só podem assumir um número finito de valores. Em particular, na álgebra Booleana de dois valores, cada variável pode assumir um dentre dois valores possíveis, os quais podem ser denotados por [F,V] (falso ou verdadeiro), [H,L] (high and low) ou ainda [0,1]. Nesta disciplina, adotaremos a notação [0,1], a qual também é utilizada em eletrônica digital. Como o número de valores que cada variável pode assumir é finito (e pequeno), o número de estados que uma função Booleana pode assumir também será finito, o que significa que podemos descrever completamente as funções Booleanas utilizando tabelas. Devido a este fato, uma tabela que descreva uma função Booleana recebe o nome de tabela verdade, e nela são listadas todas as combinações de valores que as variáveis de entrada podem assumir e os correspondentes valores da função(saídas).

6.1 Operações Básicas da Álgebra Booleana (ou Álgebra de Chaveamento)
Na álgebra Booleana, existem três operações ou funções básicas. São elas, operação OU, operação E e complementação. Todas as funções Booleanas podem ser representadas em termos destas operações básicas.

58

6.1.1 Operação OU (Adição Lógica)
Uma definição para a operação OU, que também é denominada adição lógica, é: “A operação OU resulta 1 se pelo menos uma das variáveis de entrada vale 1”. Como uma variável Booleana ou vale 1 ou vale 0, e como o resultado de uma operação qualquer pode ser encarado como (ou atribuído a) uma variável Booleana, basta que definamos quando a operação vale 1. Automaticamente, a operação resultará 0 nos demais casos. Assim, pode-se dizer que a operação OU resulta 0 somente quando todas as variáveis de entrada valem 0. Um símbolo possível para representar a operação OU é “+”, tal como o símbolo da adição algébrica (dos reais). Outro símbolo também encontrado na bibliografia é “Ú”. Listando as possibilidades de combinações entre dois valores Booleanos e os respectivos resultados para a operação OU, tem-se:

0+0=0 0+1=1 1+0=1 1+1=1
Note que a operação OU só pode ser definida se houver, pelo menos, duas variáveis envolvidas. Ou seja, não é possível realizar a operação sobre somente uma variável. Devido a isso, o operador “+” (OU) é dito binário. Nas equações, não costuma-se escrever todas as possibilidades de valores. Apenas adotamos uma letra (ou uma letra com um índice) para designar uma variável Booleana. Com isso, já se sabe que aquela variável pode assumir ou o valor 0 ou o valor 1. Então, supondo que queiramos demonstrar o comportamento da equação A+B (lê-se A ou B), poderíamos fazê-lo utilizando uma tabela verdade, como segue:

Da mesma forma, podemos mostrar o comportamento da equação A+B+C (lê-se A ou B ou C) por meio de uma tabela verdade. Como na equação há somente o símbolo “+”, trata-se da operação OU sobre três variáveis. Logo, pode-se aplicar diretamente a definição da operação OU: o resultado será 1 se pelo menos uma das variáveis de entrada valer 1.

59

É importante notar que, devido ao fato de haver somente um operador na equação, pode-se também avaliar a equação decompondo-a em pares. Por exemplo, pode-se primeiramente achar o resultado de A+B, para depois operar os valores resultantes com os respectivos valores de C. Esta propriedade é conhecida como associativa. Também a ordem em que são avaliadas as variáveis A, B e C é irrelevante (propriedade comutativa). Estas propriedades são ilustradas pela tabela verdade a seguir. Nela, os parêntesis indicam subexpressões já avaliadas em coluna imediatamente à esquerda. Note que os valores das Introdução aos Sistemas Digitais (v.2001/1) José Luís Güntzel e Francisco Assis do Nascimento 2-3 colunas referentes às expressões A+B+C, (A+B)+C e (B+C)+A são os mesmos (na mesma ordem).

6.1.2 Operação E (Multiplicação Lógica)
A operação E, ou multiplicação lógica, pode ser definida da seguinte forma: “A operação E resulta 0 se pelo menos uma das variáveis de entrada vale 0”. Pela definição dada, pode-se deduzir que o resultado da operação E será 1 se, e somente se, todas as entradas valerem 1. O símbolo usualmente utilizado na operação E é “×”, porém outra notação possível é “Ù”. Podemos, também, listar as possibilidades de combinações entre dois valores
60

Booleanos e os respectivos resultados, para a operação E:

0 0 1 1

0=0 1=0 0=0 1=1

Assim como a operação OU, a operação E só pode ser definida entre, pelo menos duas variáveis. Ou seja, o operador “×” (E) também é binário. Para mostrar o comportamento da equação A × B (lê-se A e B), escreve-se uma tabela verdade, como segue:

De forma semelhante, pode-se determinar o resultado da equação A×B×C (lê-se A e B e C) utilizando diretamente a definição da operação E: o resultado será 0 se pelo menos uma das variáveis de entrada valer 0.

Também para a operação E valem as propriedades associativa e comutativa. Então, a equação A×BC pode ainda ser avaliada tomando-se as variáveis aos pares, em qualquer ordem. Veja a tabela verdade a seguir e compare os resultados.

61

6.1.3 Complementação (ou Negação, ou Inversão)
A operação complementação dispensa uma definição. É a operação cujo resultado é simplesmente o valor complementar ao que a variável apresenta. Também devido ao fato de uma variável Booleana poder assumir um entre somente dois valores, o valor complementar será 1 se a variável vale 0 e será 0 se a variável vale 1. Os símbolos utilizados para representar a operação complementação sobre uma variável Booleana A são A, ~A e A' (lê-se A negado). Nesta disciplina, adotaremos o primeiro símbolo. O resultado da operação complementação pode ser listado:

_ 0=1 _ 1=0
Diferentemente das operações OU e E, a complementação só é definida sobre uma variável, ou sobre o resultado de uma expressão. Ou seja, o operador complementação é dito unário.

_ E a tabela verdade para A é:

6.2 Avaliação de Expressões Booleanas
Dada a equação que descreve uma função Booleana qualquer, deseja-se saber detalhadamente como esta função se comporta para qualquer combinação das variáveis de entrada. O comportamento de uma função é descrito pela sua tabela verdade e este problema é conhecido como avaliação da função ou da expressão que descreve a função
62

considerada. Em suma, deseja-se achar a tabela verdade para a função Booleana. Uma tabela verdade consiste basicamente de um conjunto de colunas, nas quais são listadas todas as combinações possíveis entre as variáveis de entrada (à esquerda) e o resultado da função (à direita). Também, pode-se criar colunas intermediárias, onde são listados os resultados de subexpressões contidas na expressão principal. Isto normalmente facilita a avaliação, principalmente no caso de equações muito complexas e/ou contendo muitas variáveis. Quando numa mesma equação Booleana aparecem operações E e OU, é necessário seguir a ordem de precedência. Tal como na álgebra dos reais, a multiplicação (lógica) tem precedência sobre a adição (lógica). Além disso, expressões entre parêntesis têm precedência sobre operadores E e OU que estejam no mesmo nível. Quanto à complementação, esta deve ser avaliada tão logo seja possível. Caso a complementação seja aplicada sobre uma subexpressão inteira, é necessário que se avalie primeiramente a subexpressão para, só após, inverter o seu resultado. O número de combinações que as variáveis de entrada podem assumir pode ser calculado por 2n, onde n é o número de variáveis de entrada. O procedimento para a criação da tabela verdade a partir de uma equação Booleana é: 1. Criar colunas para as variáveis de entrada e listar todas as combinações possíveis, utilizando a fórmula no de combinações = 2n (onde n é o número de variáveis de entrada); 2. Criar uma coluna para cada variável de entrada que apareça complementada na equação e anotar os valores resultantes; 3. Avaliar a equação seguindo a ordem de precedência, a partir do nível de parêntesis mais internos: 1° multiplicação lógica 2° adição lógica

_ Tomemos como exemplo a expressão W = X + Y . Z. A variável W representa a função Booleana propriamente dita. Esta variável depende das variáveis que estão à direita do sinal =, ou seja, depende de X, Y e Z. Logo, são 3 as variáveis de entrada. O total de combinações entre 3 variáveis será 23=8. Então, a tabela verdade para W deverá ter 3 colunas à esquerda e 8 linhas. Seguindo o procedimento dado acima, cria-se uma coluna, na qual listam-se os valores para Z. Após, inicia-se a avaliação propriamente dita, a partir do nível mais interno de parêntesis. Como não há parêntesis na expressão, resolvem-se as subexpressões que envolvem a operação E. No caso em questão, há somente uma tal . . subexpressão, que é X ~Y Então, cria-se uma coluna para X ~Y , na qual anotam-se os . resultados para este produto. Finalmente, utilizam-se os resultados de X ~Y , listados na coluna anterior, para operar o OU com a variável X. Repare os passos descritos na tabela
63

verdade que segue. Nela, os parêntesis em torno do produto X ~Y indicam somente que este termo já foi avaliado e que no passo referente a esta coluna, tomaram-se apenas os valores previamente encontrados.

.

6.3 Portas Lógicas
Já vimos que uma função Booleana pode ser representada por uma equação ou detalhada pela sua tabela verdade. Mas uma função Booleana também pode ser representada de forma gráfica, onde cada operador está associado a um símbolo específico, permitindo o imediato reconhecimento visual. Tais símbolos são conhecidos por portas lógicas. Na realidade, mais do que símbolos de operadores lógicos, as portas lógicas representam recursos físicos, isto é, circuitos eletrônicos, capazes de realizar as operações lógicas. Na eletrônica que trabalha com somente dois estados, a qual é denominada eletrônica digital, o nível lógico 0 normalmente está associado à ausência de tensão (0 volt) enquanto o nível lógico 1, à presença de tensão (a qual geralmente é 5 volts). Nesta disciplina, nos limitaremos ao mundo da álgebra Booleana, admitindo que as portas lógicas representam também circuitos eletrônicos que, de alguma maneira, realizam as funções Booleanas simbolizadas. Então, ao conjunto de portas lógicas e respectivas conexões que simbolizam uma equação Booleana, denominaremos circuito lógico.

6.3.1 Porta OU
O símbolo da porta OU pode ser visto na figura 2.1. Tal como na porta E, as entradas são colocadas à esquerda e a saída, à direita. Deve haver no mínimo duas entradas, mas há somente uma saída. O funcionamento da porta E segue a definição da operação E, dada na seção 6.1.1.

64

Figura 2.1 - Símbolo da porta lógica OU com 2 entradas (a) e com 3 entradas (b).

6.3.2 Porta E
O símbolo da porta E é mostrado na figura 2.2. À esquerda estão dispostas as entradas (no mínimo duas, obviamente) e à direita, a saída (única). As linhas que conduzem as variáveis de entrada e saída podem ser interpretadas como fios que transportam os sinais elétricos associados às variáveis. O comportamento da porta E segue estritamente a definição (e tabela verdade) dada na seção 6.1.2.

Figura 2.2 - Símbolo da porta lógica E com 2 entradas (a) e com 3 entradas (b).

6.3.3 Inversor (ou Porta Inversora, ou Negador)
A porta que simboliza a operação complementação é conhecida como inversor (ou porta inversora, ou negador). Como a operação complementação só pode ser realizada sobre uma variável por vez (ou sobre o resultado de uma subexpressão), o inversor só possui uma entrada e, obviamente, uma saída. Caso se queira complementar uma expressão, é necessário obter-se primeiramente o seu resultado, para só então aplicar a complementação. O símbolo do inversor é mostrado na figura 2.3.

Figura 2.3 - Símbolo do inversor (também conhecido como negador ou porta inversora).

6.3.4 Exemplo de Circuito Lógico
Dada uma equação Booleana qualquer, é possível desenhar-se o circuito lógico que a implementa. O circuito lógico é composto das portas lógicas relacionadas às operações que são realizadas sobre as variáveis de entrada. Os resultados das operações são conduzidos por fios, os quais, no desenho, são representados por linhas simples. Os passos a serem seguidos para se realizar o desenho do circuito lógico a partir de uma equação são praticamente os mesmos usados na avaliação da expressão. Tomemos como exemplo a equação, avaliada na seção 6.2. Inicialmente, identificamos as variáveis
65

independentes, que no caso são X, Y e Z. Para cada uma destas, traçamos uma linha (da esquerda para a direita), representando os fios que conduzem os valores. Feito isto, devese seguir desenhando as portas necessárias para representar cada uma das subexpressões, na mesma ordem tomada para a avaliação, ou seja: 1° parêntesis (dos mais internos para os mais externos); 2° operações E;

3° operações OU. A figura 2.4 mostra o circuito lógico para a equação W X Y Z.

Figura 2.4 - Um circuito lógico.

1. Demonstre, utilizando os postulados da álgebra booleana, que as seguintes relações são verdadeiras: a) a + 1 = 1 b) a . 0 = 0 c) a + a = a d) a . a = a e) a + a . b = a f) a (a + b ) = a g) a + a’ b = a + b h) a ( a’+ b ) = a b

66

GAJSKI, Daniel D. Principles of Digital Design, New Jersey: Prentice Hall, 1997 MANO, M. Morris; Computer Engineering: Hardware Design. New Jersey: Prentice Hall, 1988. TAUB, H. Circuitos Digitais e Microprocessadores. McGraw-Hill, 1982. BROWN, Stephen; VRANESIC, Zvonko. Fundamentals of Digital Logic with VHDL Design, McGraw-Hill Higher Education (a McGraw-Hill Company), 2000. ERCEGOVAC, Milos; LANG, Tomás; MORENO, Jaime H. Introdução aos Sistemas Digitais. Porto Alegre: Bookman, 2000. KATZ, Randy H. Contemporary Logic Design. The Benjamin/Cummings Publishing Company, Inc. , 1994.

Algumas analogias e exercícios utilizam adaptações do material presente em: Ivanil Bonatti, Marcos Madureira, Introdução à Análise e Síntese de Circuitos Lógicos Editora da Unicamp. Milos Ercegovac, Tomas Lang, Jaime H. Moreno, Introdução aos Sistemas Digitais Tradução: José Carlos Barbosa dos Santos, Bookmann, Porto Alegre 2000.

67

68

Sign up to vote on this title
UsefulNot useful