Você está na página 1de 9

| Universidade H4CK3R |

Apndices

Apndice
Informtica bsica

And if anybody can aid me is my brother in the army1 Whiskey in the jar, cano tradicional irlandesa

1 E se qualquer um puder me ajudar, ser meu companheiro de luta

Apndice A

Apndice A

| Universidade H4CK3R |

Apndices

No captulo 3 (Introduo aos sistemas operacionais) lemos: Um Sistema Operacional um programa que controla o hardware da mquina para que o trabalho seja feito, servindo de mediador entre o usurio, o software aplicativo e o hardware da mquina e... Mas espere um pouco: hardware, software, aplicativo, interface? Que diabos isso tudo?

Um pouco de teoria
impressionante o nmero de pessoas que se dizem entendidas, ou mesmo hackers, mas que na realidade no sabem que o Microsoft Windows (R) no parte integrante do PC comprado no supermercado, e sim apenas um programa que pode ser desinstalado e substitudo por muitos outros. Precisamos, ento, definir em termos gerais quais so as partes que compem um sistema computacional qualquer, desde seu PC ou Palm at os supercomputadores de instituies de pesquisa como a Nasa ou a Unicamp. Qualquer coisa que processe alguma informao ou faa algum clculo sem interveno humana um sistema computacional, ou usando uma palavra popular, um computador. Os computadores so equipamentos (no necessariamente eletrnicos) que desempenham duas funes distintas e complementares: processamento de dados e clculo numrico2. O termo clculo numrico familiar a qualquer um que tenha freqentado os bancos escolares. Qualquer dispositivo que combine dois ou mais valores e faa clculos entre eles sem assistncia do operador um computador. Um baco um exemplo de dispositivo especializado em realizar clculos, mas no pode ser considerado um computador pois, na verdade, quem faz as operaes o prprio operador. A histria est cheia de mecanismos malucos que realizam automaticamente clculos de vrios tipos, como a calculadora de Pascal (1640), a mquina de multiplicar de Leibnitz (1692), o tear programvel de Jacquard (aprox. 1790) e a mquina analtica de Babbage (1834). Os sistemas computacionais de qualquer idade so, na verdade, entidades duais. Todos eles possuem um corpo fsico e um corpo etreo. O corpo fsico composto por todos os aparelhos, dispositivos e componentes que formam a mquidwar e. na montada. Esse corpo fsico, o que podemos tocar, chamado de har hard are Pense em seu computador desligado da tomada, inerte: isso o hardware. Por outro lado, a parte espiritual do computador, aquela que no vemos a ar e . O software, tambm no ser pela tela do monitor, chamada de softw softwar are chamado de programa, nada mais do que uma lista de tarefas que o computador tem que desempenhar para cumprir determinado objetivo. Mais frente neste apndice falaremos um pouco mais sobre software. Mas e processamento de dados, o que significa? Alis, o que um dado? Um dado uma pequena parte de informao a respeito de alguma pessoa,
2 O glossrio do IEEE possui uma definio mais abrangente (e confusa): uma mquina programvel, com vrias unidades de processamento, controlada por programas armazenados internamente, capazes de executar clculos complexos, com muitas operaes aritmticas e lgicas, sem interveno humana.

objeto ou idia. Por exemplo, em sua carteira de identidade h diversos dados sobre sua pessoa. Cada uma das informaes individuais (nome, filiao, data de nascimento, expedio, naturalidade, RG) um dado. Outros exemplos de dados so as informaes que o internauta insere no formulrio de inscrio de um site, ou as daquela lista de nomes e telefones do pessoal da faculdade. Processamento de dados , ento, a arte de filtrar e trabalhar com esses dados brutos, coletados no mundo exterior, e extrair deles informaes teis. O exemplo clssico o recenseamento. Uma legio de pesquisadores bate porta de praticamente toda a populao de um pas para coletar informaes sobre as pessoas e suas famlias. Mas os dados individuais no so importantes para o governo: o que importa so as informaes scio econmicas que se obtm do processamento desses dados. Para o governo, no importa se Joo da Silva mora no Morro do Macaco e ganha menos de um salrio mnimo, mas determinar a parcela da populao que vive na favela, seus problemas, distribuio de renda, etc.3 J com essas informaes, podemos esboar um diagrama que representaria, de maneira geral, um sistema computacional completo. Esses termos (entrada, processamento, sada) so a base de qualquer operao computacional. No h qualquer processo em informtica que no possua dados entrando, processamento e dados saindo; mesmo clculos numricos so uma espcie de processamento. Por exemplo, estou editando este texto em meu PC. Os caracteres que eu digito so os dados de entrada. O computador faz o processamento do texto e coloca os caracteres de maneira legvel na tela uma sada de dados. Em um estgio posterior, o computador mandar o meu texto para a impressora: outra sada de dados. Bem, mas e como feito o processamento? claProcessador ro que existem diversos tipos de computadores com Entrada Sada E/S as mais diferentes aplicaes, mas a maneira como as informaes so processadas, vista de forma simULA ples, a mesma para qualquer deles. O componenUCA te responsvel pelo processamento chama-se (bocessador. Em qualquer dispositivo computavio) pr processador cional h um processador, que pode ser de uso geArmazenamento ral ou um componente dedicado. Seu computador pessoal (aquele que voc usa para jogar Couter Strike) possui um processador de uso geral. J a sua calculadora de quatro operaes possui um processador dedicado: s sabe ler o teclado, fazer as operaes e mostrar no display. Os processadores so normalmente chamados de CPU (Central Processing Unit), e podem ser didaticamente explicados com uma estrutura semelhante a essa:
3 Esse exemplo real. Em 1890, o US Census Bureau adotou mquina de perfurar, tabular e classificar cartes de Hollerith para compilar o resultado do recenseamento daquele ano, reduzindo um processo que costumava levar dez anos para 2 anos e meio. A mquina inventada por Herman Hollerith, ento estatstico do prprio bureau, ajudou o governo dos Estados Unidos a economizar na poca estonteantes US$5 milhes o equivalente, hoje, a aproximadamente US$ 16 bilhes. Hollerith viria a fundar, em 1896, a Tabulating Machine Company, que em 1911 se fundiria com duas empresas para fundar a CTR e mudaria seu nome para IBM em 1924.

