Você está na página 1de 65

INTRODUO INFORMTICA

UNIDADE I- HISTRIA DA COMPUTAO


Os modernos chips dos computadores devem sua existncia ao trabalho de inventores geniais, durante trs sculos. Charles Babbage, considerado o pai do computador atual, construiu em 1830 o primeiro computador do mundo, cem anos antes de se tornar realidade. O projeto de Babbage apresentava desvantagens; uma delas era o fato de que o seu computador deveria ser mecnico, e a outra era a precariedade da engenharia da poca. Apesar dos problemas, Charles Babbage construiu um aparelho que impressionou o governo ingls. Entretanto, a histria da computao comeou muito antes. Como sabemos, o computador uma mquina capaz de efetuar clculos com um grupo de nmeros e ainda adaptvel para efetuar novos clculos com outro grupo de nmeros. O primeiro "modelo" foi o baco, usado desde 2000 a.C. Ele um tipo de computador em que se pode ver claramente a soma nos fios. Blaise Pascal, matemtico, fsico e filsofo francs, inventaram a primeira calculadora mecnica em 1642. A calculadora trabalhava perfeitamente, ela transferia os nmeros da coluna de unidades para a coluna de dezenas por um dispositivo semelhante a um velocmetro do automvel. Pascal chamou sua inveno de Pascalina. Nos anos que se seguiram, vrios projetos foram feitos com intuito de aperfeioar essa primeira calculadora. Entretanto, nada de significativo aconteceu, at que Babbage e Ada Lovelace comearam a considerar melhor o problema. Em 1822, Babbage apresentou a Sociedade Real de Astronomia o primeiro modelo de uma mquina de "diferena", capaz de fazer clculos necessrios para elaborar uma tabela de logaritmos. O nome da mquina foi derivado de uma tcnica de matemtica abstrata, o mtodo das diferenas. Com o incentivo da sociedade, Charles Babbage continuou a trabalhar no aperfeioamento da mquina. Com Ada Lovelace, filha de Lord Byron, iniciou um projeto mais ambicioso para construir uma "mquina analtica". Foi projetada para calcular valores de funes matemticas bem mais complexas que as funes logartmicas. A mquina era enorme, demonstrava inmeros problemas e simplesmente no funcionava. Grande parte da arquitetura lgica e da estrutura dos computadores atuais provm dos projetos de Charles Babbage, que lembrado como um dos fundadores da computao moderna. Essas mquinas eram chamadas de calculadoras. No incio do sculo 20 j eram comuns as calculadoras mecnicas e eltricas. As calculadoras eltricas eram baseadas em um pequeno dispositivo eltrico, chamado de REL. Os rels tinham aproximadamente o tamanho de uma caixa de fsforos. Mquinas calculadoras construdas com rels eram muito grandes, pois para constru-las eram necessrios centenas de rels.

Figura 1 Rels

As calculadoras eltricas, construdas com rels, eram muito melhores que as mecnicas. Eram mais rpidas e mais difceis de apresentar defeitos. verdade, essa estria de "erro do computador" j existia na poca. As calculadoras mecnicas apresentavam muitos defeitos, da mesma forma como ocorre com qualquer mquina mecnica. As calculadoras a rel tambm apresentavam defeitos, mas eram muito mais raros. Resumindo, as calculadoras existentes at mais ou menos 1930 podiam ser de dois tipos: Mecnicas: Lentas, apresentavam muitos defeitos. Eltricas: Um pouco mais rpidas, e apresentavam defeitos, mas menos que as mecnicas J nos anos 30 existiam as vlvulas eletrnicas, muito usadas em rdios. Uns daqueles antigos rdios possuam mais ou menos uma dzia de vlvulas eletrnicas. As vlvulas funcionavam como rels mais sofisticados. Eram muito mais rpidas que os rels, mas tinham o inconveniente de durarem pouco tempo. Aps cerca de 1000 horas de uso, as vlvulas "queimavam", assim como ocorre com as lmpadas. Era ento necessrio trocar a vlvula queimada. Podemos ver na figura 2 uma vlvula eletrnica.

Em 1946 foi inventado o primeiro computador eletrnico de grande porte, o Eniac. Construdo na Universidade da Pensilvnia, apresentava aproximadamente 18.000 vlvulas e ocupava o espao de uma sala. O objetivo do Eniac era ajudar o exrcito americano durante a 2 guerra mundial. Apesar de no poder armazenar programas ou guardar mais que 20 dezenas de nmeros digitais, o Eniac podia realizar aproximadamente 5.000 somas por segundo, ou seja, podia calcular a trajetria ou ngulo de uma bomba em 20 segundos. O peso aproximado do Eniac era de 30 toneladas. Com o revolucionrio invento do Eniac, estava claro para muitas pessoas que trabalhavam no desenvolvimento do Eniac, que havia meio para melhorar a desempenho desse computador.

Figura 3 - Uma parte do famoso computador ENIAC Ainda nessa poca, os computadores eram chamados de "calculadoras". Um dos famosos computadores da poca era chamado de ENIAC (Electronic Numeric Integrator and Calculator). A partir de 1951, comeou a surgir empresas especializadas no comercio de computadores como a UNIVAC nos Estados Unidos e a Ferranti Mark I na Inglaterra. A UNIVAC lanou um computador com o mesmo nome da empresa (UNIVAC), que processava cada dgito com mais preciso. Ele possua uma freqncia de clock de 2.25 Mhz e podia calcular nmeros de dez dgitos com uma velocidade de 100.000 clculos por segundo. O UNIVAC podia gravar em sua fita magntica dados com a velocidade de 40.000 dgitos binrios por segundo (bits).

COMPUTADORES TRANSISTORIZADOS
Uma grande melhoria em todos os aparelhos eletrnicos ocorreu aps a inveno do TRANSISTOR. Esses pequenos componentes serviam para substituir as vlvulas, mas com muitas vantagens. Eram muitos menores, consumiam menos corrente eltricas e duravam muitos anos. Tornou-se possvel construo de computadores de menor tamanho, mais rpidos, mais confiveis e mais baratos. J no final dos anos 50, todos os computadores eram construdos com transistores. Tambm passaram a serem fabricados em srie. Cada computador no era mais um "filho nico", e sim, fazia parte de uma srie de mquinas iguais. Esses computadores ainda custavam milhes de dlares, mas passaram a ser usados em aplicaes no militares: Aplicaes comerciais em grandes empresas Controle de processos industriais A indstria de computadores comeou a crescer dando origem ao desenvolvimento dos grandes gigantes da informtica mundial, como a IBM.

Figura 4 Transistores Realmente os transistores causaram um grande impacto em todos os aparelhos eletrnicos, como rdios, TVs, vitrolas e tudo o mais que antes utilizava vlvulas. Mas foi nos computadores que esses pequenos componentes tiveram a maior repercusso. Isso no muito difcil de entender. Uma TV ou um rdio transistorizado no era to pequeno em comparao com os modelos a vlvula. Mas no caso dos computadores, essa miniaturizao era muito mais acentuada, j que os computadores a vlvula eram verdadeiros gigantes. Computadores que ocupavam um salo inteiro podiam ser construdos a transistor e ficavam do tamanho de uma estante. Computadores a vlvula que ocupavam um prdio inteiro, podiam ser construdos com transistor, e passavam a ocupar apenas um andar. Assim foram os computadores at mais ou menos 1965.

CIRCUITOS INTEGRADOS
Ao mesmo tempo em que os computadores transistorizados eram cada vez mais utilizados em todo o mundo, outro grande avano tecnolgico ocorria: A corrida espacial. Americanos e soviticos lanavam seus foguetes rumo ao espao. A miniaturizao de computadores era ainda mais importante, no caso de um computador a ser colocado a bordo de um foguete. Seria totalmente invivel levantar vo carregando um enorme computador valvulado. J para um computador transistorizado, isto era possvel, mas se fosse conseguida uma miniaturizao ainda maior, computadores mais poderosos ou ento mais leves (ou ambas as coisas) poderiam ser embarcados nos foguetes. A NASA (Agncia Espacial Norte-Americana) gastou bilhes de dlares com seu programa espacial, contratou empresas fabricantes de transistores para que realizassem uma miniaturizao ainda maior. Uma dessas empresas, at hoje uma lder mundial em microeletrnica, a TEXAS INSTRUMENTS. Foram ento criados os primeiros CIRCUITOS INTEGRADOS, tambm chamados de CHIPS. Basicamente, um circuito integrado um pequeno componente eletrnico que possui em seu interior, centenas, ou at milhares de transistores. A figura 5 mostra a comparao de tamanhos entre uma vlvula, um transistor e um CHIP dos mais rudimentares. Enquanto um transistor equivalente a uma vlvula e tem um tamanho muito menor, um CHIP dos mais simples tem aproximadamente o mesmo tamanho que um transistor comum, mas em seu interior existem, na verdade, centenas de transistores.

Figura 5 - Transistores, Chip e Vlvula. Aqueles velhos CHIPS dos anos 60 tinham em seu interior, dezenas ou centenas de transistores. J o microprocessador PENTIUM, um moderno CHIP dos anos 90, contm em seu interior, nada menos que 3.500.000 transistores! Os CHIPS podem ser divididos em vrias categorias, dependendo da quantidade de transistores que existem em seu interior: SSI - Short Scale of Integration, ou Integrao em Baixa Escala. Esse chip contm em seu interior apenas algumas dezenas de transistores. MSI - Medium Scale of Integration, ou Integrao em Mdia Escala. Esse chip contm algumas dezenas de transistores. LSI - Large Scale of Integration, ou Integrao em Alta Escala. Contm em seu interior, alguns milhares de transistores. VLSI - Very Large Scale of Integration, ou Integrao em Escala Muito Alta. Esse chip contm da ordem de dezenas de milhares de transistores, ou mais.

Nos computadores modernos, quase todos os chips usados so do tipo LSI ou VLSI. Os chips SSI e MSI so ainda usados em pequenas quantidades, normalmente para auxiliar os chips LSI e VLSI.

OS PRIMEIROS MICROPROCESSADORES
MICROCOMPUTADOR: um computador pequeno, de tamanho tal que pode ser colocado sobre uma mesa. Quando surgiram os microcomputadores, existiam apenas os computadores de grande porte (que ocupavam salas inteiras) e os minicomputadores, que eram do tamanho de uma geladeira. MICROPROCESSADOR: um pequeno CHIP, que cabe na palma da mo. Podemos dizer que esse chip o "crebro" do computador. ele que executa os programas, faz os clculos e toma as decises, de acordo com as instrues armazenadas na memria.

Figura 6 Microcomputador

Figura 7 Microprocessador

Os microprocessadores formam uma parte importantssima do computador, chamada de UCP (Unidade Central de Processamento), ou em ingls, CPU (Central Processing Unit). Antes da existncia dos microprocessadores, as CPUs dos computadores eram formadas por um grande nmero de chips, distribudos ao longo de uma ou diversas placas. Um microprocessador nada mais que uma CPU inteira, dentro de um nico CHIP. Podemos ver na figura 8, um microprocessador e uma placa de circuito. Um microprocessador contm todos os circuitos que antigamente eram formados por diversas placas.

Figura 8 - Microprocessador e placa de circuito impresso Ligando-se um microprocessador a alguns chips de memria e alguns outros chips auxiliares, tornou-se possvel construir um computador inteiro em uma nica placa de circuito. Esse computador, por ter um tamanho muito menor que os computadores da poca (incio dos anos 70), passou a ser conhecido como MICROCOMPUTADOR. Esses primeiros microcomputadores eram bem diferentes dos atuais. No tinham, por exemplo, teclado, nem vdeo, nem impressora. Eram ligados a um aparelho chamado de TELETYPE (ou TELETIPO). O teletipo era uma mquina de escrever que continha uma leitora e uma perfuradora de fita de papel. Os programas no eram armazenados em discos, como nos dias atuais. Eram gravados em fitas de papel. Os pequenos furos da fita de papel representavam as instrues dos programas.

Figura 9 - Microcomputadores do incio dos anos 70 Uma famosa empresa americana, a INTEL, foi uma das primeiras a produzirem microprocessadores. Seu primeiro microprocessador era chamado de "4004". Alis, essa uma caracterstica muito comum nos chips: so normalmente chamados por nmeros, e no por nomes. O 4004 era um microprocessador ainda muito limitado. Era capaz de realizar operaes com apenas 4 bits de cada vez. Se voc ainda no sabe o que um "BIT", no se preocupe, pois ainda nesta unidade explicaremos o que so BITS e BYTES. Para simplificar, um microprocessador de 4 bits s pode operar com nmeros pequenos, de 0 a 15. Para usar nmeros maiores, um microprocessador de 4 bits precisa dividir o nmero em vrias partes e fazer as contas em vrias etapas. Podemos exemplificar isto, fazendo uma analogia com o que acontece com o crebro humano: Pergunta: Quanto 37x21? Na escola nunca estudamos a tabuada de 37, e nem de 21. O mximo que conseguimos calcular "de cabea" 9x9. Para calcular 37x21 temos que fazer a conta:

Como nosso crebro s sabe multiplicar nmeros menores que 10, dividimos a operao em vrias etapas, e encontramos assim o resultado 777. Um microprocessador de 4 bits como o 4004 faz esse mesmo tipo de desmembramento para operar com nmeros maiores.Depois do 4004, a INTEL lanou o 8008, que era um microprocessador de 8 bits. Era muito mais rpido que o 4004, j que podia operar com nmeros maiores. Com 8 bits, esse chip podia operar diretamente com nmeros entre 0 e 255. O que o 4004 precisava de duas etapas para realizar, podia ser realizado em uma nica etapa pelo 8008. Depois do 8008, a INTEL lanou um novo microprocessador de 8 bits, chamado de 8080. Era mais rpido e mais barato que o 8008. O 8080 foi o primeiro microprocessador a ser usado em larga escala nos chamados "computadores pessoais". Antes deles, os microcomputadores eram usados apenas em laboratrios cientficos, em fbricas e em universidades. O 8080 popularizou o uso de microcomputadores por pequenas empresas e at para uso pessoal. J no final dos anos 70 eram comuns os micros pessoais baseados no 8080 e em outros microprocessadores rivais: o MC6800 da Motorola, o 6502, usando em um antigo microcomputador chamado de APPLE, e o Z-80 fabricado pela ZILOG, usado em um antigo computador chamado TRS-80. Surgia ento a indstria dos microcomputadores. Ao mesmo tempo, surgia a indstria do software para microcomputadores, que criava programas de vrios tipos para serem usados nessas mquinas. Os microcomputadores dessa poca j tinham teclado, vdeo e impressora. Seus dados e programas eram gravados normalmente em gravadores de fita K-7 adaptados para trabalhar com microcomputadores. A INTEL produziu ainda, no final dos anos 70, outro microprocessador para substituir o 8080. Chamava-se 8085. Todos esses microprocessadores (8080, 8085, Z-80, 6502, 6800 e outros) operavam com 8 bits. Um dos primeiros microcomputadores brasileiros, o SCHUMEC M- 101/85. Tinha um microprocessador INTEL 8085 de 6 MHz, 16 KB de memria e um gravador de fita K7 para armazenamento de programas e dados. Seu monitor de vdeo era na verdade uma TV PHILIPS adaptada, j que nesta poca o Brasil no fabricava monitor.

Figura 10 - Microcomputador SCHUMEC M 101/85

