Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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:
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).
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:
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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?
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).
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.
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.
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.