Apndice A

Apndice A

| Universidade H4CK3R |

Apndices

Os dados na entrada so recolhidos por uma controladora de Entrada e Sada ou E/S (ou ainda I/O Input/Output) e enviados para processamento na ULA (Unidade Lgica e Aritmtica). Aps processados, os dados so novamente devolvidos controladora de E/S e enviados sada. possvel que parte dos dados tenha de ser guardado para processamento posterior. O processador dispe de meios para utilizar um depsito externo para tal: a memria4. Falaremos sobre ela mais adiante. Por hora, imagine que a memria um grande depsito onde os dados sero armazenados. Observe que h um outro quadrinho no diagrama da pgina anterior: a UCA. Com o pomposo nome de Unidade de Controle e Armazenamento, o chefe dos mdulos que compem o processador. a UCA que controla a unidade de E/S, decide se o dado vai para a memria ou para a ULA, onde ser armazenado na memria, qual operao a ULA far e quais dados sero enviados sada. Todos esses mdulos (E/S, ULA, UCA) so, na verdade, abstraes do que realmente ocorre dentro do processador. O importante a ser observado que todos eles fazem parte de um nico componente dentro do computador. Faa um exerccio: pegue a seo de classificados do seu jornal favorito e procure a pgina de informtica. Voc, provavelmente, vai encontrar uma descrio parecida com esta: Pentium III 750, 256 MB RAM, 10 GB HD lado, mouse, etc. HD, monitor 15, tec teclado, Bem, Pentium III exatamente o processador dessa mquina. Dentro dele encontramos diversos mdulos, e todos desempenham funes de um ou mais dos mdulos tericos que estudamos: E/S, ULA e UCA. H no mercado diversos tipos e modelos de processadores (Pentium, Athlon, Duron) de diversos fabricantes, como Intel e AMD. O nmero 750 indica a velocidade de processamento do seu processador. Por enquanto, assuma que quanto mais, melhor.Internamente, todos os processadores podem ser reduzidos a esse modelo simplificado que estudamos at aqui.

Teclado

Monitor

Mouse

CPU

Impressora

Scanner

Som

Modem

Braos para trabalhar


Voltando a nosso diagrama bsico, vemos que, para haver processamento de informaes, preciso que haja troca de informaes com o mundo exterior. Um computador isolado, mesmo sendo um poderosssimo e carssimo espcime da ltima gerao ciberntica, um belo apoio para as pernas. imperativo que hajam meios de permitir a entrada de dados e sada dos mesmos, j processados, do outro lado. Como todo processo, deve haver alguns elementos que controlem o fluxo de entrada e sada, e deve haver dispositivos que faam o papel de portas para a troca de dados com o mundo exterior. Tais dispositivos so chamados de perifricos5.
4 O armazenamento de informaes, alm de ser uma decorrncia do processamento de dados, uma terceira funo dos sistemas computacionais. No basta processar dados, preciso guard-los de forma segura para que possam ser utilizados por qualquer pessoa a qualquer tempo. 5 O termo perifrico uma ironia dos primeiros hackers. Os primeiros computadores eram monstrengos que, s vezes, ocupavam vrios andares de um prdio. Os dispositivos de entrada e sada ficavam numa sala especial, em volta (na periferia...) do painel principal do computador.

Observe o diagrama. fcil deduzir que h perifricos de entrada (como o teclado e o mouse), perifricos de sada (como o monitor de vdeo, a placa de som e a impressora) e perifricos de entrada e sada (como o modem ou a placa de rede). Note que no h comunicao direta entre a CPU e o mundo externo todos os dados devem passar pelos perifricos. Ao contrrio do bloco de processamento, que Entrada Processador Sada pode desempenhar funes das mais diversas, os perifricos so equipamentos altamente espeMemria cializados. Sua impressoVoltil ra pode ser usada para imprimir envelopes, cartes, cartazes, banners, Memria de Massa transparncias e uma mirade de tipos diferentes de folhas de papel. Mas, mesmo assim, ela apenas imprime, mais nada.