OS MICROCOMPUTADORES MODERNOS
At o final dos anos 70, os microcomputadores existentes operavam com 8 bits. Nessa poca, a INTEL lanou os primeiros microprocessadores de 16 bits: o 8086 e o 8088. Um microprocessador de 16 bits capaz de operar com nmeros maiores e de forma mais rpida que os modelos de 8 bits. Os dois microcomputadores que dominavam o mercado eram o APPLE e o TRS-80 de 8 bits. Nessa ocasio, a IBM, que o maior fabricante de computadores em todo o mundo, ainda no fabricava microcomputadores. Seus produtos eram os computadores de grande porte usados nos grandes centros de processamento de dados, e custavam alguns milhes de dlares. Em 1981 foi lanado o microcomputador da IBM: O IBM PC (Personal Computer). No entanto, a estratgia de marketing da IBM: na verdade, o que a IBM queria no era vender o IBM PC ou torn-lo um padro de mercado, mas vender computadores de grande porte. A idia era simples: algum que tivesse um microcomputador IBM PC em casa daria preferncia a comprar um computador de verdade da marca IBM para a sua empresa. O microcomputador seria apenas um chamariz para a marca IBM. Escolheu ento o microprocessador 8088 para usar em seu microcomputador. O IBM PC, o primeiro microcomputador de 16 bits, passou logo a dominar o mercado. At os dias atuais, os modernos microcomputadores so compatveis com o IBM PC original, lanado em 1981. Este microcomputador tinha as seguintes caractersticas: Microprocessador 8088, operando a 4.77 MHz Monitor de vdeo monocromtico 2 drives de 320 KB 16 KB de memria, possibilitando expanso at 64 KB Conexo para gravador K-7 Pouco tempo depois, a IBM realizou melhorias no projeto deste microcomputador e lanou o IBM PC-XT. A sigla "XT" significa "Extended Technology" (Tecnologia estendida). As caractersticas dos primeiros modelos do IBM PC-XT eram as seguintes: Microprocessador 8088, operando a 4.77 MHz Monitor de vdeo monocromtico ou colorido 2 drives de 360 KB 64 KB de memria, possibilitando expanso at 256 Kb Disco Winchester de 10 MB

A grande vantagem do IBM PC-XT em relao ao IBM PC era a possibilidade de operar com um disco rgido (tambm chamado de winchester) de 10 MB. Ao longo dos anos foram surgindo novos fabricantes PCs aumentando a competio IBM, com isso foi havendo melhorias como: Preo: Com o aumento da produo e o uso de chips VLSI, foi possvel reduzir drasticamente o preo dos equipamentos. Microprocessador: A cada ano eram lanados novos tipos de microprocessadores, cada vez mais velozes.

Por exemplo, o microprocessador 80286 foi utilizado em outro modelo da IBM chamado de IBM PC-AT. A sigla "AT" significa "Advanced Technology" (Tecnologia Avanada). O IBM PC-AT operava com 8 MHz, mas ao longo dos anos foram lanados novos modelos com velocidades mais altas. Assim como ocorreu com o 80286, os microprocessadores 80386, 80486 e PENTIUM tambm tiveram verses com diversas velocidades.

Processador Intel 486

Memria: Os primeiros PCs usavam 16 KB de memria. Os programas da poca eram suficientemente pequenos para funcionar bem com esta pequena quantidade de memria.

CPU, INPUT E OUTPUT


Vimos uma evoluo da histria dos computadores, para entender como tiveram origem os microcomputadores modernos. Todos os computadores possuem uma parte muito importante, chamada de UNIDADE CENTRAL DE PROCESSAMENTO (UCP). Em ingls, usamos a sigla CPU, que abreviatura de CENTRAL PROCESSING UNIT. Nos computadores de grande porte, a CPU formada por uma ou vrias placas. Cada uma dessas placas contm vrios CHIPS. Nos microcomputadores a CPU nada mais que o prprio MICROPROCESSADOR. tambm comum chamar a placa que contm o microprocessador de PLACA DE CPU. No quer dizer que a CPU seja a placa inteira. A PLACA DE CPU a placa que contm a CPU, ou seja, que contm o MICROPROCESSADOR. A entrada de dados realizada por diversos dispositivos coordenados pela CPU. Entre eles podemos citar o teclado. O processamento realizado pela prpria CPU. Lembre-se que CPU significa "Unidade Central de Processamento". A sada de dados realizada por vrios dispositivos, sob a coordenao da CPU. Entre eles podemos citar o vdeo e a impressora. Vejamos ento um pequeno resumo dos conceitos apresentados nesta lio: CPU - a Unidade Central de Processamento. Em computadores de grande porte, a CPU formada por uma ou mais placas. Nos microcomputadores, a CPU o prprio MICROPROCESSADOR. PLACA DE CPU - Todo microcomputador possui uma placa principal, chamada de PLACA DE CPU. Esta placa contm o microprocessador, a memria e outros circuitos importantes. PROCESSAMENTO - a principal funo da CPU. Alm de realizar o processamento dos dados. A CPU tambm comanda as operaes de ENTRADA e SADA, que so realizadas por circuitos auxiliares chamados de INTERFACES.

MEMRIA PRINCIPAL
A CPU a parte mais importante de um computador. Essa importncia to grande, que comum ouvir pessoas chamando seus computadores pelo nome do microprocessador: "... possuo um computador 486...". Podemos dizer que depois da CPU, a parte mais importante de um computador a MEMRIA. Tanto assim que ouvimos muitos usurios de micros falarem: "... possuo um 486 com 8 MB de memria...". A MEMRIA PRINCIPAL aquela que acessada diretamente pelo microprocessador. formada por diversos tipos de CHIPs. Podemos ver na figura 16 alguns tipos de chips de memria, usados para formar a memria principal de microcomputadores. Alm da MEMRIA PRINCIPAL, que diretamente acessada pela CPU, existe tambm a MEMRIA SECUNDRIA, que ser estudada na prxima seo. A memria secundria no acessada diretamente pela CPU. Seu acesso feito atravs de interfaces ou controladoras especiais. Podemos citar como exemplo de memria secundria, o WINCHESTER. A memria secundria no formada por chips, e sim, por dispositivos que utilizam outras tecnologias de armazenamento. O winchester, assim como os disquetes e as unidades de fita, usa a tecnologia magntica para armazenar dados. Os discos CDROM usam tecnologia tica. RAM - So chips de memria que podem ser lidos e gravados pela CPU a qualquer instante. A CPU usa a RAM para armazenar e executar programas vindos do disco, para ler e gravar os dados que esto sendo processados. Outra caracterstica da RAM, que se trata de uma memria VOLTIL. Isso significa que quando o computador desligado, todos os seus dados so apagados. Por essa razo, necessrio que os programas e dados fiquem gravados no disco, que uma memria PERMANENTE. ROM - a abreviatura de READ ONLY MEMORY, ou seja, "MEMRIA PARA LEITURA APENAS". So chips de memria que podem ser lidos pela CPU a qualquer instante, mas no podem ser gravados. Sua gravao feita apenas pelo fabricante do computador, ou pelo fabricante de memrias. A outra caracterstica importante de ROM que se trata de uma memria PERMANENTE. Seu contedo nunca perdido, mesmo com o computador desligado. Nos microcomputadores, existe um programa muito importante chamado de BIOS (Basic Input-Output System - Sistema Bsico de Entrada e Sada). O BIOS tem vrias funes, entre as quais, a de realizar a "partida" do computador. Quando ligamos o computador, o BIOS realiza a contagem de memria, faz uma rpida checagem do funcionamento do computador e realiza a carga do Sistema Operacional que deve estar armazenado no disco. O BIOS est gravado em uma memria ROM localizada na PLACA DE CPU.

MEMRIA SECUNDRIA
A MEMRIA SECUNDRIA tambm chamada de MEMRIA DE MASSA. uma memria do tipo PERMANENTE (no se apaga quando o computador est desligado), que tem uma alta capacidade de armazenamento, e um custo muito mais baixo que o da memria principal.

Figura 19 - Dispositiva de armazenamento secundrio

DISPOSITIVOS DE ENTRADA E SADA


J vimos que um computador passa o tempo todo realizando trs tarefas: Entrada: Feita por chips e dispositivos especializados em leitura de dados, sob a coordenao da CPU. Processamento: Feito pela CPU Sada: Feita por chips e dispositivos especializados em transmisso ou gravao de dados, sob a coordenao da CPU. Existem, portanto no computador, os chamados DISPOSITIVOS DE ENTRADA E SADA, tambm chamados de PERIFRICOS. Atravs desses dispositivos, o computador pode armazenar ler, transmitir e receber dados. A MEMRIA SECUNDRIA, j estudada na lio anterior, formada por diversos dispositivos de ENTRADA E SADA. O termo ENTRADA E SADA so abreviados por E/S, ou para quem preferir a lngua inglesa, I/O (INPUT/OUTPUT). Dentre os diversos dispositivos de E/S, existem alguns que so especializados apenas em ENTRADA, outros especializados apenas em SADA e outros em ENTRADA E SADA. Podemos citar os seguintes exemplos: ENTRADA: Teclado - L os caracteres digitados pelo usurio MOUSE - L os movimentos e toque de botes Drive de CD-ROM - L dados de discos CD-ROM Microfone - Transmite sons para o computador SCANNER - Usado para o computador "ler" figuras ou fotos SADA: Vdeo - Mostra ao usurio, na tela caracteres e grficos Impressora - Imprime caracteres e grficos Alto-falante - Realiza comunicao com o usurio atravs de som

ENTRADA E SADA:
Winchester - Grava e l dados Drive de disquete - Grava e l dados em disquetes Unidade de fita magntica - Grava e l dados em fitas magnticas MODEM - Transmite e recebe dados pela linha telefnica A CPU no pode comunicar-se diretamente com os perifricos. Esta comunicao feita com a ajuda de circuitos chamados de INTERFACES. Por exemplo, os dados que so recebidos do MOUSE chegam at a CPU atravs da INTERFACE SERIAL. Os dados a serem impressos so transmitidos at a impressora atravs de um circuito chamado de INTERFACE PARALELA. Os dados provenientes de um microfone chegam at a CPU atravs de uma interface, chamada de CONVERSOR ANALGICO-DIGITAL, localizado em uma placa especial chamada de PLACA DE SOM.

HISTRIA DOS COMPUTADORES

As cinco geraes
A partir do momento que surgiram os primeiros computadores na acepo popular da palavra, divide-se a histria dos computadores em cinco geraes distintas. O pulo para a gerao seguinte se d com o advento de um nova tecnologia que possibilita grandes avanos do poder de clculo ou descobertas que modificam a base de um computador. Os computadores da primeira gerao sero analisados em separado, visto que cada novo modelo apresentava diferenas substanciais. Da segunda gerao em diante, sero analisadas caractersticas gerais dos computadores, j que eles eram muitos e observ-los em separado renderia vrias pginas. Embora existam diferenas e discordncias quanto as datas das geraes de computadores, ser usada aqui aquela mais amplamente aceita.

1 Gerao: tecnologia de vlvulas (1940 - 1955) 1943 - Mark I


Numa parceria da IBM com a marinha Norte-Americana, o Mark I era totalmente eletromecnico: ele tinha cerca de 17 metros de comprimento por 2 metros e meio de altura e uma massa de cerca de 5 toneladas. O barulho do computador em funcionamento, segundo relatos da poca, se assemelhava a varias pessoas tricotando dentro de uma sala. Mark I continha nada menos que 750.000 partes unidas por aproximadamente 80 km de fios. Ele foi o primeiro computador totalmente automtico a ser usado para fins blicos.

1945 ENIAC
A segunda Grande Guerra estava no seu auge e a demanda por computadores cada vez mais rpidas vinha crescendo. Os britnicos criavam a menos famosa Colossus para decifrar os cdigos nazistas e os americanos apresentavam o ENIAC (Eletronic Numerical Integrator and Calculator). O modelo utilizava vlvulas eletrnicas e os nmeros eram manipulados na forma decimal. Apesar da alta velocidade para a poca, era extremamente difcil mudar as instrues contidas dentro do computador, j que a programao era feita por meio de vlvulas e fios que eram trocados de posio de acordo com o que se desejava. A demora ainda

era

maior

porque

computador

utilizava

sistema

decimal.

1949 - O sucessor do ENIAC


O EDVAC (Electronic Discrete Variable Computer), apesar de ser mais moderno, no diminuiu de tamanho e ocupava 100% do espao que o ENIAC ocupava. Todavia, ele era dotado de cem vezes mais memria interna que o ENIAC - um grande salto para a poca. As instrues j no eram passadas ao computador por meios de fios ou vlvulas: elas ficavam em um dispositivo eletrnico denominado linha de retardo. Esse dispositivo era um tubo contendo vrios cristais que refletiam pulsos eletrnicos para frente e para trs muito lentamente. Um outro grande avano do EDVAC foi o abandono do modelo decimal e a utilizao dos cdigos binrios, reduzindo drasticamente o nmero de vlvulas. Seus criadores, Mauchly e Eckert, comearam a trabalhar neste modelo logo aps o lanamento do ENIAC.

1951 - UNIVAC I
Baseado na revolucionria teoria de Von Neumann (pensada por ele a partir do funcionamento do EDVAC), o UNIVAC I (Universal Automatic Computer) era bem menor que seus predecessores. Tinha "apenas" vinte metros quadrados e um massa de cerca de cinco toneladas. O computador recebia as instrues de cartes magnticos e no mais de cartes perfurados. Foram construdas nos anos seguintes mquinas muito semelhantes, como o MANIAC-I (Mathematical Analyser Numerator, Integrator and Computer), MANIAC-II e o UNICAC-II. Foram produzidas

quinze unidades do UNIVAC I e ele foi o primeiro computador comercial da histria.

1954 - IBM 650


O computador IBM 650 foi disponibilizado publicamente nos USA pela IBM em Dezembro de 1954. Media 1,5 m X 0,9 m X 1,8 m e tinha uma massa de 892 Kg. O IBM 650 era indicado para resolver problemas comerciais e cientficos. A empresa projetou a venda de 50 exemplares do computador (mais do que todos os computadores do mundo juntos) - o que foi considerado um exagero. Apesar do pessimismo, em 1958, duas mil unidades do IBM 650 estavam espalhadas pelo mundo. O IBM 650 era capaz de fazer em um segundo 1.300 somas e 100 multiplicaes de nmeros de dez dgitos.

2 Gerao: a utilizao do transistor (1955-1965)


Em 1952 surgiu um novo componente que apresentava inmeras vantagens em relao s antigas vlvulas: ele tinha caractersticas como menor aquecimento, maior poder de clculo e confiabilidade e um consumo de energia bem menor com o adicional de que no necessitava de tempo para aquecer. A Bell Laboratories inventava o transistor. Os clculos passaram a ser medidos de segundos para microssegundos. As linguagens utilizadas para esses computadores eram normalmente a FORTRAN, COBOL ou ALGOL.

A partir desse momento, devido maior facilidade e praticidade do transistor, muito modelos de computador surgiram. O primeiro modelo de computado 100% transistorizado foi o TRADIC, da Bell Laboratories. Outro modelo dessa poca era o IBM 1401, com uma capacidade memria base de 4.096 bytes operando em ciclos de memria de 12 microssegundos. A instalao de um IBM 1401 ocupava uma sala e o tamanho dos computadores ainda era bastante grande. Existiam tambm outros modelos, como o sofisticado IBM 7094. O IBM TX-0, de 1958, tinha um monitor de vdeo de alta qualidade, alm de ser rpido e relativamente pequeno. Um outro modelo de computador virou mania no MIT era o PDP-1: alunos utilizavam o computador para jogar Rato-no-Labirinto e Spacewar utilizando o auxlio de uma caneta ptica e um joystick. No entanto, os elevados custos destas mquinas restringiam sua utilizao a aplicaes estratgicas do governo, grandes empresas e universidades.