154
Apndice A Apndice A

| Universidade H4CK3R |

Apndices

Vaga lembrana
Conforme vimos, modernamente o armazenamento de informaes passou a ser algo to ou mais importante do que seu processamento. De fato, nos primrdios da computao eletrnica os dados de entrada eram inseridos em forma de plugues, cruzamento de fios ou mesmo chaves do tipo liga/desliga. Para inserir novos dados na entrada, era necessrio destruir a programao anterior, e portanto todos os problemas a serem resolvidos pelo crebro eletrnico precisavam ser armazenados em folhas de papel para que pudessem ser novamente computados em caso de necessidade posterior. A memria de ento era formada por vrios andares de estantes repletas de grossos volumes manuscritos. Posteriormente, foram surgindo diversas maneiras de armazenar informaes e, com elas, novos problemas ligados a armazenamento e operao. De maneira geral, podemos dividir as memrias em dois grandes grupos: memria voltil (ou de clculo, ou de rascunho)6 e memria de massa. Ambas podem ser classificadas como memria no sentido amplo da palavra: dispositivos que guardam informaes. Apesar disso, seus usos so to especficos que, fisicamente, so peas completamente distintas entre si. As memrias de massa so os nossos depsitos de informao. Nelas armazenamos as informaes e os programas que usamos em nosso computador, e essas informaes continuam l mesmo que o computador seja desligado. J as memrias volteis so pequenos blocos de memria que o processador precisa para fazer operaes com os dados. Considere a memria voltil como um pequeno bloquinho de papel onde o computador faz as contas. O processador troca dados com a memria voltil e com a memria de massa. Alm do fato de que so dois dispositivos separados, podemos notar que a memria de massa muitas vezes maior que a memria voltil. Na tabela abaixo, vemos as principais caractersticas de ambos os tipos de memria: Memr ia Voltil Memria Pequena capacidade de armazenamento Extremamente rpida Alto custo Voltil (quando desligada perde os dados) Memria de Massa Enorme capacidade de armazenamento Lenta Baixo custo Permanente (mantm os dados mesmo desligada) Essa diviso entre memria de massa e memria voltil advm de uma caracterstica instrnseca aos processadores eletrnicos. Como so componentes muito rpidos, as lentas unidades de memria de massa no tm rapidez suficiente para entregar todos os dados que ele solicita. Ento, os dados que o processador vai utilizar so primeiramente passados memria voltil (muito mais rpida) e o processador interage com eles a. Quando o processamento termina, o processador decide o que ser entregue na sada e o que ser gravado novamente na memria de massa. Lembra de nosso computador do jornal? Aqueles 256 MB de RAM so a memria voltil. RAM significa Random Access Memory (memria de acesso aleatrio), que indica que qualquer dado dentro dela pode ser acessado independente de ordem. Outros tipos de memria so a LIFO (Last In First Out), que, como o nome indica, representa que o ltimo dado que entrou o primeiro que sai. Um exemplo disso no mundo real uma pilha de moedas: a ltima moeda colocada na pilha a primeira a sair. H ainda as memrias tipo FIFO (First In First Out), nas quais os dados formam uma fila: o primeiro dado que entrou na fila obrigatoriamente o primeiro que sai. Imagine uma fila de banco... Voltando memria RAM, nela que o computador carrega os programas e os dados para que possa process-los. Quando o processamento termina, necessrio gravar os dados novamente na memria de massa. Se o computador for desligado com os dados ainda na RAM, tudo ser perdido. Ainda em nosso anncio, lemos HD 10 GB. Esse HD uma das memrias de massa desse computador. um dispositivo que pode guardar milhares de vezes mais dados do que a RAM. Normalmente, memrias de massa so componentes eletromecnicos, que usam meios magnticos ou ticos para guardar as informaes. Os tipos mais comuns de memria de massa so os discos magnticos. A principal memria de massa em seu computador o Disco Rgido, composto por diversos discos magnticos de metal ou cermica (da o nome) cobertos com uma camada de material magnetossensvel. Cada um dos lados de cada disco possui uma cabea de leitura, que varre o disco de fora para dentro. Esse movimento, combinado com a rotao dos discos, permite que qualquer dado seja acessado independente de sua posio ou ordem de chegada. H diversos outros nomes para os discos rgidos: Hard Disk (abreviado para HD), Disco Duro (em Portugal) e Winchester7 so os mais usuais. Outros exemplos de memria de massa so os disquetes, CDs e DVDs. Os disquetes (bem como os famosos ZipDrives) so tambm discos magnticos, mas sua base no rgida como a dos HDs e sim flexvel da chamarem-se Floppy Disks ou Discos Flexves. J os CDs e DVDs so dispositivos ticos,
7 O nome Winchester tem uma origem curiosa. O primeiro HD possua um disco com 20 MB de cada lado, e por isso era chamado de unidade 20/20. Havia no mercado na poca uma espingarda da marca Winchester cujo modelo era, justamente, 20/20, e o pessoal do laboratrio apelidou, por pura galhofa, o HD de Winchester 20/20. O apelido transcendeu a equipe de desenvolvimento e chegou ao mercado, onde todos chamaram aquela unidade (e todas as outras subseqentes durante muitos anos) de winchesters.