3 Gerao: os circuitos integrados (1965-1980)


A terceira gerao inicia-se com a introduo do circuitos integrados (transistores, resistores, diodos e outras variaes de componentes eletrnicos miniaturizados e montados sobre um nico chip) aos computadores. Aps o surgimento desses circuitos, no final da dcada de 50, eles foram aprimorando-se at chegar ao estgio de adaptao aos computadores. Os custo de produo de um computador comeavam a cair, atingindo uma faixa de mercado que abrangia empresas de mdio porte, centros de pesquisa e universidades menores. Uma nova linguagem foi desenvolvida pelo Grupo de Cambridge: a CPL. O Burroughs B2500 foi um dos primeiros modelos dessa gerao. O PDP-5, produzido pela DEC, foi o primeiro minicomputador comercial e o INTEL 4004 o primeiro microprocessador (circuito integrado que contm todos os elementos de um computador num nico local). Eram alguns de seus componentes a unidade calculadora e a memria. Alm disso, diversos modelos e estilos foram sendo lanados nessa poca: IBM-PC, Lotus 1-2-3, Sinclair ZX81/ZX Spectrum, Osborne1 e os famosos IBM PC/XT. O PC/XP usava o sistema operacional PC/MS-DOS, uma verso do MS-DOS desenvolvida para a IBM pela Microsoft.

4 Gerao: circuitos de larga escala (1980-1990)


Ainda mais avanados que os circuitos integrados, eram os circuitos de larga escala (LSI - mil transistores por "chip") e largussima escala (VLSI - cem mil transistores por "chip"). O uso desses circuitos na construo de processadores representou outro salto na histria dos computadores. As linguagens mais utilizadas eram a PROLOG , FP, UNIX e o incio da utilizao da linguagem C. Logo em 1981 nasce o 286 utilizando slots ISA de 16 bits e memrias de 30 pinos. Quatro anos mais tarde era a vez do 386, ainda usando memrias de 30 pinos mas com maior velocidade de processamento. Ao contrrio do 286, era possvel rodar o Windows 3.11 no 386. Introduziu-se no mercado as placas VGA e suporte a 256 cores. Em 1989, eram lanados os primeiros 486 DX: eles vinham com memrias de 72 pinos (muito mais rpidas que as antigas de 30 pinos) e possuam slots PCI de 32 bits - o que representava o dobro da velocidade dos slots ISA. Os trs ltimos computadores citados popularizaram tanto o uso dessas mquinas que foi cunhado o conceito de "PC", ou "Personal Computer" (Computador Pessoal em portugus).

5 Gerao: Ultra Large Scale Integration (1990 hoje)

Basicamente so os computadores modernos. Ampliou-se drasticamente a capacidade de processamento de dados, armazenamento e taxas de

transferncia. Tambm nessa poca que os processos de miniaturizao so iniciados, diminuindo o tamanho e aumentando a velocidade dos agora "populares" PCs. O conceito de processamento est partindo para os processadores paralelos, ou seja, a execuo de muitas operaes simultaneamente pelas mquinas. Surge o primeiro processador Pentium em 1993, dotado de memrias de 108 pinos, ou DIMM. Depois vem o Pentium II, o Pentium III e mais recentemente o Pentium 4 (sem contar os modelos similares da concorrente AMD). Nesse meio tempo iam surgindo o slot AGP de 64 bits, memrias com mais pinos e maior velocidade, HDs cada vez mais rpidos e com maior capacidade, etc. Na realidade, as maiores novidades dessa poca so os novos processadores, cada vez mais velozes.

Enfim, a informtica evolui cada vez mais rapidamente e as velocidades de processamento dobram em perodos cada vez mais curtos. Para se ter uma noo disso, basta observar que entre os modelos de computador mais antigos, os espaamentos entre uma novidade e outra eram de dezenas de anos, sendo que hoje no chega a durar nem um ms. Isso nos leva a concluir que o avano cientfico e do poder de clculo avana de maneira que no se encontra paralelo da histria humana, barateando os custos e tornando acessveis os computadores s pessoas de baixa renda. Quem sabe uma nova gerao de computadores no est por vir ? Alguns falam em processadores qunticos quando os limites da miniaturizao do silcio foram atingidos, enquanto outros falam em molculas de gua armazenando informaes - mas o fato que coisas novas vo surgir e novas geraes deixaro a atual to longe e ultrapassada como est a segunda para ns. Mesmo rompendo recentemente a barreira dos terabytes, a evoluo dos computadores ainda est longe de terminar.

UNIDADE II- SISTEMA BINRIO

INTRODUO
Os computadores trabalham com um sistema incrvel, que utiliza apenas dois valores para manipular qualquer informao. Isso quer dizer que todas as operaes que o computador faz, desde permitir-nos a escrever um simples texto at jogar jogos 3D so realizados utilizando apenas dois valores, que por conveno so os dgitos 0 (zero) e 1 (um). Mas como isso possvel? Como o computador consegue dar andamento a todos os seus processos utilizando apenas os dgitos 0 e 1? Como que isso tudo funciona na prtica? Ser que dentro de um processador ou em um CD/DVD veremos, literalmente, uma fileira de 0s e 1s? exatamente isso que veremos nessa pequena srie de artigos.

O QUE BINRIO?
De forma geral, binrio um sistema que utiliza apenas dois valores para representar suas quantias. um sistema de base dois. Esses dois valores so o 0 e o 1. Da podemos concluir que para 0 temos desligado, sem sinal, e para 1 temos ligado ou com sinal. Vale ressaltar que o sistema que utilizamos diariamente o sistema de base dez, chamado tambm por base decimal. Esse sistema utiliza os algarismos indo-arbicos, que so: 0, 1, 2, 3, 4, 5, 6, 7, 8, e 9. Ns seres humanos fomos treinados para trabalhar com a base decimal. Ela a ideal para ns. Mas, para os computadores a base binria a ideal. Nos computadores esses zeros (0s) e uns (1s) so chamados de dgitos binrios ou somente bit (conjuno de duas palavras da lngua inglesa binary digit), que a menor unidade de informao dos computadores. Dessa forma, tanto faz dizer dgito 0 e dgito 1, ou, bit 0 e bit 1.

FORMAO DE INFORMAES / O CARACTERE.


So esses bits que formam qualquer informao, porm, um bit sozinho no faz nada, apenas um sinal qualquer. Para que os bits possam realmente formar uma informao, precisam ser agrupados, reunidos. Esses grupos podem ser de 8, 16, 32 ou 64 bits. 8 bits

10100110 Apesar de parecer ser um sistema limitado, agrupando bits possvel fazer uma infinidade de representaes. Vamos pegar como exemplo um grupo de 8 bits (tabela a seguir), onde possvel fazer as seguintes representaes para os nmeros decimais:

TABELA 01: CARACTERES EQUIVALENTES EM BINRIO


Nmeros Decimais 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

ALFANUMRICOS
Cdigo Binrio 00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001001 00001010 00001011 00001100 00001101 00001110

SEUS

Na tabela 01 os nmeros decimais esto representados em grupos de oito bits. Mas, acontece que, como ocorre no sistema decimal, todo zero que estiver a esquerda de dgitos binrios no valem nada. Por exemplo: o decimal 14 1110 em binrio, o mesmo que 00001110 ou 000000001110 ou ainda ...0000000000001110. Como disse, o computador reuni grupos predefinidos de bits (8, 16, 32 ou 64) para formar uma informao, ou seja, um caractere. Um caractere qualquer letra, nmero ou smbolo. 10100110 8 bits = um caractere qualquer 1+1=? Como este assunto considerado chato por muitos estudantes, vamos a uma brincadeirinha. Quanto 1 + 1? Bem, todos devem responder 2.

Mas, eu no disse qual a base (decimal ou binria). Se for decimal dar 2. E se for binria? Nesse caso dar 10.

PALAVRA
Agora vou explicar algo importante a saber: o conceito de palavras. Na terminologia dos computadores, palavra um grupo de algarismos binrio (bits) que podem ocupar uma localizao na memria, e, que podem ser processados de uma s vez, podendo ser um nmero binrio que para ser manuseado como um dado, ou, uma instruo que diz ao computador que operao deve ser executada. Pode ser tambm um caractere ASCII representando uma letra do alfabeto, ou ainda, um endereo que diz ao processador onde se localiza um dado. Existem tamanhos de palavras diferentes, onde cada um recebe um nome, veja: 4 bits = NIBBLE (24 =16 variaes); 8 bits = BYTE (28 = 256 variaes); 16 bits = WORD (216 = 65.536 variaes); 32 bits = DOUBLE WORD (232 = 4.294.967.296 variaes); 64 bits = QUAD WORD (264 = 18.446.744.073.709.551.616 variaes).

Para entender melhor, imagine que com palavras de 8 bits, as instrues, os endereos, os nmeros e dados so representados por nmeros binrios de 8 bits. Dessa forma o menor nmero binrio 00000000 (ou 00 em hexadecimal), e, o maior nmero 11111111 (ou FF em hexadecimal), o que corresponde de 0 a 256 valores diferentes (variaes). Quanto maior a palavra, maior ser o nmero que se pode trabalhar. Por exemplo: com palavras de 16 bits pode-se trabalhar com nmeros decimais at 65.536. preciso frisar aqui que apesar de um determinado PC usar palavras de 8 bits, por exemplo, no significa que o processador desse PC ficar restringido a nmeros decimais inferiores a 256. Simplesmente significa que ser necessrio usar duas ou mais palavras para representar nmeros maiores. Dessa forma certo dizer que um processador de 32 bits mais rpido que um de 16 bits, pois, este ltimo ser obrigado a dividir nmeros maiores (acima de 65.536) em nmeros menores que sejam possveis de se manipular com 16 bits, o que levar mais tempo.

EST CONFUSO?
Atualmente os processadores acessam a memria a 64 bits por vez, porm, continuamos a usar o nome BYTE para referir ao tamanho de uma memria.

O correto seria usar BYTE para designar o tamanho de uma memria de 8 bits, e, QUAD WORD para memrias de 64 bits. Mas, qual seria o lado prtico disso? Nenhum, e pior, acaba confundindo, pois, imagine ter que usar BYTE para memrias de 8 bits (SIMM/30), WORD para memrias de 16 bits, e assim sucessivamente. Por isso at hoje o usual o BYTE para designar o tamanho de uma memria.

NA PRTICA
Agora um ponto importante. Como que isso tudo funciona na prtica? Ser que dentro de um processador ou em um CD/DVD veremos, literalmente, uma fileira de 0s e 1s? No assim que funciona. Infelizmente eu j vi muitas publicaes fazerem afirmaes totalmente erradas, que s servem para confundir a cabea de quem est aprendendo. Li uma certa vez que se voc pagasse um CD-ROM e ampliasse a sua superfcie de gravao, viria uma srie de 0s e 1s. Ora, no assim que funciona. Em nvel de eletrnica, os bits 0 e 1 so representados atravs de valores de tenso. Por exemplo: o bit 0 pode ser representado por valores entre 0 e 0,3 volts. J o bit 1 pode ser representado por valores entre 2 e 5 volts. Esses nmeros so apenas exemplos, no estamos afirmando aqui que so exatamente esses valores. De forma geral, qualquer valor pode ser usado para representar os bits, depende do projeto, da aplicao e da tecnologia empregada. Com o avano da tecnologia dos computadores, passou a se usar tenses cada vez menores, pois, os dispositivos eletrnicos passaram a trabalhar com tenses menores. Nos computadores so usados valores muito baixos, tais como esses que acabamos de mencionar. J o CD/DVD (dispositivos pticos) armazenam as informaes em forma de pequenos pontos denominados Pits e um espao entre eles denominado Lands, que so interpretados no processo de leitura como 0s e 1s (bits).

ERA DIGITAL
Em nosso cotidiano comum ouvir frases do tipo era digital ou sistemas digitais ou ainda TV digital. Mas, o que digital? Resumidamente, digital tudo aquilo que pode ser transmitido e/ou armazenado atravs de bits. Um dispositivo digital aquele que utiliza os bits para manipular qualquer tipo de informao (dados).

SISTEMA BINRIO COMO CONVERTER NMEROS BINRIOS PARA DECIMAL

Neste artigo veremos como converter um nmero binrio qualquer para decimal. Tentei abordar o assunto da forma mais simples possvel, para permitir a compreenso de todos. Para fazer essas converses, necessrio entender perfeitamente algumas peculiaridades dos nmeros decimais, a base numrica que usamos naturalmente todos os dias. O sistema decimal um sistema base dez. Vamos voltar na 5 srie e relembrar uma matria que voc aprendeu nas aulas de matemtica: a decomposio de nmeros. Suponhamos um nmero decimal qualquer, digamos, o nmero 234. Fazendo uma decomposio simples desse nmero, temos: 2 x 100 + 3 X 10 + 4 X 1 = 234 Decompor nmeros decimais muito fcil. Basta voc entender que cada algarismo representa uma casa. H a casa das unidades, das dezenas, das centenas, etc. A menor casa a das unidades, e elas vo ganhando peso conforme vo sendo posicionadas esquerda de qualquer nmero. No nmero anterior temos:

Vamos agora esquematizar isso em uma tabela, veja:

100 = 1 101 = 10 102 = 100 103 = 1000 Etc. Ento, vamos representar o mesmo esquema da tabela anterior usando potncias de base 10.

2 x 102 + 2x 101 + 4 x 100 = 234 A base do sistema binrio a base 2. Usando o mesmo conceito que expliquei at aqui, e, fazendo uma decomposio de um nmero binrio qualquer, chegaremos sua equivalncia em decimal.

Por exemplo: o binrio 111

Fazendo a conta: 1 x 22 + 1 x 21 + 1 x 20 = 1x4+1x2+1x1= 4+2+1= 7 O binrio 111 = 7 decimal Utilizando o mesmo esquema podemos converter qualquer binrio para decimal.

COMO FUNCIONAM OS BITS E OS BYTES

INTRODUO Se voc j usou um computador por mais de cinco minutos , provavelmente ouviu as palavras bits e bytes. A capacidade da memria RAM e do disco rgido, assim como o tamanho dos arquivos so medidos em bytes, quando examinamos em um visualizador de arquivos. Voc pode ouvir um comercial que diga: "este computador possui um processador Pentium de 32 bits com 64 megabytes de memria RAM e 2,1 gigabytes de espao no disco rgido". E muitos artigos de HowStuffWorks falam dos bytes (por exemplo, Como funcionam os CDs). Neste artigo, discutiremos bits e bytes para que voc possa obter um entendimento completo do assunto. Nmeros decimais. A maneira mais fcil de se compreender os bits compar-los a algo que voc j conhece: os dgitos. Um dgito um local que pode conter valores numricos entre 0 e 9. Dgitos normalmente so combinados em grupos para criar nmeros maiores. Por exemplo, 6.357 possui quatro dgitos. Sabe-se que, no nmero 6.357, o 7 ocupa a posio de unidade, enquanto o 5 ocupa a posio de dezena, o 3 ocupa a posio de centena e o 6 ocupa a posio de milhar. Assim, caso queira ser explcito, poder expressar esse nmero da seguinte maneira: (6 * 1000) + (3 * 100) + (5 * 10) + (7 * 1) = 6000 + 300 + 50 + 7 = 6357 Uma outra maneira de express-lo seria utilizando potncias de 10. Suponhamos que o conceito de "elevado potncia de" seja representado pelo smbolo "^" ("10 ao quadrado" seria escrito como "10^2"). Assim uma outra maneira de expressar esse nmero : (6 * 10^3) + (3 * 10^2) + (5 * 10^1) + (7 * 10^0) = 6000 + 300 + 50 + 7 = 6357 O que se pode perceber nessa expresso que cada dgito um marcador de posio para a prxima potncia de 10, comeando no primeiro dgito com 10 elevado potncia de zero. Isso deve ser considerado cmodo, j que trabalhamos com dgitos decimais todos os dias. Mas o interessante sobre sistemas numricos que no existe nada que o force a ter 10 valores diferentes em um dgito. Nosso sistema decimal provavelmente se desenvolveu porque possumos 10 dedos - caso vissemos a evoluir para apenas oito, poderamos ter um sistema baseado na mesma quantidade de dgitos. Voc pode criar sistemas baseados em qualquer quantidade de dgitos. Na verdade, existem vrias boas razes para utilizar diferentes bases em diferentes situaes. Bits Os computadores operam utilizando o sistema numrico baseado em 2 dgitos, tambm conhecido como sistema numrico binrio, assim como o sistema numrico baseado em 10 dgitos conhecido como sistema numrico decimal. A razo pela qual os computadores utilizam o sistema baseado em 2 dgitos que isso torna muito mais fcil implement-los com a tecnologia eletrnica atual. possvel conectar e montar computadores que operam na base de 10 dgitos, mas eles seriam extremamente caros. Por outro lado, os computadores binrios so relativamente baratos.