6 Apesar de o termo memria de massa ser amplamente aceito, no h um termo consagrado para as memrias volteis, tidas como de clculo ou de rascunho. Essas terminologias so inveno dos autores, embora existam termos similares na literatura tcnica sobre o assunto. Em livros acadmicos, a memria voltil chamada de memria principal, e a de massa, memria secundria.

Apndice A

Apndice A

| Universidade H4CK3R |

Apndices

baseados na leitura de pequenas depresses em uma superfcie metlica por meio de um feixe de laser. Apesar de removveis e transportveis, disquetes CDs e DVDs so considerados memrias de massa, pois guardam uma quantidade muito grande de informao mesmo com os computadores desligados. No momento em que este livro estava sendo escrito, as capacidades mdias dos dispositivos de memria mais comuns do mercado eram de 256 MB para a RAM, 60 GB para o HD, 1,44 MB para disquetes, 650 MB para CDs e de 1,3 a 17 GB para DVDs. Epa! 256 MB, 60 GB... Mas afinal, que so todas essas letras e nmeros?

A computao e as pedrinhas
A quantidade de dados armazenada em um computador medida em bytes. Mas para chegar nos bytes, precisamos voltar no tempo, a uma poca em que as quantidades de objetos estavam comeando a fazer sentido aos homens. O instante histrico exato impossvel de determinar, mas enquanto a populao nos aglomerados humanos crescia, as quantidades de cabeas de rebanho, de campos plantados e de sacas de cereais aumentavam na mesma proporo. Comeou a ficar difcil controlar a produo, os negcios e precaverse de roubos. At que algum pobre e annimo pastor, cansado de levar croques na cabea devido a ovelhas perdidas, teve a idia de relacion-las a pedrinhas, guardadas em um saco. Pela manh, para cada ovelha que sasse do cercado, ele jogava uma pedrinha dentro do saco. No final do dia, para cada ovelha que entrasse, uma pedrinha era retirada do saquinho. Se sobrassem pedrinhas dentro do saquinho ele estaria encrencado ...8 Sculos mais tarde, o homem aprendeu a usar os dedos das mos para armazenar contagens. Com algum raciocnio, descobriu que era possvel contar com a mo direita e acumular grupos de cinco com a esquerda (o famoso vai um). Com esse artifcio, descobriu que, em vez de usar duas mo para contar de um a dez, era possvel us-las para contar de um a 30 (25 acumulados na mo esquerda mais os cinco da mo direita). Era o embrio do sistema de numerao decimal, que nada mais do que uma extenso de nossas mos. Bem, por causa de nossas mos, contamos de zero a nove (lembrando que o zero uma abstrao recente os romanos, por exemplo, no o conheciam). Mas e depois? Bem, com o passar dos sculos e a evoluo das artes, da cincia e do pensamento, o sistema decimal foi tomando corpo. Hoje, mesmo com as diferenas culturais e lingusticas, praticamente todos os povos do globo empregam os algarismos arbicos para representar os nmeros. Note a diferena entre nmero e algarismo: o primeiro uma quantidade; o segundo, uma representao grfica do primeiro.

Algarismo 0 1 2 3 4 5 6 7 8 9

Quantidade Nada, zero, nenhum Um Dois Trs Quatro Cinco Seis Sete Oito Nove

Os algarismos arbicos so 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. O algarismo 2, por exemplo, pode representar duas cabras, o algarismo 8, oito sacos de feijo. Vamos, ento, colocar os algarismos e seu valor em uma tabela:

Mas, e agora? Temos a quantidade dez, mas acabaram-se os algarismos para represent-la. Como faremos? A resposta simples. Lembra-se da acumulao nos dedos da mo? Usaremos um mtodo parecido: acumularemos a quantidade dez em um novo algarismo esquerda do algarismo original e reiniciamos a contagem. Ficaria assim: E, aqui, somamos um para acumular mais dez esquerda: Como podemos observar, sempre que acabamse as combinaes de algarismos disponveis, aplicamos o conceito do vai um e criamos mais uma casa esquerda do ltimo algarismo. Cada uma dessas casas decimais chamada de dgito.9 Algarismo 20 21 22 ... 98 99 100 101 ... 109 110 ... 999 1000 1001 1002

Algarismo 0 1 2 ... 8 9 10 11 12 ... 19

Quantidade Nada, zero, nenhum Um Dois ... Oito Nove Dez Onze Doze ... Dezenove

8 A prpria palavra clculo tem origem nessa poca, uma vez que kalculo em grego significa pedrinha.

9 Como no poderia deixar de ser, a palavra dgito tem origem na contagem pelos dedos digitus, em latim.

Quantidade Vinte Vinte e Um Vinte e Dois ... Noventa e Oito Noventa e Nove Cem Cento e Um ... Cento e Nove Cento e dez ... Novecentos e Noventa e Nove Mil Mil e Um Mil e Dois
Apndice A

Apndice A

| Universidade H4CK3R |

Apndices

Com essa breve explicao sobre numerao decimal, podemos voltar aos nossos computadores eletrnicos. Ns temos dez dedos onde contar e armazenar a contagem. O pobre computador no tem braos, pernas, mos ou dedos. ica. Assim sendo, necessita O computador , basicamente, uma mquina eltr eltrica acumular suas contagens de forma tambm eltrica. Para entender como um computador trabalha com as informaes e as armazena, faamos um exerccio. Largue o livro por alguns instantes, v at o interruptor da luz e o pressione. A luz vai acender. Agora pressione novamente: a luz vai apagar-se. Apague e acenda a luz algumas vezes. Perceba que no h estado intermedirio: a luz est acesa ou apagada. Dispositivos eltricos so assim: s conhecem esses dois estados, aceso e apagado, ligado e desligado, presena e ausncia, um e zero. Os computadores realmente usam esse sistema de uns e zeros para armazenar o. O texto que voc nmero dados e trabalhar com eles. Para o computador, tudo nmer digita no editor transformado em nmeros, aquela imagem que voc v na Internet um aglomerado de nmeros, aquela partida em grupo de Counter Strike s possvel porque as posies e aes de cada jogador so coordenadas numricas, e o prprio programa uma lista numrica de comandos. Mas, tendo s uns e zeros, como fazer para armazenar uma quantidade de, vamos supor, doze? Nada mais simples. E agora? Acabaram-se os algarismos! Nesse caso, vai um: Algarismo 0 1 Algarismo 10 11 100 101 110 111 1000 1001 1010 1011 1100 Quantidade Nada, zero, nenhum Um

Cada um dos dgitos em uma representao numrica binria chamada de BIT. uma expresso que se ouve sempre por a, mas que as pessoas normalmente no sabem a origem. Quebramos o seu galho e fomos atrs da explicao: bit y dig iT, cada um dos dgitos binrios. A palavra bit uma abreviao de Binar Binary digiT (justamente dgito binrio), e tambm um trocadilho. Bit uma palavra inglesa que quer dizer pedacinho. Nada mais apropriado, se considerarmos que cada bit a menor partcula de informao possvel. O termo foi usado pela primeira vez em 1946 por John Tukey10 um estatstico proeminente nos Estados Unidos e conselheiro estratgico de nada menos do que cinco presidentes daquele pas. Nas memrias voltil e de massa de seu computador (ou, em outras palavras, sua RAM e seu HD), os dados so armazenado em bits. Letras so transformadas em nmeros e imagens so, normalmente, mapas de bits. Um exemplo bem simples: imagine que voc queira armazenar a data de aniversrio de seu filho, ou de sua namorada. Por exemplo, a data 5 de julho de 1996. Separando cada uma das partes:
O ms possui 31 dias no mximo. Portanto precisamos de dois dgitos para armazen-lo. O dia 5 seria representado como 05, ou, em binrio, 0 e 101. O ano possui doze meses (portanto, dois dgitos), Julho, o ms 7, seria 07 ou 0 e 111. O ano possui quatro dgitos. Em binrios, 1 seria 1, 9 seria 1001 e 6 seria 110.

Nosso doze , ento, representado pela seqncia de algarismos 1100. Observe que houve um vai um na transio de trs para quatro e de sete para oito. Esse o sistema de numerao binrio, com apenas dois algarismos, 0 e 1. Observe tambm que os grupos de algarismos no representam as quantidades que estamos acostumados em decimal, mas quantidades em binrio. 10 no quer dizer dez: em binrio, 10 dois. 1001 no quer dizer mil e um: em binrio, nove.
Apndice A

Quantidade Dois Trs Quatro ? Vai Um Cinco Seis Sete Oito ? Vai Um Nove Dez Onze Doze

Nossa data-exemplo seria, portanto: 01010111110011001110. Qualquer um pode perceber que no h meios de identificar onde comea e onde termina cada dgito em nosso exemplo. Os trs ltimos dgitos representam o decimal 6, mas se tomarmos os quatro ltimos teremos 14. Isso contando apenas um dado, a data de aniversrio. Se juntarmos a isso nome, telefone e endereo, por exemplo, no saberemos distinguir um deles entre a multido de uns e zeros. Extrapolando, imagine um disco rgido com milhes ou mesmo bilhes de bits. Deve haver uma maneira de organizar os bits dentro da memria para que seja fcil separ-los dos demais. Os dados so organizados em grupos de bits. J houveram computadores em que cada dado era representado por grupos de 4, 7, 10 e at 12 bits, como os famosos PDP-9 e PDP-10 este utilizava agrupamento de bits entre 1 e 36! Por motivos tcnicos, a melhor soluo organizar os dados em grupos de oito bits, chamados de b ytes. A palavra b yte foi utilizada pela primeira vez pelo Dr. Werner Buchholz em 1956, durante o projeto do computador STRETCH da IBM. No h um significado escondido: byte apenas uma corruptela do termo bit. Inicialmente, um byte era qualquer agrupamento de 1 a 6 bits, mas devido aos problemas de armazenamento expostos, decidiu-se por um nmero fixo. Como 8 potncia de dois, foi a escolha natural11.
10 Segundo o prprio Tukey, bit era melhor do que os outros termos sugeridos, bigit e binit. 11 Mais informaes tcnicas e histricas sobre a origem do termo byte podem ser encontrados no Jargon File: http://www.tuxedo.org/~esr/jargon/jargon.html.