Por isso os computadores usam nmeros binrios e, conseqentemente, dgitos binrios no lugar de dgitos decimais. A palavra bit a abreviao das palavras "Binary digIT" (dgito binrio). Enquanto os dgitos decimais possuem 10 valores possveis, que vo de 0 a 9, os bits possuem apenas dois: 0 e 1. Portanto, um nmero binrio composto apenas de 0s e 1s, como por exemplo: 1011. De que maneira se descobre qual o valor do nmero binrio 1011? Voc o faz da mesma forma que fizemos anteriormente para 6357, mas utilizar a base de 2 dgitos ao invs de 10. Assim: (1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (1 * 2^0) = 8 + 0 + 2 + 1 = 11 Voc pode observar que em nmeros binrios cada bit comporta o valor das potncias crescentes de 2. Isso torna a contagem em binrios consideravelmente fcil. Contando em decimais e binrios, comeando em zero e indo at 20, fica assim: 0 = 0 1 = 1 2 = 10 3 = 11 4 = 100 5 = 101 6 = 110 7 = 111 8 = 1000 9 = 1001 10 = 1010 11 = 1011 12 = 1100 13 = 1101 14 = 1110 15 = 1111 16 = 10000 17 = 10001 18 = 10010 19 = 10011 20 = 10100 Observando essa seqncia, voc percebe que 0 e 1 so os mesmos para os sistemas numricos decimal e binrio. No nmero 2, no entanto, observa a primeira repetio no sistema binrio. Se um bit 1, e voc soma 1 a ele, o bit torna-se 0 e o prximo torna-se 1. Na transio de 15 para 16 esse efeito passa por 4 bits, transformando 1111 em 10000. Bytes Os bits dificilmente esto sozinhos nos computadores. Normalmente so agrupados em conjuntos de 8 bits, chamados bytes. Por que existem 8 bits em um byte? Seria o mesmo que perguntar: "por que h 12 ovos em uma dzia". O byte de 8 bits algo que as pessoas estabeleceram atravs de tentativas e erros durante os ltimos 50 anos.

Com 8 bits em um byte possvel representar 256 valores, de 0 a 255, como mostrado abaixo: 0 = 00000000 1 = 00000001 2 = 00000010 ... 254 = 11111110 255 = 11111111

BYTES: O PADRO ASCII


Os bytes so freqentemente utilizados para comportar caracteres individuais em um documento de texto. No sistema de caracteres ASCII, cada valor binrio entre 0 e 127 est associado a um caractere especfico. A maioria dos computadores estende o sistema ASCII, para utilizar a gama completa dos 256 caracteres disponveis em um byte. Os ltimos 128 caracteres comportam elementos especiais, como caracteres acentuados de diversas lnguas como o portugus. Voc pode ver os 127 cdigos padro da tabela ASCII, abaixo. Computadores armazenam documentos de texto, tanto no disco quanto na memria, utilizando esses cdigos. Se voc utiliza o Bloco de Notas do Windows 95/98 para criar um arquivo de texto contendo as palavras "Four score and seven years ago" (quatro pontos e sete anos atrs), o Bloco de Notas usaria 1 byte de memria por caractere (incluindo 1 byte para cada espao entre as palavras, caractere 32 da tabela ASCII). Quando o Bloco de Notas armazena a sentena em um arquivo no disco, o arquivo tambm ir conter 1 byte por caractere e por espao. Faa esse experimento: abra um novo arquivo no Bloco de Notas e insira a frase "Four score and seven years ago". Salve o arquivo no disco com o nome de getty.txt. Utilize ento o Explorer e veja o tamanho do arquivo. Voc ir descobrir que o arquivo ocupa um espao de 30 bytes no disco: 1 byte para cada caractere. Se voc adicionar outra palavra ao final da sentena e salvar novamente, o tamanho do arquivo ir subir para o nmero referente de bytes. Cada caractere consome um byte. Se voc olhasse para um arquivo como um computador o faz, veria que cada byte contm um nmero, no uma letra; o nmero o cdigo ASCII que corresponde ao caractere (veja abaixo). Desse modo, os nmeros para o arquivo no disco so: F o u r a n d s e v e n 70 111 117 114 32 97 110 100 32 115 101 118 101 111 Olhando a tabela ASCII, voc pode observar uma correspondncia entre cada caractere e o cdigo ASCII utilizado. Observe o uso do 32 para espao - 32 o cdigo ASCII para espao. Poderamos expandir esses nmeros decimais para nmeros binrios (assim, 32=00100000), se quisssemos ser tecnicamente corretos. Na realidade, assim que o computador lida com as coisas.

TABELA ASCII PADRO

Os 32 primeiros valores (0 at 31) so cdigos para itens como o retorno para o incio de uma linha (CR - Carriage Return) e o avano de linha (LF - Line Feed). O caractere de espao o 33 valor, seguido de caracteres de pontuao, dgitos, caracteres maisculos e caracteres minsculos. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 NUL SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI DLE

MUITOS BYTES
Quando se fala em uma grande quantidade de bytes, utilizamos prefixos como kilo, mega e giga, para criar outros termos: kilobyte, megabyte e gigabyte (tambm abreviados para K, M e G, como em Kbytes, Mbytes e Gbytes ou KB, MB e GB). A tabela a seguir mostra os multiplicadores binrios : Nome Abrev. Tamanho Kilo K 210 = 1.024 220 = 1.048.576 230 = 1.073.741.824 240 = 1.099.511.627.776 250 = 1.125.899.906.842.624 260 = 1.152.921.504.606.846.976 270 = 1.180.591.620.717.411.303.424 280 = 1.208.925.819.614.629.174.706.176

Mega M Giga Tera Peta Exa Zetta G T P E Z

Yotta Y

ARITMTICA BINRIA
A aritmtica binria funciona exatamente como a aritmtica decimal, exceto pelo fato de que o valor de cada bit pode ser apenas 0 ou 1. Para perceber um pouco da aritmtica binria, vamos comear com uma adio decimal e ver como funciona. Suponha-se que queiramos somar 452 e 751: 452 + 751 --1203 Para somar esses nmeros, voc comea pela direita: 2 + 1 = 3. Sem problemas. A seguir, 5 + 5 = 10, conserva o zero e transporta o 1 prxima soma ("vai um"). A seguir, 4 + 7 + 1 (devido ao vai um) = 12, ento, mantm o 2 e transporta o 1. Por fim, 0 + 0 + 1 = 1. A resposta ento 1203. A adio binria funciona exatamente da mesma maneira: 010 + 111 --1001 Comeando pela direita, 0 + 1 = 1 para o primeiro dgito. No existe vai um. Voc tem 1 + 1 = 10 para o segundo dgito, ento, mantm o 0 e transporta o 1. Para o terceiro dgito, 0 + 1 + 1 = 10, mantenha ento o zero e transporte 1. Para o ltimo dgito, 0 + 0 + 1 = 1. Assim, a resposta 1001. Se voc traduzir tudo para decimais, ver que est correto: 2 + 7 = 9.

SOMA DE BINRIOS
0+0=0 0+1=1 1+0=1 1+1=10, ou seja 0 e vai 1* (para somar ao digito imediatamente esquerda) Para somar dois nmeros binrios, o procedimento o seguinte:

Exemplo 1:
* 1100 + 111 ----= 10011

Explicando: Os nmeros binrios so base 2, ou seja, h apenas dois algarismos: 0 (zero) ou 1 (um). Na soma de 0 com 1 o total 1. Quando se soma 1 com 1, o resultado 2, mas como 2 em binrio 10, o resultado 0 (zero) e passa-se o outro 1 para a "frente", ou seja, para ser somado com o prximo elemento, conforme assinalado pelo asterisco,como no exemplo acima. Exemplo 2:
** 1100 + 1111 ----= 11011

Explicando: Nesse caso acima (exemplo 2), na quarta coluna da direita para a esquerda, nos deparamos com uma soma de 1 com 1 mais a soma do 1 ( * ) que veio da soma anterior. Quando temos esse caso (1 + 1 + 1), o resultado 1 e passa-se o outro 1 para frente

SUBTRAO DE BINRIOS
0-0=0 0-1=1 e vai 1* para ser subtraido no digito seguinte 1-0=1 1-1=0 Para subtrair dois nmeros binrios, o procedimento o seguinte:
* *** 1101110 10111 ------1010111

Explicando: Quando temos 0 menos 1, precisamos "pedir emprestado" do elemento vizinho. Esse emprstimo vem valendo 2 (dois), pelo fato de ser um nmero binrio. Ento, no caso da coluna 0 - 1 = 1, porque na verdade a operao feita foi 2 - 1 = 1. Esse processo se repete e o elemento que cedeu o "emprstimo" e valia 1 passa a valer 0. Os asteriscos marcam os elementos que "emprestaram" para seus vizinhos. Perceba, que, logicamente, quando o valor for zero, ele no pode "emprestar" para ningum, ento o "pedido" passa para o prximo elemento e esse zero recebe o valor de 1.

UNIDADE III ARQUITETURA COMPUTACIONAL

ARQUITETURA BSICA DOS COMPUTADORES


Como vimos no captulo anterior, o computador um conjunto de componentes integrados de forma a manipular dados e transform-los em alguma informao que desejamos. A forma de fazer essa manipulao dada pelo programa de computador e os meios de fazer a manipulao so fornecidos pelos componentes do computador. Tomemos como exemplo o algoritmo descrito no captulo anterior. Aquele algoritmo descreve de forma precisa todos os passos que devem ser dados para calcular a mdia das notas de uma turma. Entretanto, essa descrio, apesar de precisa, no formal o suficiente para ser entendida e executada por um computador. Uma outra pessoa pode descrever os mesmos passos usando palavras ligeiramente diferentes. Portanto, para que haja uma forma nica de se expressar uma idia, ou seja, uma lista de tarefas ou algoritmo, que foram criadas as linguagens de computao. O passo seguinte ser, portanto, escrever o algoritmo em uma linguagem de computador de alto nvel (Pascal, Fortran, C, Basic, etc.), de forma que as atividades sejam descritas dentro da sintaxe e da semntica definidas pelas regras da linguagem. Isso garante que qualquer pessoa que tenha que escrever esse algoritmo na linguagem escolhida, vai faz-lo da mesma forma, pois as regras sintticas e semnticas de qualquer linguagem so rgidas, formais e precisas. Com as atividades necessria descritas em uma linguagem formal temos ento um programa de computador. Bem, agora precisamos introduzir o programa de computador no hardware do computador. Essa a fase descrita como Entrada no captulo anterior. Para tanto, necessrio um equipamento (dispositivo perifrico) especial de hardware. Esse dispositivo pode ser, por exemplo, um teclado no qual digitamos caracter por caracter os comandos do programa de computador. Na verdade existem vrios equipamentos que podem ser usados como meio de entrada de dados em um computador. Alguns exemplos so o mouse, as unidades de leitura de discos flexveis, os discos rgidos, sensores ticos (para leitura de marcas grficas em um carto, por exemplo), sensores magnticos (para leituras de cartes magnticos ou campos magnticos em folhas de cheques), leitoras de CD-ROM, etc.

Entretanto, qualquer que seja o meio que utilizemos para introduzir nosso programa na mquina, ainda restar um problema. O caso que os computadores foram projetados para realizar tarefas bem simples, o que no o caso dos comandos do algoritmo apresentado. Tomemos como exemplo a linha 3 do algoritmo apresentado no captulo anterior: Somar a NOTA lida SOMA e guardar o resultado em SOMA Essa operao, que aqui aparece escrita informalmente em Portugus, mesmo depois de traduzida para uma linguagem de alto nvel (Pascal, C, Fortran, etc.), no mudar muito de forma. Essa instruo simplesmente no pode ser compreendida pelo computador. Para que seja possvel execut-la, necessrio um passo de traduo ou desmembramento dessa instruo em instrues menores, conhecidas como instrues de mquina. Essa instruo poderia ser desmembrada, por exemplo, no seguinte trecho: Carregar o valor de NOTA no registrador A Carregar o valor de SOMA no registrador B Somar o valor dos registradores A e B e guardar resultado no registrador A Transferir o valor do registrador A para SOMA Como vemos, o computador trabalha com estruturas internas de armazenamento e endereamento, conhecidas como Registradores. Portanto, necessrio traduzir os comandos genricos de uma linguagem de alto nvel para comandos mais simples, que fazem referncias aos elementos com os quais o computador trabalha. Esse passo feito automaticamente por um programa especializado chamado Compilador, e conhecido como fase de compilao do programa, assim como o programa escrito nessa linguagem o programa de mquina ou cdigo executvel.. Ento, recapitulando, primeiro escrevemos o algoritmo que resolve o problema, depois traduzimos para uma linguagem de computao de alto nvel, introduzimos o programa na mquina por algum dispositivo de entrada e ento compilamos o programa, gerando o cdigo executvel. Para que o programa executvel realize todas as operaes, receba os dados, manipule-os convenientemente e produza as sadas desejadas, necessrio que tanto os dados como as instrues estejam carregados na mquina, para que possam ser lidos e executados pelo processador de uma forma seqencial. O componente do sistema responsvel pelo armazenamento dos dados e instrues a Memria. Aps a execuo do programa, as informaes produzidas devem ser apresentados ao usurio ou registrados em algum componente de sada. Esses componentes so tipicamente o vdeo, a impressora, o disco

magntico ou ainda outros menos usados como ploters, gravadora magntica de cartes, etc. O componente principal, aquele que efetivamente realiza as operaes definidas nas instrues de mquina, a Unidade Central de Processamento (UCP). tambm a UCP que controla os demais componentes da mquina, emitindo sinais de controle que determinam a operao dos dispositivos.

O esquema abaixo ilustra o funcionamento bsico de um computador:

As linhas pontilhadas representam sinais de controle e as linha cheias fluxos de dados dentro da mquina. O vdeo e o teclado so tpicos dispositivos de sada e entrada, que servem para permitir que o sistema de computao se comunique com o mundo. Podem existir outros dispositivos perifricos mas o funcionamento bsico sempre o mesmo. Em suma, o funcionamento de um sistema de computao obedece, ainda hoje, aos mesmos princpios propostos por Von Neuman para a arquitetura do EDVAC (que vimos no captulo anterior), e que podem ser resumidos no seguinte: - dados e instrues so armazenados na memria; - o contedo da memria endereado conforme sua posio, independentemente de ser um dado ou uma instruo; - a UCP responsvel pela leitura das instrues da memria, sua interpretao e execuo, o que ocorre de forma seqencial, a menos que haja instrues de desvio explcito.

UNIDADE CENTRAL DE PROCESSAMENTO (UCP)


Como vimos, o programa constitudo de instrues de mquina que so armazenadas de forma seqencial em clulas sucessivas da memria, juntamente com dados eventualmente necessrios execuo do mesmo. O ciclo de funcionamento realizado pela UCP para executar um programa possui os seguintes passos: - uma instruo lida da memria para dentro da UCP; - a UCP interpreta qual a instruo, decodificando o significado a partir de informaes contidas na prpria instruo. Essa etapa permite identificar se a instruo uma soma, uma movimentao de dados, um desvio de fluxo, etc.; - eventuais dados necessrios execuo da instruo so localizados onde estiverem na memria, e trazidos para dentro da UCP; - a instruo efetivamente executada e os resultados (se houver algum) so guardados no local (posio de memria ou registrador) definido pela prpria instruo; e - a prxima instruo apanhada e o ciclo volta ao primeiro passo. Essas etapas constituem o ciclo de instruo da mquina. O ciclo se repete indefinidamente, at que ocorra uma instruo de parada, um erro, ou o sistema seja desligado.

O fluxo bsico do ciclo de instruo pode ser definido como:

Nesse ciclo, podemos identificar duas atividades principais da UCP: controle e processamento. Na atividade de controle so gerados todos os sinais para sincronizar os diversos componentes em que se divide a UCP, a memria e demais dispositivos do sistema. Na atividade de processamento, a operao matemtica, lgica ou de desvio da instruo efetivamente executada. O processamento a atividade fim do sistema. Processar um dado executar sobre o dado algum tipo de ao que produza um resultado. As principais aes que podem ser executadas sobre um dado so: operaes aritmticas (soma, subtrao, multiplicao, diviso); operaes lgicas (e, ou, ou exclusivo, etc.); movimentao de dados (memria/memria, memria/registradores, registradores/registradores); desvios no fluxo de execuo das instrues; e, operaes de entrada e sada. Dentro da UCP, o dispositivo principal da atividade de processamento a Unidade Aritmtica e Lgica (UAL). Os registradores tambm esto relacionados com essa atividade, j que armazenam os dados que so usados pela UAL. A interligao entre UAL e registradores feita pelo barramento interno da UCP. A UAL um aglomerado de circuitos lgicos e componentes eletrnicos que, integrados, realizam as seguintes operaes (algumas com um outras com dois operadores): soma; subtrao; multiplicao; diviso; E; OU; XOU; complemento; deslocamento direita; deslocamento esquerda; incremento; e, decremento.
Para que os dados possam ser operados pela UAL, eles devem antes ser armazenados nos registradores. Tambm o resultado da operao deve ser armazenado em um registrador, antes que seja enviado memria ou seja usado em uma outra instruo. Para tanto, a UCP fabricada com um determinado nmero de registradores, alguns de propsito geral (para qualquer tipo de dado) outros mais especficos para algum tipo de dado (registros de indexao, por exemplo). Os registradores nada mais so que clulas de memria que ficam dentro da UCP e so implementados com tecnologia que permite tempo de acesso muito rpido. O acumulador (ACC) um registrador especial que, em algumas mquinas, usado pela UAL como elemento de ligao com os demais dispositivos da UCP.

Alm dos registradores de dados, existem registradores que esto diretamente envolvidos com a tarefa de processamento, mas que so necessrios para o carregamento da instruo ou para controlar a seqncia de operao. Esses registradores so: o Contador de instrues

(CI); o Registrador de Instruo (RI); o Registrador de Endereos de Memria (REM); e, o Registrador de Dados de Memria (RDM). O Registrador de Dados de Memria um registrador que armazena temporariamente a informao que est sendo transferida da Memria Principal (MP) para a UCP (em uma operao de leitura) ou da UCP para memria (em uma operao de escrita). Em seguida o dado transferido para outro elemento da UCP, para processamento (no caso da leitura) ou para uma clula da memria (no caso da escrita). O Registrador de Endereos de Memria um registrador que armazena temporariamente o endereo de acesso a uma determinada posio de memria, ao se iniciar uma operao de leitura ou de escrita. Em seguida, o referido endereo encaminhado rea de controle da memria para decodificao e localizao da clula desejada. O Registrador de Instrues tem a funo de armazenar a instruo que acabou de ser carregada e est pronta para ser decodificada e executada. Ao se iniciar o ciclo de instruo, a Unidade de Controle (UC) emite um sinal de controle que acarreta a execuo de um ciclo de leitura para buscar a instruo na memria que, via barramento de dados e RDM, armazenada no RI. O endereo onde a instruo foi buscada dado pelo Contador de Instrues que , portanto, um registrador que contm sempre o endereo da prxima instruo a executar. To logo a instruo esteja carregada no RI, o sistema providencia a modificao do contedo do CI, de forma a que ele passe a armazenar o endereo da prxima instruo na seqncia. Caso a instruo contenha algum desvio de fluxo, o novo endereo ser armazenado no CI aps a decodificao da instruo. Cada instruo uma ordem para que a UCP realize uma determinada operao. Como so muitas instrues, cada uma possui uma identificao prpria e nica. O Decodificador de Instrues o dispositivo que identifica qual a instruo carregada no RI e, partir disso, informa a Unidade de Controle . A Unidade de Controle o dispositivo que d o seqenciamento de toda a operao da UCP. ela que determina quando e qual registrador ou outro dispositivo (UAL, por exemplo), deve receber ou fornecer um dado. Essa seqncia de fluxo de dados dentro da UCP caracterstica para cada uma das instrues e conhecida como microinstruo. A execuo de uma instruo de mquina pode requerer vrias microinstrues de controle dos dispositivos internos da UCP. Ao programa que contm as vrias microinstrues para execuo de uma instruo de mquina, chamamos microprograma. Uma UCP que se utiliza deste recurso uma UCP microprogramada.

O intervalo entre cada um dos passos da seqncia de execuo de uma instruo dado pelo Relgio. Este dispositivo, portanto, apenas fornece uma base de tempo cclica para temporizao das operaes. Cada intervalo desses conhecido como ciclo de relgio ou ciclo de mquina.

UNIDADE DE ENTRADA E SADA


A forma de interligao dos perifricos com o processador a mesma adotada entre a UCP e a memria, ou seja, um barramento. O barramento uma via de sinais eltricos por onde passam dados, endereos e sinais de controle. Esse barramento, chamado barramento do sistema, permite o compartilhamento de informaes entre os diversos componentes do computador, da mesma forma que o barramento interno da UCP permite o trnsito de informaes entre os registradores e demais dispositivos da UCP. Os dispositivos de entrada e sada possuem a caracterstica de realizarem o mesmo tipo de funo (comunicao homem-mquina) usando, entretanto, tecnologia bem diferente. Por esse motivo existe um subsistema, chamado subsistema de entrada e sada, que cuida de enviar e receber informaes ao mundo exterior, convertendo as informaes para uma forma inteligvel para o homem (no caso da sada), ou para a mquina (no caso da entrada). Cada vez que uma tecla do teclado pressionada, por exemplo, o subsistema converte o smbolo da letra pressionada em um conjunto de sinais digitais (0 ou 1) representados por sinais eltricos de 0 ou 5 Volts, que so os sinais com que a mquina sabe lidar. Os dispositivos de E/S podem ser divididos em trs categorias: os que recebem ou transmitem informaes diretamente para o ser humano (teclado, vdeo, impressora, etc.); os que recebem ou transmitem informaes inteligveis apenas pela mquina (discos magnticos, discos ticos, sensores); e, os que recebem e transmitem de / para dispositivos remotos (modems, regeneradores de sinais). Quanto forma de se estabelecer a ligao, esta pode ser serial (a informao flui bit a bit) ou paralela (vrios bits so transmitidos simultaneamente). A ligao perifrico / UCP, alm dos dados em si, tambm compreende alguns sinais de controle, cujas caractersticas tambm variam grandemente de um para outro perifrico. A seguir vamos abordar alguns dos mais representativos perifricos de E/S: - Teclado - este perifrico pertence classe dos que se comunicam diretamente com o homem. Cada tecla, ao ser pressionada, tem seu

significado eltrico interpretado e gerado um cdigo equivalente que, ento, transmitido UCP. Existem trs tipos bsicos de teclados: os exclusivamente numricos (calculadoras, por exemplo); os dedicados (painis de controle industriais); e, os de propsito geral ( que possuem teclas numricas, alfabticas, smbolos gerais, teclas de uso especfico, etc.). As tecnologias mais utilizadas so: contato mecnico; teclas capacitivas; e, teclas de efeito Hall. A grande maioria dos teclados usa a tecnologia capacitiva. A seqncia resumida de operao de um teclado a seguinte: um processador interno ao teclado realiza constantemente uma varredura para ver se alguma tecla foi apertada; um debouncing realizado para verificar se realmente a tecla foi pressionada; identificada a tecla pressionada e gerado um cdigo correspondente; um sinal de interrupo gerado para a UCP de forma a informar o evento (pressionamento de uma tecla); aps sinais de controle de interrupo terem sidos trocados entre a UCP e o processador de teclado, o cdigo da tecla efetivamente enviado, de forma serial, e recebido por um programa especial residente no computador ( a BIOS do sistema) ; e, aps ter sido verificada eventual combinao de teclas pela BIOS, o cdigo ASCII correspondente enviado regio de memria apropriada; - Monitor de vdeo - o dispositivo que permite a visualizao de smbolos, textos e imagens de uma forma geral. Os vdeos podem ser classificados de acordo com sua tecnologia de apresentao de imagem ou forma como os bits so passados para o perifrico. Quanto s tecnologias, as principais so: CRT (Cathode Ray Tube) - tubos de raios catdicos; LED (Light Emitting Diodes) - diodos emissores de luz; LCD (Liquid Crystal Display) - vdeos de cristal lquido; FDP (Flat Panel Display) - vdeos com painel estreito. Esta ltima tem vrias modalidades como de gs plasma e eletroluminescentes.. - Impressora - Este dispositivo permite o registro de textos e imagens em papel. Impressoras so geralmente classificadas quanto ao volume de impresso por unidade de tempo e quanto tecnologia de impresso utilizada. O volume de impresso expresso em caracteres por segundo (cps), linhas por minuto (lpm) ou pginas por minuto (ppm), dependendo da tecnologia empregada. As tecnologias empregadas so: de impacto (matricial, de margarida ou de esfera); de jato de tinta; a laser; de cera aquecida; e, por sublimao de tinta. - Mouse - um dispositivo utilizado como meio de ligao visual entre o usurio e o sistema. Sua funo , basicamente , servir de apontador de posies em uma tela grfica. O dispositivo possui um sensor (mecnico, tico ou tico-mecnico) que permite a deteco de movimentos sobre uma superfcie plana, alm de dois ou trs botes de comando. Cada movimento do dispositivo acompanhado pelo deslocamento na tela de um cone (smbolo) de forma solidria e proporcional direo e sentido de deslocamento do mouse. Assim, o usurio escolhe o que quer apontar na

tela e seleciona, atravs dos botes, as opes desejadas. Em geral o mouse tem uma resoluo de 400 pontos por polegada, o que significa que so gerados 400 sinais de movimentao ao longo do curso de uma polegada; e, - Scanner - Este dispositivo pode ser considerado a viso do computador. Ele converte uma imagem impressa em pontos que so armazenados na memria para posterior reproduo ou manipulao. O funcionamento engloba o uso de uma fonte de luz, espelhos, lentes e um dispositivo produtor dos pontos que constituem a imagem (CCD - Charge Coupled Device), composto de muitas (tipicamente 2500) clulas fotossensitivas. Nos scanners coloridos o processo de exposio luz repetido trs vezes, cada uma delas usando um filtro de cor diferente para as trs cores bsicas (vermelho, verde e azul), conseguindo assim registro do reflexo de cada componente fundamental de cor. Tipicamente so usados 24 bits por pixel, com um total de 16,8 milhes de cores, o que resulta arquivos bem grandes e demanda grande poder de computao. Alm dos dispositivos de E/S j vistos existem outros como CD-ROM, discos magnticos e fitas que so considerados meios de armazenamento de massa e que sero vistos no prximo item. Entretanto, para todos os dispositivos de E/S existe a necessidade de enviar ou receber dados a partir da UCP. para tanto, da mesma forma que acontece com a comunicao UCP/memria, necessrio que a UCP indique o endereo correspondente ao perifrico desejado, pois h sempre vrios perifricos ligados ao sistema. Existem trs maneiras de efetuar operaes de E/S nos endereos (tambm chamados de portas) dos perifricos: E/S por programa; E/S por interrupo; e, E/S por acesso direto memria (DMA - Direct Memory Access). No caso do acesso por programa, a UCP executa diretamente as instrues de E/S, enviando e recebendo dados da interface de E/S. A UCP envia primeiramente o endereo do dispositivo e e, logo aps, o comando de E/S desejado, que pode ser de leitura, escrita, verificao de erro ou controle do perifrico. A grande desvantagem deste mtodo que a UCP deve manter um loop de espera para execuo das diversas atividades do perifrico, o que provoca desperdcio no uso do tempo de execuo da UCP, que poderia estar executando outras tarefas mais importantes do que a verificao de estado de perifricos.

MEMRIA SECUNDRIA OU AUXILIAR


Para que seja possvel armazenar dados e programas por perodos maiores que aqueles em que a mquina est ligada, necessrio possuir meios de armazenamento no volteis. Para isso existem os dispositivos como discos fitas e CDs. So perifricos de E/S usados como memria secundria ou auxiliar.

O disco magntico rgido (hard disk) uma superfcie circular, fina e coberta por uma camada de material magnetizvel em um ou ambos os lados. A superfcie magnetizvel dividida em reas circulares concntricas, chamadas trilhas, onde so armazenados os bits de informao. O disco gira em torno de seu eixo central e os bits so gravados ou lidos das trilhas por uma cabea de gravao/leitura, transportada por um brao mecnico que se movimenta transversalmente. Todas as trilhas possuem a mesma quantidade de bits, variando somente a densidade de gravao, das trilhas mais externas para as mais internas. Existem tambm unidades compostas por vrias superfcies magnetizveis superpostas, cada uma com seu prprio brao de gravao/leitura. Esse esquema permite diminuir o tempo de acesso em unidades com muita capacidade de armazenamento. O tempo de acesso pode ser dividido em trs componentes: tempo de busca, que o tempo gasto entre a interpretao do endereo pela unidade de controle e a movimentao do brao at a trilha desejada; tempo de latncia, que o perodo decorrido entre a chegada da cabea trilha e a passagem do setor desejado pela cabea; e, tempo de transferncia, que o tempo efetivamente gasto com a transmisso dos sinais eltricos (bits) para o destinatrio. Desses, o tempo de busca o mais significativo e justamente o que pode ser consideravelmente diminudo com o uso de superfcies mltiplas. As unidades de disquetes (floppy disk drivers) so semelhantes aos discos rgidos, diferindo apenas na menor capacidade de armazenamento, velocidade de acesso e tempo de transferncia das informaes. Em compensao o disquete um meio de armazenamento removvel, o que permite o transporte e armazenamento de dados fora do ambiente da mquina. A taxa de transferncia em unidades de disquete da ordem de centenas de Kbytes po r segundo, enquanto que nos discos rgidos da ordem de vrios Mbytes por segundo. A capacidade de armazenamento vai at 2,88 Mbytes, contra at vrios Gbytes nos discos rgidos. O tempo mdio de acesso da ordem de 60 a 100 ms, contra menos de 15ms na tecnologia empregada nos discos rgidos. Os discos ticos tm um princpio de funcionamento, forma de organizao e acesso bastante diferentes dos discos magnticos. O princpio bsico armazenar as informaes (bits) como variaes da reflexo de luz. O disco uma superfcie circular de material altamente reflexivo, organizado em uma nica trilha espiral. Nestes discos no se pode, por programa, escrever informaes, apenas le-las. Por esse motivo, recebem o nome de CD-ROM (Compact Disk - Read Only Memory). O formato de armazenamento em uma nica trilha espiral ideal para o armazenamento de grandes blocos de dados, mas no para leitura de pequenos registros. Isso decorre do maior tempo de localizao de um setor especfico, pois s h uma trilha, ao contrrio dos discos magnticos onde existem vrias trilhas e os setores esto sempre em posies fixas, mais facilmente localizveis. Outro problema que a velocidade varia inversamente ao raio do setor, ao contrrio dos discos magnticos em que a velocidade fixa.

Essa variao de velocidade reduz a taxa da transferncia. Essa diferenas de forma de armazenamento foram projetadas para permitir o mximo de aproveitamento do espao pois, uma vez que a densidade de armazenamento constante, no h desperdcio de espao, ao contrrio do que ocorre sempre nas trilhas mais externas dos discos magnticos. Essa caracterstica, aliada natural maior preciso do feixe de laser, o que permite maior concentrao da informao, fornece a principal vantagem dos discos ticos, que a grande capacidade de armazenamento. Outra vantagem que o CD-ROM menos sensvel poeira e outros agentes externos, alm de menos susceptvel a impactos contra a cabea de leitura, dada distncia muito maior de trabalho entre a cabea e o disco. As desvantagens em relao aos discos magnticos so o tempo de recuperao de informao (tipicamente de 250 a 400 ms contra 12 a 30 ms nos discos magnticos) e o fato de no poderem ser usados como unidades de sada, somente de entrada. Uma soluo paliativa para este ltimo problema o padro WORM (Write Only Read Many) que est surgindo no mercado e que permite que os discos sejam escritos uma vez e, a partir de ento, estejam disponveis somente para leitura como os CDROMs convencionais.

ORGANIZAO DA MEMRIA DOS COMPUTADORES


A memria um dos componentes de um sistema computacional cuja finalidade armazenar informaes de maneira que sejam manipulveis pelo sistema. Este componente apresenta vrias caractersticas, como: velocidade de acesso (leitura/escrita), capacidade de armazenamento e tecnologia de construo. Existem duas operaes possveis de serem efetuadas em uma memria: a escrita, que refere-se ao ato de armazenar informaes; e, a leitura, que refere-se a ao de recuperar desta memria as informaes nela contidas. Em uma memria, a menor unidade enderevel o byte (composto por 8 bits), ou seja, a menor quantidade de memria que podemos tratar (ler/escrever) 1 byte, enquanto o limite mximo de memria que podemos tratar por vez funo da limitao do processador (largura do barramento de dados), e da maneira com que a operao de leitura/escrita est sendo efetuada (por exemplo E/S por DMA), mas sempre sendo mltiplo de 1 byte. Ou seja, a memria serve para guardar/recuperar informaes (na forma de bits), e para isso permite duas operaes: leitura e escrita. Para que uma informao possa ser armazenada em uma memria necessrio que seja definido um endereo determinado de forma unvoca, e

este endereo ir permitir que essa informao possa ser recuperada quando desejado.

HIERARQUIA DE MEMRIA
Em geral em um mesmo computador coexistem diferentes tipos de memria com diferentes tipos de aplicaes. Por exemplo fundamental que as transferncias de informaes internas ao processador central (CPU) sejam realizadas no menor espao de tempo possvel (para no subutiliz-

la). Neste caso a velocidade de transferncia crtica, enquanto a quantidade de informao a ser manipulada mnima. J em outros casos a capacidade de armazenamento pode ser o fator crucial. Essas diferentes caractersticas desejveis, aliadas ao custo (ver figura abaixo) torna invivel a implementao de um computador com um nico tipo de memria. Na realidade, existem muitas memrias em um computador, que se interligam de forma estruturada, constituindo um sistema, que denominamos subsistema de memria. Esse subsistema projetado de modo que seus componentes sejam organizados hierarquicamente, conforme a figura abaixo:

A forma piramidal com base larga simbolizando uma elevada capacidade de armazenamento, tempo de acesso (leitura/escrita) e o custo do tipo de memria em questo. Os principais parmetros para anlise das caractersticas de cada tipo de memria so: Tempo de acesso (leitura/escrita), Capacidade de armazenamento, Volatilidade, e Tecnologia de fabricao.

Tempo de acesso: Indica quanto tempo a memria gasta para colocar uma informao disponvel no barramento de dados aps uma determinada posio ter sido endereada para leitura. Capacidade de armazenamento: Refere-se a quantidade mxima de informao que pode ser guardada em uma memria, a unidade de medida mais comum o byte, embora possam tambm ser utilizadas outras unidades dependendo do tipo de memria, por exemplo: setores (no caso de discos), bits(no caso de registradores), etc. Dependendo do tamanho da memria, isto , da sua capacidade de armazenamento, indicase o valor numrico total de elementos de forma simplificada, atravs da incluso das abreviaes K(quilo), M(mega),G(giga),T(tera), e etc. Volatilidade: As memrias podem ser do tipo voltil ou no voltil. Uma memria do tipo no voltil aquela que retm a informao nela contida mesmo quando sua fonte de alimentao desligada, enquanto que a memria do tipo voltil no capaz de suportar sequer quedas de tenso. Como exemplo de memrias do tipo voltil podemos citar: registradores e as memrias de semicondutores do tipo RAM (Random Access Memory), como exemplo de memrias do tipo no voltil podemos ter: memrias magnticas e ticas como discos e fitas e, as memrias semicondutoras do tipo ROM (Read Only Memory) e EPROM (Erasable Programable Read Only memory) e EEPROM (Eletricaly Erasable PROM). Tecnologia de fabricao: Com a evoluo dos computadores diversas tecnologias vm sendo empregadas na construo de memrias, algumas destas tecnologias j esto obsoletas, enquanto outras ainda no se apresentam disponveis no mercado comercial, como o caso da memria de bolha (buble memory), como tecnologias mais conhecidas utilizadas podemos citar: Memrias semicondutoras, que so dispositivos fabricados com circuitos eletrnicos e baseados em semicondutores, so rpidas e relativamente caras, e as Memrias Magnticas, que so dispositivos eletromecnicos, nestes dispositivos as informaes so armazenadas sob forma de campos magnticos, eles possuem caractersticas magnticas semelhantes as fitas cassete de uso domstico.

REGISTRADORES
Em um sistema de computao, o destino final do contedo de qualquer tipo de memria o processador(CPU). Isto , o objetivo final de cada uma das memrias armazenar informaes destinadas a serem, em algum momento utilizadas pela CPU. Ela responsvel pela execuo das

instrues, pela manipulao dos dados e pela produo dos resultados das operaes. As aes operativas da CPU so realizadas na ALU(Unidade lgica e Aritmtica) e na FPU(Unidade de ponto flutuante). Entretanto, antes que as instrues sejam interpretadas e as unidades da CPU sejam acionadas, o processador necessita buscar as instrues onde elas estiverem armazenadas (memria cache ou principal) e armazen-la em seu prprio interior, em um dispositivo de memria denominado registrador. Em seguida a este armazenamento da instruo, a CPU dever, na maioria das vezes, buscar dados da memria (cache, principal ou mesmo da memria secundria) para serem manipulados pela ALU. Esses dados tambm necessitam ser armazenados em algum local do processador at serem efetivamente utilizados. Os resultados de um processamento tambm precisam (as vezes) ser armazenados temporariamente na CPU, ou para serem novamente manipulados pela ALU por uma outra instruo, ou para serem transferidos para uma memria externa ao processador. Um registrador , portanto, o elemento superior da pirmide de memria, por possuir maior velocidade de transferncia (menor tempo de acesso), menor capacidade de armazenamento e maior custo.

MEMRIA CACHE
Nos computadores mais antigos os registradores eram diretamente ligados a memria principal, na execuo de instrues a CPU acessava diretamente a memria principal pelo menos uma vez para busc-las e transferi-las para um registrador interno ao processador. Considerando-se que atualmente o ciclo de memria bem mais demorado que o perodo de tempo que a CPU gasta para realizar uma operao na ALU, fica evidente que a durao da execuo de um ciclo de instruo bastante afetada pela demora dos ciclos de memria. Na tentativa de melhorar o desempenho dos computadores, os projetistas de CPUs vm obtendo constantemente velocidades cada vez maiores na operao dessas unidades, o que no acontece na mesma proporo com a memria principal. Assim atualmente a diferena de velocidade entre a CPU e a memria principal muito grande. Na busca pelo minimizao dessa diferena foi desenvolvida uma tcnica que consiste na incluso de um dispositivo entre a CPU e a memria principal, denominado memria cache, cuja funo acelerar a velocidade de transferncia entre esses dois dispositivos, e com isso melhorar o desempenho dos computadores.

Para isso, a memria cache fabricada com tecnologia semelhante aquela empregada na CPU, e consequentemente apresenta tempos de acesso compatveis, resultando numa considervel reduo da espera da CPU para receber dados e instrues da cache.

MEMRIA PRINCIPAL
A principal caracterstica dos sistemas computacionais baseados na arquitetura Von Neuman consiste no fato de se encarar um computador como uma mquina de programa armazenado. O fato das instrues, uma aps a outra, serem imediatamente acessadas pela CPU que garante o automatismo do sistema e aumenta a velocidade de execuo dos programas. A CPU pode acessar uma instruo imediatamente aps a outra porque ela se encontram armazenadas internamente ao computador. Esta a importncia da memria. A memria especificada para armazenar os programas (e seus dados) a serem executados a memria que chamamos de memria principal ou real. A memria principal a memria bsica de um sistema de computao. o dispositivo onde os programas (e seus dados) que sero executados so armazenados para que a CPU v buscando instruo por instruo. A memria principal o depsito de trabalho da CPU, isto , a CPU e a memria principal trabalham ntima e diretamente ligadas na execuo dos programas. As instrues e os dados dos programas ficam armazenados na memria principal e a CPU vai buscando-os uma a um, medida que a execuo vai se desenrolando. Os programas so organizados de modo que os comandos so descritos seqencialmente e o armazenamento das instrues se faz da mesma maneira. As memrias de semicondutores so dispositivos volteis de estado slido e possuem vrias caractersticas interessantes que as tornam extremamente vantajosas para constiturem-se na base da memria principal, por exemplo: - So memrias de acesso aleatrio(RAM- Random Acces Memory); - Ocupam relativamente pouco espao; - Possuem tempo de acesso pequeno. Essencialmente, o espao armazenado da memria principal um grupo de N clulas, cada uma podendo armazenar um grupo de M bits. Esta a memria de trabalho da CPU e, portanto, deve permitir o armazenamento de programas e dados (operao de escrita) e tambm a leitura destas mesmas instrues e dados. Chama-se essa caracterstica de

memria do tipo leitura e escrita. Esse tipo de memria tem uma particularidade desvantajosa, que o fato de ser voltil. No entanto, todo sistema precisa, para iniciar seu funcionamento regular, que um grupo de instrues esteja permanentemente armazenado na memria principal de modo que, ao ligarmos o computador, este programa inicie seu funcionamento automaticamente o funcionamento do sistema. Essas instrues vm junto com o hardware e no devem sofrer um apagamento acidental se, inadvertidamente, um programa do usurio tentar gravar por cima delas. Elas devem estar, portanto, em tipo de RAM que s permita leitura por parte dos programas comuns. A gravao(escrita) nelas deve ser realizada eventualmente e no por processos comuns. Essas memrias chamam-se memria somente de leitura (ROM- Read Only Memory).

MEMRIA SECUNDRIA
Em geral o tipo de memria que tem maior capacidade de armazenamento que os outros tipos anteriormente descritos, menor custo por byte armazenado e tempo de acesso superior. Conhecida como memria secundria ou memria auxiliar, ou ainda memria de massa, tem por objetivo garantir um armazenamento mais permanente aos programas e estruturas de dados, razo pela qual deve possuir maior capacidade de armazenamento que a memria principal. A memria secundria de um computador pode ser constituda por diferentes tipos de dispositivos, alguns diretamente ligados ao sistema por acesso imediato, e outros que podem ser conectados quando desejado. A maior caracterstica desse tipo de memria a sua no volatilidade.

EXERCCIOS
1 - Quais so os componentes bsicos de um computador? 2 - Descreva as funes de uma Unidade Central de Processamento. 3 - Para que servem os dispositivos de entrada e sada de um computador? 4 - Qual a diferena entre linguagem de alto nvel e linguagem de mquina? 5 - Quais as funes da Unidade Lgica e aritmtica? 6 - Para que servem os registradores?

7 - Qual o local onde armazenada a instruo que ser decodificada pela UCP? 8 - Como so gerados os endereos de onde so carregadas as instrues? 9 - O que microprograma? 10 - Para que serve uma interface de Entrada e Sada (E/S)? 11 - Quais os perifricos de E/S mais utilizados? 12 - O que tempo de busca em um acesso de disco magntico? 13 - Quais as etapas de funcionamento de um teclado? 14 - Como feita a E/S por interrupo? 15 - O que acesso direto memria? 16 - Quais as tecnologias de fabricao de teclados conhecidas? 17 - Quais as tecnologias de vdeo mais usadas? 18 - O que memria auxiliar? 19 - Por que motivo os discos ticos so mais lentos que os magnticos? 20 - Para que serve um scanner? 21 - O que voc entende por acesso memria? 22 - Quais as operaes possveis de serem realizadas sobre uma memria? 23 - O que uma memria de semicondutor? 24 - Explique a importncia da memria cache. 25 - Para que serve a memria secundria? cite alguns exemplos desse tipo de memria. 26 - Quantos bits de memria tem um computador que possui 2 K endereos de memria com 8 bits cada? 27 - Quantos bits deve ter o REM de uma CPU para que possa enderear uma memria de 32K endereos? 28 - Quantos bits deve ter o RDM de um computador para que possa ler todo o contedo de um endereo de memria a cada leitura da memria, sabendo que a memria tem um total de 16K bits e 2K endereos?

UNIDADE IV- SISTEMAS COMPUTACIONAIS

O QUE UM SISTEMA OPERACIONAL.


Sistema Operacional um programa que atua como um intermedirio entre o usurio (seja ele um usurio "real" ou aplicativo) e o hardware do computador. O Sistema Operacional cria uma camada de abstrao entre o usurio e o hardware facilitando a vida do usurio e tambm possui rotinas (bibliotecas) que gerencia todo o seu hardware. Um Sistema Operacional pode ser definido como um gerenciador dos recursos que compem o computador (processador, memria, I/O, arquivos, etc.). Os problemas centrais que o Sistema Operacional deve resolver so: o compartilhamento ordenado, a proteo dos recursos (do kernel) a serem usados pelas aplicaes do usurio e o inter-faceamento entre este e a mquina.

O QUE UM KERNEL.
O Kernel o software que fornece servios bsicos para todas as outras partes de um SO. De forma mais detalhada, o Ncleo um conjunto de rotinas que oferecem servios aos usurios do sistema e suas aplicaes, bem como a outras rotinas do prprio SO. Um ncleo pode ser contrastado com um interpretador de comandos, conhecido como shell nos sistemas UNIX, o qual no parte do SO mas que desempenha um relevante papel interagindo com comandos do usurio. Dentre as principais funes do Ncleo esto: - tratamento de interrupes; gerenciamento de processos (criao e destruio de processos; sincronizao e comunicao entre processos, ...); - gerenciamento de memria; - gerenciamento do sistema de arquivos; - operaes de E/S. Os servios do Ncleo so solicitados por outras partes do SO ou por aplicaes de usurios, por meio de um conjunto especificado de interfaces de programa (rotinas) conhecidas como Chamadas ao Sistema (System Calls). Sem o Kernel a cada programa novo que se criasse seria necessrio que o programador se preocupasse em escrever as funes de entrada/sada, de impresso, entre outras, em baixo nvel, causando uma duplicao de trabalho e uma perda enorme de tempo. Como o kernel j fornece a interface para que os programas possam acessar os recursos do sistema

de um nvel mais alto e de forma transparente, fica resolvido o problema da duplicao do trabalho.Quando h perifricos ou elementos de um sistema computacional que o kernel no cobre, ento se faz necessrio escrever a interface para eles, os chamados drivers. Geralmente, os kernels oferecem uma funo para se executar chamadas de sistema, como por exemplo a ioctl() do Linux. Valendo-se dessa funo, podem-se escrever rotinas para qualquer perifrico. As responsabilidades do kernel consistem, genericamente, em abstrair interfaces de hardware diversas e gerir os recursos do computador, permitindo que os programas vulgares utilizem estes recursos concorrentemente de forma segura e padronizada, fornecendo a estes uma interface unificada para os diversos componentes do sistema computacional. O kernel deve tambm gerir a entrada e sada, de modo a assegurar que apenas um programa acede a determinado dispositivo a dada altura. Finalmente, o kernel deve disponibilizar aos programas ordinrios, executados em espao do usurio, uma interface uniforme para aceder aos seus servios.

IMPORTNCIA

DO

KERNEL

NO

GERENCIAMENTO

ADMINISTRAO DO S.O.
Imagine o Kernel como o crebro e o corao de um sistema operacional. Kernel de um sistema operacional entendido como o ncleo deste ou, numa traduo literal, cerne. Ele sozinho no serve para nada, mas sem ele o resto do corpo tambm no vai muito longe.

CHAMADAS DE SISTEMAS
As chamadas ao Sistemas so um mecanismo que tem por objetivo proteger o Ncleo do sistema e de acessar os seus servios. Quando uma aplicao ou um programa deseja utilizar algum servio do Sistema Operacional, realiza a chamada por meio de uma Rotina( procedimento de biblioteca) e essa rotina acessa a System Calls requerida. Para melhor entendermos, vamos usar de exemplo a System Calls Read( j que quase todos os livros de S.O usam esse exemplo.):para podermos acessar a System Calls Read necessrio fazer uma chamada atravs da rotina da biblioteca, que por ocasio tem o mesmo nome Read.E quem faz que retorna o dado(objeto, instruo)

essa chamada a biblioteca o programa ou o usurio. Que no caso se o programa escrito em C ficaria assim: contador = read (arquivo,buffer,nbytes) A System Calls aps receber a chamada da biblioteca, vai no lugar alocado e retorna o resultado de nbytes do arquivo ao usurio. Para melhor proteo do ncleo do S.O, existe dois nveis de acesso: um que pode entrar e no Kernel e interagir com ele, tem o poder de comprometer o sistema pois atuam diretamente no hardware. Mas s o S.O, por segurana, tem acesso a esse modo e acesso total de instruo do processador(modo de acesso privilegiado), e outro no privilegiado que no fornece nenhum tipo de perigo pois tem acesso a um nmero reduzido de instruo(modo usurio). Existe tambm um interpretador de comando que extremamente til chamado de Shell.Este programa uma interface primria entre o usurio e o S.O, ele e o ncleo so programas separados que se comunicam atravs de um conjunto de System Calls . Nele o usurio digita um comando e o Shell comunica-se com o ncleo e pede que crie um processo filho. O processo filho executar o comando atravs de uma System Calls . O Shell esperar que o processo filho termine para que possa novamente voltar a estar ativo.Quando o processo filho termina ele atravs de outra System Calls avisa o ncleo, que por sua vez avisa o Shell pra que volte a se ativar. importante verificar que o Shell um programa comum de usurio que no necessita de muitas capacidades para que possa interagir com o programa. Este programa Shell no vem nativo no S.O

PROCESSOS
Processo o conceito central em qualquer sistema operacional, uma abstrao de um programa em execuo, ou seja, o programa o cdigo e o processo a execuo. Todos os computadores modernos podem fazer varias coisas ao mesmo tempo, em quanto executa um programa do usurio, ele pode estar lendo os dados de um disco e tambm enviando algo para ser impresso. Na realidade ele esta executando vrios processos, saltando um a um to rpido que nos da a falsa impresso que esto sendo

executados todos ao mesmo tempo, o que chamamos de processos seqenciais. Quando o sistema operacional carregado ele aciona vrios processos, alguns em primeiro plano, que so os que interagem com o usurio, e outros em segundo plano, que so aqueles que esto prontos para serem usados a qualquer momento, como por exemplo, um programa para aceitar mensagens eletrnicas, ele fica inativo a maior parte do dia, mais acionado ao momento que chega uma mensagem. Novos processos so criados de acordo com a necessidade do sistema. O processo em execuo emitir chamadas ao sistema para criar novos processos para ajudar em seu trabalho, esses processos criados chamamos de processos filhos. Na maioria das vezes o processo termina porque j fez seu trabalho, contudo existem algumas condies como: sada normal (voluntria), sada por erro (voluntria), erro fatal (involuntrio) e cancelamento por um outro processo (involuntrio). Em alguns sistemas existe uma hierarquia de processos, quando o processo pai cria um processo filho e esse cria outros processos eles ficam de certa maneira associados, isso observado no Unix, j o Windows no apresenta nenhum conceito de hierarquia de processos, todos so iguais, a nica diferena que o pai quando criado dado um identificador especial (chamado handle). Existem trs estados dos processos, ele pode estar em execuo (usando realmente a CPU naquele instante), pronto (executvel; temporariamente parado para dar lugar a outro processo), bloqueado (incapaz de executar enquanto um evento externo no ocorrer). Os dois primeiros processos so similares j que eles vo executar, o segundo s que aguarda uma CPU disponvel pra ele, j o terceiro diferente dos demais, pois o processo no pode executar mesmo que a CPU no tenha nada pra fazer.

THREADS
Um processo tem duas partes, ativa (fluxo de controle) e passiva (espao de endereamento), um thread consiste somente do fluxo de controle, chamado tambm de processo leve ou diet. muito mais fcil e rpido criar threads que processos, muitas vezes os processos usam dados

compartilhados, e usar vrios threads no mesmo espao de endereamento mais eficiente e mais rpido. Sendo uma linha de execuo a thread pode dividir a si mesma em duas ou mais tarefas que podem ser executadas simultaneamente. O suporte tcnico fornecido pelo prprio sistema operacional (SO), no caso da Kernel-Level Thread (KLT), ou implementada atravs de uma biblioteca de uma determinada linguagem, no caso da User-Level Thread (ULT). Uma thread permite que o usurio de programa, por exemplo, utilize uma funcionalidade do ambiente enquanto outras threads realizam outros clculos e operaes. Os sistemas que suportam apenas uma nica thread de execuo so chamados de monothread e os sistemas que suportam mltiplas threads so chamados de multithread. Para a maioria dos casos as threads no so criadas e executadas eternamente, depois de terminado seu trabalho, a thread termina, e as threads filho tambm terminam, j que as suas tarefas atribudas se completaram. Isso importante porque os filhos compartilham recursos com o pai, e se o pai termina os filhos no tem sua funcionalidade completa j que utilizam algumas variveis do pai.

MEMRIA
Dois mtodos gerais de gerenciamento de memria podem ser usados, dependendo (em parte) dos recursos do hardware disponvel, a estratgia mais simples denominada troca de processos, consiste em trazer totalmente cada processo para a memria, executa-lo durante algum certo tempo, depois devolve-lo ao disco. Outra estratgia seria a memria virtual, que permite que programas possam ser executados mesmo que estejam apenas parcialmente carregados na memria principal. Memria virtual uma extenso da memria Ram, a juno da memria principal com a secundaria, quanto menos memria tiver o computador mais ele necessitara da virtual. A idia bsica por traz desse conceito que o tamanho total do programa, ou seja, seu cdigo mais seus dados e a pilha, podem exceder na quantidade de memria fsica disponvel para ele. O sistema operacional mantm as partes ativas do programa na memria e o restante no disco. Como por exemplo, um programa de 16MB que pode

ser executado com apenas 4MB, mantendo os 4MB ativo na memria a cada instante, com partes do programa sendo dinamicamente carregadas na memria ou removidas dela de acordo com a necessidade. A memria virtual tambm pedaos e possvel partes em de um sistema com

multiprogramao,

com

diferentes

programas

simultaneamente na memria. Se um programa estiver esperando por outra parte de si prprio ser carregada na memria, ele estar conseqentemente esperando por E/S, e no estar apto a ser executado, de modo que a CPU poder ser entregue a outro processo.

DISPOSITIVOS DE E/S
Uma das principais funes do sistema operacional gerenciar os dispositivos de entrada e sada (E/S), cuja transferncia de dados entre o mundo externo e a memria possibilitada atravs do uso desses dispositivos. Eles so conectados ao conjunto memria e processador por portas de E/S de dados, atravs das quais ocorre a transferncia. Basicamente os dispositivos de E/S podem ser divididos em duas categorias: Dispositivos de blocos a transferncia de dados executada usando-se o mtodo de acesso direto memria (DMA). O hardware deve estar equipado com uma unidade de controle prpria, que ser responsvel por coordenar a transferncia dos dados entre posies especficas da memria e a porta de E/S de dados. Dispositivos de caractere envia ou recebe um fluxo de caracteres. Para cada palavra lida, por exemplo, necessrio que seja executada pelo processador, uma instruo de leitura da porta e outra destinada a fazer com que o processador armazene a palavra na memria Um dispositivo conectado ao computador atravs de um componente de hardware denominado interface. Essa por sua vez interconectada aos barramentos internos do comutador. Para cuidar das diversidades de operaes de cada perifrico, as interfaces empregam no seu projeto um outro componente, o controlador, ou seja, um

processador projetado especificamente para realizar uma funo, como por exemplo, controlar um disco rgido. A funo bsica de um controlador implementar um conjunto de comandos para o seu dispositivo. O controlador vai traduzir cada ordem colocada no registrador de comando em uma seqncia especfica de acionamentos eletrnicos, eltricos e mecnicos que iro realizar a operao solicitada. Mas cada tipo de perifrico necessita de um controlador diferente. Os dispositivos de entrada permitem ao usurio do computador introduzir dados, comandos e programas na CPU. O dispositivo mais comum o teclado, utilizado na interao direta dos usurios com o computador. O princpio de operao do teclado simples: gerar um smbolo para cada tecla pressionada. Ele pode ser visto com uma matriz de x linhas e Y colunas nas quais entram em contato quando uma tecla pressionada. O teclado identifica a linha e a coluna associadas a essa tecla e gera um cdigo denominado scan code (cdigo de varredura) o qual colocado no registrador de dados da interface do teclado. Outros dispositivos de entrada so as canetas ticas, que transmitem informaes grficas da mesa digitalizadora at o computador. O joystick o mouse, que converte o movimento fsico em movimento dentro de uma tela de computador. J os dispositivos de sada permitem ao usurio ver o resultados dos clculos ou das manipulaes dos dados do computador, fazendo uma comunicao no sentido do computador para o usurio. O monitor um dos dispositivos de sada de um computador que serve de interface ao usurio, na medida em que permite a visualizao interao dos dados disponveis. A impressora um perifrico que, quando conectado a um computador ou uma rede tem a funo de dispositivo de sada imprimindo textos grficos ou qualquer outro resultado de uma aplicao.
A interao entre a CPU e a interface (controlador), para realizar operaes de E/S, pode acontecer de trs maneiras diferentes: E/S programada, via interrupes e acesso direto memria (DMA).

PARTICULARIDADES DO GERENCIAMENTO DOS SISTEMAS WINDOWS 2000 E LINUX. DIFERENAS BSICAS


O linux deriva de um sistema chamado Minix, que por sua vez derivado do Unix, por isso pode-se dizer que o Linux um Unix mais incrementado, e seus mtodos de gerenciamento do sistema so muito parecidos, cerca de 80% de cerca das 150 chamadas ao sistema do Linux so copias idnticas de alguma verso do Unix. Pelo Linux ser chamado de open sourse e de ser gratuito, existem varias empresas distribuindo muitas verses do Linux modificado para atender certas necessidades, diferentemente do Windows que distribudo somente pela Microsoft, apesar de existirem varias verses, essas so mais padronizadas pelo ano ou modelo, como Windows 98 ou Windows XP, apesar da Microsoft recentemente lanar varias verses de seu novo sistema operacional, o Windows Vista, para atender necessidades de diferentes usurios (pode se dizer que a Microsoft tentou copiar isso do Linux), praticamente o mesmo sistema operacional mas as verses variam pela funo do preo X recursos. Outra diferena entre os dois tipos de sistema sua complexidade, o Linux pode ter em media cerca de 700 mil linhas em seu cdigo fonte, enquanto a exemplo do Windows 2000 tem mais de 29 milhes dessas linhas, isso se deve muito pela sua interface sofisticada, seus recursos de compatibilidade nativa com muitos hardwares e de suas opes de regionalidade, isso torna o Windows um sistema operacional muito complexo, diferente do Linux que prima pela simplicidade de sua interface por linhas de comando. Cada um desses sistemas operacionais tem suas propostas e

particularidades, nesse capitulo vamos procurar entender como cada um

realiza as operaes de gerenciamento de processos, da memria e dos dispositivos de I/O (E/S).

CONCLUSO: ENTENDENDO E UTILIZANDO AS MELHORES PRATICAS.


Esse trabalho foi realizado para que possamos compreender um pouco desse universo que o gerenciamento de um sistema operacional, e a partir desse conhecimento entender o porque da utilizao de diferentes sistemas operacionais para diferentes situaes e necessidades. Com esses conhecimentos fica mais fcil entender porque o Linux preterido pelas grandes empresas para gerenciar seus servidores, pois ele um sistema mais simples e que isso o torna mais estvel, mais gerencivel, confivel e que um usurio mais avanado consegue entender seus processos e customiza-los atendendo s necessidades de cada situao. Tambm fcil entender porque sua comunidade cresce mundialmente por entusiastas em T.I., por ter um cdigo fonte menor ele de mais fcil compreenso por estudantes e pra quem est comeando a se aventurar na programao de S.O., por ser um software livre, seu cdigo fonte pode ser copiado e modificado depois distribudo, sem os riscos de sofrer penas legais. J o Windows domina quando o assunto usurios mais casuais, com sua interface bem amigvel e intuitiva conquistou milhes de usurios com facilidades como o plug and play, mas que para isso paga um alto preo por essas qualidades, pois trabalha com o kernel muito complexo e em virtude disso muitas vezes instvel, propicio a bugs, sendo alvo de muitas criticas e comentrios sarcsticos de usurios. Sabendo da proposta de cada tipo de S.O. que poderemos indicar corretamente o sistema para atender a necessidade de trabalhos futuros.

UNIDADE VI- ANTIVRUS

O que e como funciona um antivrus?


Antivrus um software responsvel pela deteco, desinfeco e remoo de pragas digitais como vrus, trojans (cavalos de tria), worms e qualquer outro tipo de cdigo malicioso, no se limitando somente aos vrus como o nome sugere. Alguns antivrus tambm removem adwares e spywares, tarefa antes reservada apenas aos antispywares. O antivrus funciona com um banco de dados chamado de lista de definio. Essa lista contm informaes para que o antivrus consiga identificar quais arquivos so bons e quais so maliciosos. Em outras palavras, para que ele consiga detectar um vrus, necessrio que esse vrus esteja na lista definio. Esse o motivo pelo qual os antivrus requerem atualizao constante: para detectar os vrus mais recentes, a lista de definio precisa ser a mais nova possvel. As companhias antivrus capturam os vrus que esto circulando na rede e tambm recebem exemplares de seus usurios para atualizar a sua lista de definio. Existem algumas tcnicas, conhecidas genericamente pelo termo de heurstica que analisa a estrutura de um arquivo e, algumas vezes, tambm o seu funcionamento. Estas tcnicas permitem que um antivrus detecte um vrus que ainda no est presente em sua lista de definio.

Onde posso obter um antivrus?


Algumas lojas de informtica vendem softwares antivrus, mas voc tambm pode baix-los pela web para test-los antes de compr-los. Outros antivrus tambm esto disponveis gratuitamente (freeware), o que lhe permite baix-los e us-los no seu computador sem precisar gastar dinheiro.

Devo confiar apenas em um antivrus?


No, um nico antivrus no capaz de detectar 100% das pragas existentes. Esse problema, no entanto, no deve ser resolvido instalando-se outro antivrus, pois isto no ir dobrar a capacidade de deteco, mas duplicar a quantidade de falsos positivos, erros, conflitos e causar queda no desempenho. Existem outras medidas de segurana que voc pode tomar para aumentar a proteo da sua mquina, mas apenas um antivrus o suficiente para a camada de proteo de cdigos maliciosos.

Qual o melhor antivrus?


No existe um. Cada software antivrus possui seus pontos fracos e fortes. Os antivrus mais utilizados sempre estaro em uma desvantagem em relao aos softwares menos conhecidos, pois criadores de vrus sempre tentam testar suas criaes contra os antivrus mais conhecidos para ter certeza de que estes no as detectem. Desta forma, se todos utilizarem um mesmo antivrus por ele ser melhor, logo ele se tornar o pior devido ao contra-ataque dos programadores de vrus. A sugesto que voc escolha um antivrus que voc gosta, seja por ser fcil de usar, rpido ou mais avanado. A diversidade causada pelas diferentes escolhas aumenta a segurana de todos.

O que a Quarentena?
A Quarentena uma pasta especial onde o antivrus guarda os arquivos maliciosos que no puderam ser desinfectados. Cavalos de tria e worms geralmente no infectam arquivos, isto , no vivem como parasitas e portanto no podem ser desinfectados. Como o antivrus no consegue determinar isso, ele os move para a Quarentena, onde os cdigos maliciosos so desativados. O objetivo disso possibilitar a recuperao dos arquivos, caso os mesmos precisem ser usados para a recuperao de dados. A Quarentena tambm til no caso de um erro grave com falsos positivos, pois todos os arquivos ali gravados podem ser recuprados, caso o usurio assim decida. Em qualquer outro caso, os arquivos presentes na Quarententa podem ser seguramente removidos para liberar espao em disco.

O que um falso positivo?


D-se o nome de falso positivo a um alarme falso gerado pelo antivrus, isto , quando um erro na lista de definio faz com que o programa marque arquivos limpos e seguros como infectados. Falsos positivos so razoavelmente comuns, mas geralmente ocorrem apenas com arquivos obscuros e portanto afetam apenas poucos usurios. Em raros casos, arquivos de programas conhecidos e populares so detectados como vrus de forma incorreta, o que pode requerir que o programa seja reinstalado. Em caso de falsos positivos, a companhia antivrus deve ser avisada para que a mesma verifique a presena de um falso positivo e corrija o problema na prxima atualizao da lista de definio, caso o falso positivo seja confirmado.

Meu antivrus tem um recurso para proteo de rede. Devo ativ-lo?


Se voc tiver um firewall, no. Ele ir apenas atrapalhar o funcionamento do firewall. Caso voc no tenha um firewall e no tenha a inteno de instalar um, o recurso de proteo de rede pode ser til como proteo bsica da rede. Infelizmente, esses recursos costumam avisar freqentemente sobre ataques que no seriam capazes de infectar o seu computador, portanto ignore caso seu antivrus comece a avisar sobre invaso logo aps voc ativar essa funcionalidade.

Sou usurio de Linux ou outra plataforma no-Windows. Devo usar antivrus?


Atualmente, no existem vrus suficientes para a plataforma Linux e outros para justificar a presena de um antivrus. Ainda existem relatos de usurios infectados, portanto isso no significa que voc pode ignorar todas as regras de bom senso e segurana.

possvel ficar seguro sem nenhum antivrus?


Sim. O antivrus apenas responsvel por uma camada de proteo: a verificao de cdigo malicioso em arquivos do computador. Caso o computador no seja exposto a arquivos maliciosos, o antivrus no ser necessrio. Para isso necessrio um extremo cuidado com cada arquivo que aberto na mquina. Somente usurios de Windows muito avanados sero capazes de manter um computador seguro sem um antivrus.

Anti-Spyware O que um anti-spyware? Qual a diferena de um antivrus para um anti-spyware?


Um anti-spyware um software de segurana que tem o objetivo de detectar e remover adwares e spywares. A principal diferena de um anti-spyware de um antivrus a classe de programas que eles removem. Adwares e spywares so consideradas reas cinza: nem sempre fcil determinar o que um adware e um spyware. Adwares so desenvolvidos por empresas de publicidade que geram milhes de lucro e que j processaram empresas que fabricam anti-spyware por removerem seus softwares das mquinas dos usurios. Muitos antivrus j incorporam deteco de spyware e adware, mas um anti-spyware especfico ainda faz parte da programao de segurana da maioria dos usurios.

Devo confiar em apenas um anti-spyware?


Geralmente um anti-spyware suficiente para detectar a maioria das pragas. A remoo que mais delicada a maioria dos softwares ineficiente, o que faz com que muitos instalem vrios softwares para tentar remover algumas pragas. Tudo

depende, portanto, das suas necessidades. Atualmente, muitos adwares e spywares podem ser removidos utilizando o Adicionar/Remover Programas, no Painel de Controle do Windows, e os que no podem ser removidos dessa forma so detectados pelo antivrus, o que significa que o antivrus j serve como um segundo anti-spyware.

O que so tracking cookies? E listas MRU?


Muitos anti-spywares detectam tracking cookies e listas MRU toda vez que for feito um exame no computador. Cookies (biscoitos) so pequenos arquivos inofensivos armazenados pelo seu navegador web. Eles so utilizados por sistemas de publicidade na web para rastrear os cliques que voc d em anncios, de modo que a agncia publicitria consiga determinar seus interesses e oferecer anncios que tenham mais chance de convenclo a clicar. Como muitos consideram esse tipo de atividade uma invaso privacidade, anti-spyware os detectam. Mesmo assim, isso considerado uma atividade comum no ramo da publicidade na web e por isso que o seu anti-spyware sempre detectar tracking cookies toda vez que voc executar um exame, pois basta visitar uma pgina na web que carregue um anncio para que um cookie seja criado. Listas MRU (Most Recently Used) so as listas de arquivos utilizados mais recentemente no seu computador, como a lista de Documentos no Menu Iniciar e a Lista de Arquivos Recentes do Windows Media Player. So completamente inofensivas. Toda vez que voc abrir um arquivo, ele se tornar o arquivo mais recente aberto e, sendo assim, j haver uma lista de arquivos mais recentes para que o antispyware detecte. No necessrio remov-las, a no ser que voc no quer que algum saiba quais os ltimos arquivos que voc acessou.

Compresso de dados
A compresso de dados o ato de reduzir o espao ocupado por dados num determinado dispositivo. Essa operao realizada atravs de diversos algoritmos de compresso, reduzindo a quantidade de bits para representar um dado, sendo esse dado uma imagem, um texto, ou um arquivo (ficheiro) qualquer. correto Comprimir dados destina-se tambm a retirar a redundncia, baseando-se que muitos dados contm informaes redundantes que podem ou precisam ser eliminadas de alguma forma. Essa forma atravs de uma regra, chamada de cdigo ou protocolo, que, quando seguida, elimina os bits redundantes de informaes, de modo a diminuir seu tamanho nos ficheiros. Por exemplo, a sequncia "AAAAAA" que ocupa 6 bytes, poderia ser representada pela sequncia "6A", que ocupa 2 bytes, economizando 67% de espao. Alm da eliminao da redundncia, os dados so comprimidos pelos mais diversos motivos. Entre os mais conhecidos esto economizar espao em dispositivos de armazenamento, como discos rgidos, ou ganhar desempenho (diminuir tempo) em transmisses. Embora possam parecer sinnimos, compresso e compactao de dados so processos distintos. A compresso, como visto, reduz a quantidade de bits para representar algum

dado, enquanto a compactao tem a funo de unir dados que no estejam unidos. Um exemplo clssico de compactao de dados a desfragmentao de discos.

O QUE FIREWALL?
O Firewall (parede de fogo, em Ingls) em essncia um bloqueador de conexes entrantes. Ou seja, ele por padro impede qualquer tipo de conexo entrante via portas TCP e UDP, e pode tambm restringir ou at barrar todas as solicitaes ICMP (o exemplo mais conhecido de requisio ICMP a de ping). Se seu micro no atua como servidor de absolutamente nada, ento no h o menor motivo para permitir estes tipos de conexes. Porm, em certos casos, necessrio abrir execes - se o firewall bloquear as portas 139 (NetBIOS) e 445 (protocolo de rede MS), por exemplo, nenhum micro de sua rede interna conseguir ver os arquivos e impressoras de sua estao. Ao criar excees, voc pode definir o escopo delas, de forma a definir exatamente quem pode acessar as portas de seu micro. Um caso real: no meu servio, onde h um servidor Conectiva Linux distribuindo web, impresso e arquivos para uma rede interna, e que visvel ao mundo todo (internet), as excees esto da seguinte forma:

Web (80): todo mundo; Servidor de arquivos e impresso (139, 445 e 631): apenas rede interna; Servios administrativos, como SSH, SWAT e Webmin (22, 901 e 10000): apenas para o IP do administrador.

Para saber quais portas esto abertas em seu micro, h vrios meios: voc pode usar sites que fazem esse servio, como o da Sygate, ou pode usar softwares, como o Local Port Scanner. Quem usa Linux pode usar o Todo-Poderoso nmap, na minha opinio o melhor de todos, pois alm de poder escanear qualquer host na face da Terra que pode ser acessado pelo seu micro, ele incorpora tcnicas muito avanadas de escaneamento, que podem revelar furos que muitos port scanners no revelariam. A voc pode me dizer: ah, eu fiz um scan com esses programinhas ae e ele no achou nenhuma porta aberta! deu tudo como closed. Est certo - ora, para cada porta deve haver um programa escutando nela. No h como a porta 23 (telnet) estar aberta se no h um servidor telnet rodando no seu micro! Porm, lembra-se das portas fechadas e filtradas? Aqui entra esse conceito. A partir do momento que a porta est apenas como closed, ainda h meios de se conectar ela. E mais: os worms, pragas que podem permitir o controle remoto de sua mquina, precisam abrir uma porta no seu micro para escutar por conexes de entrada (o NetBus se no me engano abre a porta 12345) oriundas do cracker (um hacker dificilmente perderia seu tempo em micros domsticos, que dir para fazer vandalismo digital Rolling Eyes ). Com um firewall devidamente configurado, no h como qualquer software em sua mquina abrir uma porta a no ser que voc autorize - a est a grande vantagem de segurana do firewall para um micro domstico. O firewall complementa a ao do anti-vrus, impedindo que certos tipos de praga funcionem. Claro que de repente voc pode topar com um worm que desabilita o firewall, mas a o anti-vrus dever ser capaz de barr-lo.

Agora vem outra questo: se eu tenho firewall, como eu ainda posso ser infectado por worms?!. Simples: em nenhum momento foi dito que o firewall previne a infeco do micro - foi dito apenas que ele inibe conexes de entrada. Ou seja, normalmente o firewall no analisa o trfego que entra e sai do micro; ele apenas impede que algum se conecte ao seu micro. A anlise dos pacotes que trafegam pelo seu micro pode ser feita com um IDS (Intrusion Detection System), que pode ser em forma de software (o anti-vrus avast! inclui um gratuitamente) ou hardware (beeeem caro, usado mais em empresas de mdio e grande porte). Algumas solues de firewall tambm permitem fazer anlise de pacotes. O IDS capaz de olhar pacote por pacote em busca de cdigo malicioso - ao encontrar algum, ele pode barrar este pacote. Para que ele funcione adequadamente, necessria constante atualizao, exatamente como nos anti-vrus, j que novas pragas surgem aos montes em curto espao de tempo.

QUE FIREWALL USAR?


Quem usa Linux tem um firewall matador: o IPTables. possvel customiz-lo praticamente maneira que voc quiser, e isto no uma tarefa exatamente difcil. Para Windows, eu indico as seguintes solues: Windows Firewall. embutido no Windows XP SP2, ele dos mais simplrios, j que um firewall inbound (apenas lida com conexes de entrada). Porm ele eficiente em sua funo, e bastante amigvel. Para quem tem softfobia como eu, uma boa soluo! (Explicando: eu evito ao mximo instalar novos programas em minha mquina). ZoneAlarm: Este um firewall bem bacaninha, pois alm de tratar das conexes entrantes, ele permite fazer restries de vrias outras ordens. H uma verso free disponvel, porm a verso paga tem mais alguns recursos bem interessantes. Em Ingls.

FONTE BIBLIOGRFICA http://www.microsoft.com/brasil/athome/security/pro tect/firewall.mspx