Apndice A

| Universidade H4CK3R |

Apndices

Com cada dado ocupando um byte, ficou fcil guard-los em caixinhas estanques facilmente legveis. Vejamos como ficaria a nossa data de 05.jul.1996. Endereo 0 1 2 3 4 5 6 7 B7 B6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B5 0 0 0 0 0 0 0 0 B4 0 0 0 0 0 0 0 0 B3 0 0 0 0 0 1 1 0 B2 0 1 0 1 0 0 0 1 B1 0 0 0 1 0 0 0 1 B0 0 1 0 1 1 1 1 0

Obviamente, um quilobyte (ou 1kB)12 corresponde a 1024 bytes, certo? QU? 1024 bytes???? Bem, podemos representar os mltiplos de dez como potncias. Assim, 1 seria 100, 10 seria 101, 100 seria 102, 1000 seria 103, 1.000.000 seria 106 e assim por diante. Representar valores decimais em termos de potncias de dez uma maneira de facilitar certos tipos de operaes. Um raciocnio parecido foi utilizado para o armazenamento de dados em memrias. mais fcil organizar os dados dentro da memria em termos de potncia de dois (motivo pelo qual foi escolhido o valor oito para o tamanho do byte). Por conta disso, os multiplicadores tambm esto organizados em mltiplos de dois. Ora, o valor 1000 no mltiplo de dois, mas 1024 o (210). Vejamos, ento, nossa tabela de prefixos multiplicadores aplicados a bits e bytes: Prefixo Quilo Mega Giga Tera Unid. k M G T Multiplica por 1.024 1.048.576 1.073.741.824 1,09951x10 12 Exemplo 3 kB = 3072 bytes 256 MB = 268.435.456 bytes 10 GB = 10.737.418.240 bytes 2 TB = 2,19902x1012 de bytes

Podemos notar que no importa o tamanho do dado. Sempre sero ocupados oito bits na memria, e os bits restantes so preenchidos com zeros. Assim, o nmero seis, que em binrio 110, guardado na memria como 00000110; o nove, que em binrio 1001, guardado como 00001001. claro que, desta forma, h um certo desperdcio de memria devido ao estofamento dos bits restantes com zeros, mas ainda hoje a melhor soluo para facilitar a indexao e procura dos dados. Outra caracterstica interessante a definio de um endereo ou posio de memria. muito fcil recuperar o ms, basta saber que est guardado nos endereos 2 e 3.

O que se chuta e o que se xinga13


At agora, falamos exclusivamente sobre hardware. Entretanto, um computador sem qualquer software ou programa no capaz de fazer absolutamente nada, no servindo sequer para peso de papis... H algumas pginas atrs, definimos software (ou programa) como uma lista de tarefas que o computador tem que desempenhar para cumprir determinado objetivo. Novamente recorrendo a uma piadinha bem conhecida, dizem que o computador o imbecil mais rpido do mundo. De fato, a mquina em si no sabe nada, mas uma vez que voc disse a ela o que fazer, ela o far com uma velocidade delirante. Inclusive errar. Basta dizer ao computador o que fazer por meio de um programa armazenado. Um exemplo do mundo real: fazer caf. Imagine que voc se levante de manh e v fazer caf. Quais os passos necessrios? 1 Ferver a gua. 2 Colocar p no filtro de papel. 3 Despejar gua no filtro de papel.

Reproduzem-se como coelhos!


No incio da era da computao, alguns poucos bytes eram necessrios para armazenar os dados de entrada e o processamento. Os problemas eram simples e os dados de entrada, limitados. Com a penetrao da computao nos assuntos militares, depois no Estado, depois nas corporaes, empresas menores e por fim no grande pblico, o fluxo de dados a ser armazenado e processado foi ficando cada vez maior. Centenas de bytes j no eram mais suficientes, falava-se j de milhares de bytes, depois milhes, trilhes e... Essa contagem no acaba nunca. Um exemplo do mundo real: mil metros correspondem a um quilmetro (ou 1 km), mil gramas correspondem a um quilograma (ou 1 kg), mil volts correspondem a um quilovolt (ou 1 kV). O prefixo kilo indica, ento, multiplicao por mil. H outros prefixos com outros multiplicadores: Prefixo Quilo Mega Giga Tera
Apndice A

Unid. k M G T

Multiplica por 1.000 1.000.000 1.000.000.000 1.000.000.000.000

Exemplo 3 km = 3.000 metros 4,7 MW = 4.700.000 Ohms 1,1 GHz = 1.100.000.000 de Hertz 2 TMng = 2.000.000.000.000 de Mongos

12 No confunda as unidades de bit e byte. Um bit representado por um b minsculo, um byte, por um B maisculo. 13 fcil diferenciar software e hardware: hardware o que voc chuta, software o que voc xinga... (piada circulante pela Internet, autor desconhecido).

Apndice A

| Universidade H4CK3R |

Apndices

Mas, espere a! Voc estava dormindo! Onde est o p e o filtro? Ferver gua onde? O caf vai cair onde? O computador no sabe de nada disso. necessrio explicar tudo a ele. Bem, do comeo: 1 2 3 4 5 6 7 8 9 10 Acordar. Abrir o olho. Levantar. Vestir-se. Andar at a cozinha. Abrir a porta do armrio. Pegar a chaleira. Encher a chaleira com gua. Colocar a chaleira no fogo. Acender o fogo. 11 Armrio: pegar filtro de papel, p de caf, recipiente do filtro e garrafa trmica. 12 Empilhar os componentes na ordem certa. 13 Colocar o p de caf no filtro. 14 Esperar a gua ferver. 15 Derramar gua no filtro. 16 Deixar escorrer toda a gua. 17 Fechar a garrafa trmica.

Sistema Operacional? Que diabos isso?


Existem vrias coisas que podemos fazer com os computadores, e essas tarefas so desempenhadas pelos programas. Por exemplo, estou escrevendo o texto deste livro com o Open Office Writer, que um programa especial para escrever e formatar textos. Eu poderia usar o Microsoft Excel ou o Gnumeric para fazer minha contabilidade em casa, por exemplo. Para fazer minhas pginas na Internet, uso os excelentes Quanta, BlueFish e Screem. Uso um programa chamado Mozilla para navegar na Internet, embora talvez voc use o Internet Explorer. Podemos dividir os programas existentes em diversas categorias15, cada uma voltada para um determinado aspecto do funcionamento de um computador. Todas as categoria citadas so importantes, e possvel que em seu computador exista pelo menos um programa que pertena a uma dessas categorias.
Usurio

bvio que muitas dessas tarefas ainda esto incompletas e precisam ser melhor detalhadas, como por exemplo: 8 Encher a chaleira com gua. 8.1 Destampar a chaleira. 8.2 Aproximar a boca da chaleira do bocal da torneira. 8.3 Abrir a torneira. 8.4 Esperar at que a chaleira esteja 3/4 cheia. 8.5 Fechar a torneira. 8.6 Afastar a chaleira do bocal da torneira. 8.7 Tampar a chaleira. Esse pequeno exemplo mostra, em termos de linguagem humana, o funcionamento aproximado de um programa de computador. Como dissemos, ele nada mais do que uma lista de tarefas a serem cumpridas em uma certa ordem. Observe que a complexidade que advm do nvel de detalhamento necessrio facilita a introduo de erros no programa. Imagine se, no passo 8, tivssemos suprimido a sub etapa 8.1 (destampar chaleira). Ao abrir a torneira, a gua seria espirrada para toda a cozinha, menos para dentro da chaleira. Em programas de computador reais, h erros desse tipo que podem provocar desastres como a perda daquele seu arquivo importante ou o travamento daquele seu sistema operacional14.
14 Erros introduzidos em programas so comumente chamados de bugs. O termo bug (inseto) foi usado pela primeira vez quando uma mariposa entrou num sistema computacional da Marinha dos Estados Unidos e provocou uma falha no sistema. O relatrio do ocorrido, elaborado por Grace Hopper, analista de sistemas da Marinha, inventora do compilador e criadora da linguagem COBOL, inclua a carcaa do inseto colada com fita adesiva. Mais informaes sobre o primeiro bug e sobre a admirvel mulher que foi a Almirante Grace Murphy Hopper podem ser obtidas em http:// www.gracehopper.org/ e http://www.sdsc.edu/ScienceWomen/hopper.html.

Aplicativos ou aplicaes aplicaes: so os programas que normalmente utilizamos e que produzem algo de til. Seu processador de textos favorito, aquele programinha de editar imagens e seu instant messenger so exemplos de aplicativos.

Interface com o Usurio Aplicativos Sistema Operacional HW

Servidores Servidores: quando se fala em software 16, um servidor um programa que disponibiliza alguma coisa para que outro programa acesse. Por exemplo, existe um programa chamado Apache que disponibiliza pginas na Internet. Voc usa seu Internet Explorer ou seu Opera (aplicativos) para conectar a um servidor Apache e acessar as pginas que ele guarda. Quando voc faz um compartilhamento de uma pasta do seu Windows em uma rede, seu Windows passa a ser um servidor para as outras mquinas, que usam o aplicativo Explorer para acessar os arquivos que voc est servindo. Seu Eudora ou seu KMail so aplicativos para ler e-mails, que se conectam a um servidor em seu provedor. Sistemas Operacionais Operacionais: so os programas que literalmente controlam o hardware. Qualquer computador necessariamente precisa de um sistema operacional. Os programas e os servidores nunca, jamais, em tempo algum
15 As categorias aqui mostradas so invenes dos autores e puramente didticas, embora diversos autores e professores realmente usem essa terminologia. Pode-se dividir software por categoria, tipo, utilidade ou sistema. A presente diviso destina-se apenas a facilitar a compreenso do texto. 16 No confundir com o que chamamos de mquinas servidoras, que so hardwares especiais para controlar e disponibilizar servios de rede. Usualmente, um hardware servidor possui muitos softwares servidores, mas tambm possui alguns aplicativos.

Apndice A

Apndice A

| Universidade H4CK3R |

Apndices

conversam diretamente com o hardware da mquina. Em vez disso, tais programas trocam informaes com o sistema operacional. Este sim que conhece os detalhes do hardware e pode traduzir em sinais eltricos aquilo que o aplicativo (e, por conseguinte, o usurio) quer. Como fcil imaginar, existe uma infinidade de tipos malucos de hardware. Um exemplo prtico so as placas de vdeo de seu PC. So milhares de tipos, algumas que nem so mais fabricadas, outras que de to novas poucos conhecem. Imagine se cada um dos programas tivesse que, sua maneira, encontrar um jeito de conversar com todos os tipos possveis de placas de vdeo? Isso resolvido delegando o problema a um programa especial, o sistema operacional. muito mais fcil os fabricantes de hardware adaptarem seus produtos a alguns poucos sistemas operacionais do que infinidade existente de aplicativos. Como o sistema operacional quem governa o hardware, ele quem vai servir de mensageiro entre os uns e zeros eltricos e as solicitaes do aplicativo. Observe: o sistema operacional o nico que conversa com o hardware. Os aplicativos solicitam ao sistema operacional o que eles querem que o hardware faa (por exemplo, gravar um arquivo ou mostrar uma imagem na tela). A resposta do sistema operacional passada ao aplicativo, que por sua vez conversa com a interface do usurio, que apresenta na tela os dados de uma forma que o usurio possa facilmente entender. Interfaces com o usurio so os programas cuja finalidade criar um ambiente de fantasia que facilite e simplifique a operao do computador. Podem ser grficas (que mostram desenhos na tela representando objetos) e podem ser em modo texto, por linha de comando. Por exemplo, o sistema operacional GNU/ Linux e a famlia BSD (Free/Open/Net) possuem diversas interfaces com o usurio, como por exemplo as grficas KDE, o Gnome e, em modo texto, o bash17. Sistemas Sun Solaris, por exemplo, alm do shell, utilizam a interface CDE. O MacOS, sistema operacional da Apple Computer, foi o primeiro programa comercial a fundir ambas as tarefas: atuar como sistema operacional e tambm como interface com o usurio. Embora tenha-se perdido a opo de escolher qual a cara do seu computador, foi um marco no sentido de facilidade de uso e amigabilidade para o usurio no-tcnico. O computador Macintosh e seu sistema operacional MacOS so um marco na computao pessoal e no easy computing, e todos os sistemas operacionais modernos devem muito Apple por isso. Mas e o Windows? Bem, o Microsoft Windows, que hoje um sistema operacional completo, nasceu como uma interface grfica para o sistema operacional MS-DOS, da prpria Microsoft. Ele trabalhava, em nosso diagrama, naquela camada que entrava em contato direto com o usurio. Os programas dentro do Windows eram acondicionados em janelas e podia-se utilizar o mouse para facilitar a operao do computador. Apenas a partir da verso 95, o Windows passou a ser um sistema operacional completo para PCs18, integrado
17 Gurus, no me xinguem! No fundo, qualquer shell uma interface para o usurio...

com uma interface grfica coerente e um monstruoso sucesso de vendas. O importante entender que o sistema operacional possui a funo de fazer a traduo entre o qu o aplicativo quer que o hardware faa e a lngua que o hardware entende. Isso o bsico. A partir daqui, qualquer pessoa pode comear a operar qualquer tipo de computador. Sempre vai ser necessrio algum tipo de treinamento quando se est aprendendo algum software extico ou a operao de um hardware estranho, mas depois deste texto introdutrio as dificuldades possvelmente encontradas no devero mais transformar-se em um bicho de sete cabeas. Nada de ter medo do Linux. Nada de reclamar que voc queria o Microsoft Word e no o 602Write. Nunca mais chore porque sua companhia no usa o Internet Explorer como navegador padro. E nada de achar estranho os termos tcnicos bsicos usados neste livro :P

Boa caada!

18 Embora, na poca, interlocutores de empresas com produtos concorrentes do Windows tenham dito que o DOS ainda est l, esgueirando-se nas sombras.

Apndice A

Apndice A