terça-feira, 16 de dezembro de 2008

Arquitetura Geral do Sistema de Computação(Sistemas Numéricos).



SISTEMAS NUMÉRICOS
SISTEMAS DE NUMERAÇÃO:
Sistemas de numeração são formas de representação de valores. Existem os sistemas nãoposicionais e os posicionais. Nos não-posicionais o símbolo não depende da posição. Por exemplo, os numerais romanos: o símbolo X vale 10 em qualquer posição que estiver no número, seja IX ou LXV. Já nos posicionais, o valor do símbolo muda com a posição. Por exemplo: o símbolo 6 dentro do número 625 significa o valor 600, mas no número 461 significa 60. Diariamente trabalhamos com o sistema posicional decimal, assim chamado por ter dez símbolos:


0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Como tem dez símbolos, dizemos também que possui base 10. Como sabemos, o computador funciona em binário, ou seja, representações de número somente com os símbolos 0 e 1. Este é um sistema de numeração com base 2 ou binário. Na eletrônica ainda é comum trabalhar-se com o sistema octal, que possui base 8, cujos símbolos são: 0, 1, 2, 3, 4, 5, 6, 7.
Para o endereçamento da memória do computador é utilizado o sistema de numeração hexadecimal, de base 16, formado pelos símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. São estes quatro sistemas de numeração que serão o fundamento do estudo da computação, sendo necessários para compreensão da organização de sua arquitetura. Para compreendermos melhor a relação entre eles, devemos estudar a conversão de uma base para outra.

CONVERSÃO ENTRE BASES:
De binário, octal, e hexadecimal para decimal:
Conversão de decimal para binário, octal e hexadecimal:
Para converter números da base 10 para outras bases, segue-se a seguinte regra:
parte inteira: divide-se o número a ser convertido pela base desejada; toma-se o quociente resultante e divide-se novamente pela base até que o quociente seja zero; os restos das divisões formam a parte inteira do número convertido; o primeiro resto representa o último dígito da parte inteira do número; o último quociente representa o primeiro dígito da parte inteira; parte fracionária: multiplica-se a parte fracionária do número a ser convertido pela base desejada; toma-se a parte fracionária do número resultante e repete-se a operação; a parte inteira dos produtos obtidos representam a parte fracionária do número procurado.

Para conversão de decimal para binário, temos o exemplo:
(174,25)10: 174 / 2 = 87 resto 0
87 / 2 = 43 resto 1
43 / 2 = 21 resto 1
21 / 2 = 10 resto 1
10 / 2 = 5 resto 0
5 / 2 = 2 resto 1
2 / 2 = 1 resto 0
último quociente: 1 ==> parte inteira: 10101110
0,25 x 2 = 0,50 inteiro 0
0,50 x 2 = 1,0 inteiro 1 ==> parte fracionária: 01
(174,25)10 = (10101110,01)2
De decimal para octal:
(749,97)10: 749 / 8 = 93 resto 5
93 / 8 = 11 resto 5
11 / 8 = 1 resto 3
último quociente: 1 ==> parte inteira: 1355
0,97 x 8 = 7,76 inteiro 7
0,76 x 8 = 6,08 inteiro 6
0,08 x 8 = 0,64 inteiro 0 ==> parte fracionária: 760
(749,97)10 = (1355,760)8
E de decimal para hexadecimal:
(155,742)10: 155 / 16 = 9 resto 11 (B)
último quociente: 9 ==> parte inteira: 9B
0,742 x 16 = 11,872 inteiro 11 (B)
0,872 x 16 = 13,952 inteiro 13 (D)
0,952 x 16 = 15,232 inteiro 15 (F) ==> parte fracionária: BDF
(155,742)10 = (9B,BDF)16

Conversão de binário para octal
Basta converter cada três símbolos binários em um octal, partindo-se da vírgula. Caso faltem símbolos para completar três, completa-se com zeros. Exemplo:
(010 101,110 1)2 = (25,64)8
Conversão de octal para binário:
O oposto do método anterior: pega-se cada valor e converte-se pela tabela em três símbolos binários. Exemplo:
(356,71)8 = (11 101 110,111 001)2
Conversão de binário para hexadecimal:
Semelhante a conversão de octal, apenas pegando cada quatro símbolos binários para um hexadecimal, convertidos a partir da tabela. Exemplo:
(1101 1010 0100,1010 11)2 = (DA4,AC)16

Conversão de hexadecimal para binário:
Oposto do método anterior. Exemplo:
(CAFE,01)16 = (1100 1010 1111 1110,0000 0001)2

Arquitetura Geral do Sistema de Computação(CPU).



UNIDADE CENTRAL DE PROCESSAMENTO
A Unidade Central de Processamento - UCP (em inglês, Central Processing Unity - CPU) é a responsável pelo processamento e execução dos programas armazenados na MP. As funções da UCP são: executar as instruções e controlar as operações no computador. Um programa, para ser efetivamente executado pelo processador, deve ser constituído de uma série de instruções de máquina. Para que a execução tenha início, as instruções devem ser armazenadas em células sucessivas, na MP.


Elemento comum a todos os microcomputadores: pastilha (chip) do microprocessador. O microprocessador funciona como a unidade central de processamento do microcomputador. Em essência é o cérebro do microcomputador, responsável pela atividade-fim do sistema, isto é, computar, calcular, processar. Sua velocidade determina a velocidade máxima do microcomputador; seus pinos de endereços e de dados determinam a capacidade da memória e o tamanho da palavra do microcomputador; e, seus pinos de controle determinam o tipo de interfaceamento de E/S.

Para que ocorra a execução de um programa executável é necessário que:
as instruções a serem executadas estejam armazenadas em células sucessivas na MP;
o endereço da primeira instrução do programa esteja armazenado na CPU para que o processador possa buscar essa primeira instrução.
A função da UCP consiste, então, em:
a) Buscar uma instrução na memória (operação de leitura), uma de cada vez;
b) Interpretar que operação a instrução está explicitando (pode ser soma de dois números, uma multiplicação, uma operação de entrada ou de saída de dados, ou ainda uma operação de movimentação de um dado de uma célula para outra);
c) Buscar os dados onde estiverem armazenados, para trazê-los até a UCP;
d) Executar efetivamente a operação com os dados, guardar o resultado (se houver algum) no local definido na instrução; e, finalmente;
e) Reiniciar o processo apanhando nova instrução.

Estas etapas compõem o que se denomina um ciclo de instrução. Este
ciclo se repete indefinidamente até que o sistema seja desligado, ou ocorra algum tipo de erro, ou seja, encontrada uma instrução de parada.
Em suma, o microprocessador executa as seguintes funções básicas:
Provê os sinais de controle e de temporização para todos os elementos do microcomputador;
Busca instruções e dados de memória;
Transfere dados de e para dispositivos de E/S;
Decodifica instruções;
Executa operações aritméticas e lógicas determinadas por instruções;
Responde a sinais de controle gerados por E/S tais como RESET e INTERRUPÇÃO.
Organização de um computador simples com uma CPU e dois dispositivos de E/S:
A CPU (microprocessador) é composta por várias partes distintas: unidade de controle; registradores; unidade lógica e aritmética.

Unidade de controle: responsável por buscar, interpretação (decodificação das instruções da memória principal), e controle da execução das instruções (geração dos sinais de controle necessários para que a ULA e as seções de registradores executem estas instruções). Também controla a ação dos demais componentes de um sistema de computação (memória, entrada/saída).

É o dispositivo mais complexo da UCP. Possui a lógica necessária para realizar a movimentação de dados e instrução de e para a UCP, através de sinais de controle, que emite em instantes de tempo programados. Este dispositivo controla a ação da ULA. Os sinais de controle emitidos pela UC ocorrem em vários instantes durante o período de realização de um ciclo de instrução e, de modo geral, todos possuem uma duração fixa e igual, originada em um gerador de sinais usualmente conhecido como relógio (clock).

A área de controle de uma UCP é a parte funcional que realiza (uma etapa de cada vez, em sistemas de execução serial, ou várias etapas simultaneamente, em sistemas de execução “pipelining”) as atividades de:
a) Busca de instrução que será executada, armazenando-a em um registrador especialmente projetado para esta finalidade;
b) Interpretação das ações a serem desencadeadas com a execução da instrução (se é uma soma, uma subtração, uma complementação, etc.);
c) Geração de sinais de controle apropriado para ativação requerida para a execução propriamente dita da instrução identificada. Esses sinais de controle são enviados aos diversos componentes do sistema, sejam internos da UCP (como a ULA) ou externos (como a memória ou E/S). Em outras palavras, a área de controle é projetada para entender o que fazer, como fazer e comandar quem vai fazer no momento adequado. Podemos fazer uma analogia com os seres humanos, imaginando que a área de controle é o cérebro que comanda o ato de andar, e as áreas do processamento são os músculos e ossos das pessoas que realizam efetivamente .

Registradores: são componentes de uma pequena memória de alta velocidade usados para armazenar resultados temporários, endereços, códigos de instruções e informações sobre o estado das várias operações do microprocessador (controle de informação). O registrador mais importante é o Contador de Programa (PC – Program Counter) que indica a próxima instrução a ser buscada para execução. Também importante é o Registrador de Instruções (IR – Instruction Register) que contém a instrução que está sendo executada no momento em questão.

Registrador de instrução (RI): registrador que tem a função específica de armazenar a instrução a ser executada pela UCP. Ao se iniciar um ciclo de instrução, a UC emite o sinal de controle que acarretará a realização de um ciclo de leitura para buscar a instrução na memória (uma cópia dela), e que, via barramento de dados e RDM, será armazenado no RI.

Contador de Instrução (CI): registrador cuja função específica é armazenar o endereço da próxima instrução a ser executada. Tão logo a instrução que vai ser executada seja buscada (lida) da memória para a UCP (início do ciclo de instrução), o sistema providencia a modificação do conteúdo do CI de modo que ele passe a armazenar o endereço da próxima instrução na seqüência. Por isso, é comum definir a função CI como sendo a de “armazenar o endereço da próxima instrução”, que é o que realmente ele faz durante a maior parte da realização de um ciclo de instrução. O CI é um registrador crucial para o processo de controle e de seqüenciamento da execução dos programas.

Registrador de Endereço na Memória (REM) (Memory Address Register): registrador que armazena temporariamente o endereço de acesso a uma posição da memória ao se iniciar uma operação de leitura ou escrita. (usado para endereços de dados, enquanto que o PC é usado para endereços de instruções).

Registrador de Dados da Memória (RDM) (Memory Buffer Register): registrador que armazena temporariamente a informação que está sendo transferida da MP para a CPU, ou da CPU para a MP.
Registrador de Estado: consiste em bits individuais com significado diferente atribuídos pelo fabricante do microprocessador. Os principais bits de estado, comumente encontrados nos processadores são:

- Sinal – contém o sinal resultante da última operação aritmética realizada pelo processador;
- Overflow – quando setado (=1) indica que a última operação aritmética realizada resultou em estouro do valor, um erro;
- Zero – quando setado (=1) indica que a última operação realizada resultou em valor zero;
- Vai 1 (carry) – indica que ocorreu um “vai 1” para o bit mais a esquerda na última operação de soma realizada;
- Paridade – é setado (=1) ou (0), dependendo da quantidade de bits no byte recebido.

Decodificador de Instrução: dispositivo utilizado para identificar as operações a serem realizadas, que estão correlacionadas à instrução em execução. Em outras palavras, cada instrução é uma ordem para que a UCP realize uma determinada operação. Como são muitas instrução, é necessário que cada uma possua uma identificação própria e única. A unidade de controle está, por sua vez, preparada para sinalizar adequadamente aos diversos dispositivos da UCP, conforme ela tenha identificado a instrução a ser executada. O decodificador recebe na entrada um conjunto de bits previamente escolhidos e específicos para identificar uma instrução de máquina (cada instrução tem um valor próprio) e possui 2N saídas, sendo N a quantidade de algarismos binários do valor de entrada.

Unidade de aritmética e lógica (ULA ou UAL): área do computador cuja função reside na realização das operações aritméticas e lógicas requeridas para instruções de máquina. Qualquer ULA é um aglomerado de circuitos lógicos e componentes eletrônicos simples e de alta velocidade, que integrados realizam as operações matemáticas e lógicas.

Vimos que processamento de dados é a ação de manipular um ou mais valores (dados) em certa seqüência de ações, de modo a produzir um resultado útil. O resultado muda conforme o tipo de operação realizada. Por exemplo, se uma instrução define que deve ser realizada uma operação de adição sobre os valores A = 5 e B = 3, o sistema, ao interpretar a instrução, gera as ações subseqüentes que redundarão no resultado igual a 5+3 = 8. Por outro lado, se o sistema interpretar uma outra instrução que define a operação de subtração, ele deve gerar outras ações de modo que o resultado seja 5-3 = 2 (e não mais 8). Processar o dado é executar com ele uma ação que produza algum tipo de resultado. Este é, pois, a atividade-fim do sistema; ele existe para processar dados.

O dispositivo principal desta área de atividade de uma UCP é chamado ULA – Unidade Lógica e Aritmética. Os demais componentes relacionados com a função processamento são os registradores, que servem para armazenar dados (ou para guardar resultados) a ser usados pela ULA. A interligação entre estes componentes é efetuada pelo barramento interno da UCP.

Diagrama simplificado de uma ULA típica de um microprocessador:
Microcomputadores mais antigos:
utilização de dois tipos de processadores, sendo um exclusivamente para realizar operações aritméticas com valores fracionários, representados em pontos flutuantes. Tais processadores eram denominados co-processadores matemáticos.

Microcomputadores atuais: todos os modelos de processadores fazem uso de um modelo de arquitetura onde estão integradas numa mesma pastilha, uma ULA responsável pela operação com valores inteiros e uma ULA para valores fracionários. No caso do Pentium há duas ULAs escalares para valores inteiros, denominada Aritmetic and Logic Unit e uma ULA que executa operações aritméticas de valores fracionários, denominada Point Floating Unit.
A maioria dos modernos microprocessadores tem unidades lógicas e aritméticas que são capazes de realizar uma grande variedade de operações lógicas e aritméticas. Estas operações podem envolver dois ou um único operando.

OPERAÇÕES COM UM OPERANDO:
1. CLEAR (LIMPE). Todos os bits do operando são zerados.
2. COMPLEMENTAÇÃO (ou INVERSÃO). Todos os bits são mudados para o seu nível lógico oposto.
3. INCREMENTA. O operando é aumentado de 1. Por exemplo, se o operando for 11010011, a ele será somado 00000001 pela ULA, para produzir um resultado igual a 11010100
4. DECREMENTA. O operando é diminuído de 1. Em outras palavras o número 00000001 é subtraído do operando.
5. DESLOCAMENTO (“SHIFT”). Os bits do operando são deslocados de uma posição para a direita ou esquerda e o bit vago é preenchido com 0. Este processo está ilustrado abaixo para uma operação de DESLOCAMENTO PARA A ESQUERDA (“SHIFT-LEFT”).
Na maioria dos microprocessadores o bit que cai fora não é perdido, em vez disso, ele é deslocado para o bit do flag de Vai 1 do registrador de estado. Como está ilustrado no exemplo de DESLOCAMENTO PARA A DIREITA.
DESLOCAMENTO PARA A DIREITA (“SHIFT-RIGHT”).
6. ROTAÇÃO (“ROTATE”). Esta é uma operação de DESLOCAMENTO modificada na qual o flag C torna-se parte de um registrador de deslocamento circular, juntamente com o operando, isto é, o valor colocado para fora do operando é colocado um C e o valor de C é colocado no bit vago do operando. Isto está ilustrado abaixo para uma operação de ROTAÇÃO À DIREITA.
OPERAÇÕES COM DOIS OPERANDOS:
1. SOMA (ADD). A ULA produz a soma binária dos dois operandos. Geralmente, apenas um dos operandos vem de um registrador, outro vem da memória e o resultado é enviado para ao registrador. Se a adição dos dois operandos produzir um vai-um, o flag de Vai-Um, C, no registrador de estado é feito 1. Caso contrário, C é levado para zero. Em outras palavras, C serve como um nono bit do resultado.
2. SUBTRAÇÃO. A ULA subtrai um operando (obtido da memória) do segundo operando (o registrador) e coloca o resultado no registrador.
3. COMPARAÇÃO. Esta operação é o mesmo que a subtração com a exceção de que o resultado não é colocado no registrador. Comparação é executada somente como um meio de determinar qual operando é maior, sem afetar o conteúdo do registrador.
4. E LÓGICO. Os bits correspondentes dos dois operandos sofrem a operação E e o resultado é colocado no registrador. Um dos operandos é sempre o registrador e o outro vem da memória.
5. OU LÓGICO. Os bits correspondentes dos dois operandos sofrem a operação OU e o resultado é colocado no registrador.
6. OU-EXCLUSIVO. Os bits correspondentes dos dois operandos sofrem a operação OU-EXCLUSIVO e o resultado é colocado no registrador.

Paralelismo (pipeline)
Os arquitetos de computadores estão sempre se esforçando para melhorar o desempenho das máquinas que projetam. Fazer com que os chips funcionem com maior rapidez aumentando suas velocidades de relógio é um modo. Por consequência grande parte dos arquitetos de computadores busca o paralelismo (fazer duas ou mais coisas ao mesmo tempo) como meio de conseguir desempenho ainda melhor para a velocidade de relógio.

O paralelismo tem duas formas gerais, a saber:
paralelismo no nível da instrução: corresponde ao paralelismo explorado dentro de instruções individuais para obter da máquina mais instruções por segundo.
paralelismo no nível de processador: consiste em várias CPU’s trabalhando juntas no mesmo problema.

Ao descrever o funcionamento da UCP na realização de seus ciclos de instrução foi observado que, embora o ciclo de instrução seja composto de várias etapas, ele é realizado basicamente de forma seqüencial, isto é, uma etapa se inicia após a conclusão da anterior. Este tipo de arquitetura de computadores é denominado SISD (Single Instruction Stream, Single Data Stream) e refere-se a processadores que executam uma instrução completa de cada vez, seqüencialmente.

Ciclo de instrução em execução seqüencial
O tempo total da execução é a soma dos tempos gastos em cada etapa.
O processo de execução seqüencial é semelhante ao processo de fabricação de automóvel caso ainda existisse uma fábrica que funcionasse em montagem seqüencial:
carroceria: tempo T1; motor: T2; rodas: T3; parte elétrica: T4; bancos: T5; acabamento final: T6.
Tempo para finalizar a fabricação: T = T1 + T2 + T3 + T4 + T5 + T6. Somente após a conclusão total de um carro é que que se iniciaria a montagem de outro carro. Portanto, a fábrica produziria, em X horas, um total de X/T carros, o que seria um valor pequeno.

Metodologia inventada no início do século XX por Henry Ford e atualmente seguida pela maioria das indústrias. Consiste em dividir o processo de fabricação em estágios independentes (que por isso podem se superpor, uns aos outros no tempo), ou seja, um item pode iniciar a sua fabricação antes que um item anterior termine sua montagem, denominando-se linha de montagem (em inglês “pipeline”). A metodologia de construção composta de estágios permitiu que também nos sistemas de computadores se adotasse esta técnica.

A característica fundamental do processo de pipelining reside em duas premissas básicas:
a) a divisão do processo (seja de fabricação de um automóvel, de uma TV ou o ciclo de instrução de uma CPU) em estágios de realização independentes um do outro; e,
b) um novo produto (automóvel, TV ou instrução) inicia o seu processo de fabricação ou execução antes do anterior concluir seu processo.
Pipeline de 5 estágios:

O estágio 1 busca a instrução na memória e a coloca em um buffer até que ela seja necessária.
O estágio 2 decodifica a instrução, determina seu tipo e de quais operandos ela necessita.
O estágio 3 localiza e busca os operandos, seja nos registradores, seja na memória.
O estágio 4 é que realiza o trabalho de executar a instrução.
Por fim o estágio 5 escreve o resultado de volta no registrador adequado.
Estado de cada estágio como uma função do tempo.

Durante o ciclo de relógio 1, o estágio S1 está trabalhando na instrução 1, buscando-a na memória. Durante o ciclo 2, o estágio S2 decodifica a instrução 1, enquanto o estágio S1 busca a instrução 2. Durante o ciclo 3, o estágio S3 busca os operandos para a instrução 1, o estágio S2 decodifica a instrução 2, e o estágio S1 busca a terceira instrução. Durante o ciclo 4, o estágio S4 executa a instrução 1, S3 busca os operandos para a instrução 2, S2 decodifica a instrução 3 e S1 busca a instrução 4. Por fim, durante o ciclo 5, S5, escreve (grava) o resultado da instrução 1 de volta no registrador, enquanto os outros estágios trabalham nas instruções seguintes.



MEMÓRIA
Componente de um sistema de computação cuja função é armazenar as informações que são (ou serão) manipuladas por esse sistema, para que elas (as informações) possam ser prontamente recuperadas quando necessário. Na prática, em um sistema de computação não é possível construir e utilizar apenas um tipo de memória. A memória de um computador é constituída de vários componentes (vários tipos diferentes de memória) interligados e integrados. Isto é feito em virtude de:


Velocidade da CPU muito maior que o tempo de acesso da memória. Isto ocasiona atrasos na transferência de bits entre memória e CPU e vice-versa.
Necessidade de aumento da capacidade de armazenamento, em face do aumento do tamanho dos programas.
Em suma, os fatores, velocidade e capacidade, indicam a necessidade de se projetar não um único tipo de memória (com elevada velocidade e grande capacidade, mas de custo altíssimo), mas sim um conjunto de memórias com características diferentes.


A memória de um sistema de computador tem a função de armazenar dados e instruções e é organizada em posições, que podem ser visualizadas como elementos em uma matriz. Cada elemento tem um endereço. Assim, pode-se falar de uma memória que tenha x posições: cada posição pode ser referenciada diretamente de acordo com a sua colocação na seqüência. Por exemplo, se uma memória tem 4096 posições, existem posições de memória 0, 1, 2, 3,...., 4094 e 4095. Quando um destes números aparece nos circuitos de controle conectados à memória, o conteúdo (o valor que está na posição) será trazido da memória para os circuitos da unidade de processamento ou a informação na unidade de processamento será armazenada na memória, dependendo do trabalho associado com o endereço.


A menor quantidade de informação disponível em qualquer computador é o bit. A principal unidade de informação é um grupo de bits, denominado palavra. O número de bits que formam uma palavra é denominado tamanho da palavra do computador. Muitas vezes os computadores são descritos em termos do tamanho da sua palavra, que também indica a largura do barramento de dados. Uma palavra armazenada numa posição de memória pode conter dois tipos de informação: instruções ou dados. Para as instruções, armazenadas em código binário, o conteúdo armazenado na memória são comandos que levam à execução de alguma tarefa. Os dados podem ser informações numéricas ou alfanuméricas, que podem estar em vários formatos: números binários com e sem sinal, números em BCD compactado, números em ponto flutuante, caracteres em BCD ou ASCII. Apesar de existirem diversos formatos lógicos de armazenamento para dados, não se deve esquecer que, fisicamente, informações são armazenadas como seqüências de 0 e 1 e que, mais importante ainda, o computador não tem como saber a diferença entre dois conteúdos. É responsabilidade do programador conhecer os tipos de dados que estão sendo armazenados, para assegurar que o programa possa interpretá-los e processá-los corretamente.


Endereço e locação de memória: O endereço é um número que identifica a posição (locação) de uma palavra na memória. Cada palavra armazenada em qualquer dispositivo ou sistema de memória possui um único endereço, expresso como números binários ou, por conveniência, hexadecimais. Cada locação de memória possui um endereço associado, onde estão presentes os dados a serem acessados.


Operação de leitura: Ao ler o conteúdo de um endereço, o computador faz uma cópia do conteúdo. Dessa forma, a operação de leitura é chamada de não destrutiva (operação de busca).
Operação de escrita: Quando o computador acessa uma posição de memória e escreve um dado, o conteúdo anterior é completamente perdido. Assim, toda operação de escrita pode ser chamada de destrutiva (operação de armazenamento).

Tempo de acesso: Medida da velocidade do dispositivo de memória. Quantidade de tempo necessária à efetivação de uma operação de leitura (tempo decorrido entre o momento da recepção pela memória de um novo endereço e o instante em que a informação daquele endereço fica disponível).
Memória volátil: Memória que necessita de energia elétrica para reter a informação armazenada. Se a energia for retirada, toda a informação armazenada será perdida.
Memória não-volátil: Memória que não necessita de energia elétrica para reter a informação armazenada.


ROM (read only memory) – memória apenas para leitura: São memórias a semicondutor usadas para armazenar dados e instruções permanentes, que o computador deve executar freqüentemente ou durante a inicialização do sistema. Normalmente o conteúdo de uma ROM é gravado no circuito integrado, não podendo ser alterado (não voláteis). Aplicações: firmware, memória de partida fria (bootstrap), tabelas de dados, conversores de dados, geradores de caracteres e de funções. A principal característica da memória ROM é o fato de que suas informações vêm geralmente gravadas de fábrica e são, portanto utilizadas durante toda sua vida útil para as mesmas atividades.
Os diversos tipos de ROMs existentes no mercado diferem no modo de programação e na possibilidade de apagamento e de reprogramação. Algumas variações da ROM são:


PROM - Programmable Read Only Memory ou memória apenas de leitura, programável. Esta memória é uma ROM programável (em condições e com máquinas adequadas, chamadas queimadores de PROM) e geralmente é comprada "virgem" (sem nada gravado), sendo muito utilizada no processo de testar programas no lugar da ROM, ou sempre que se queira produzir ROM em quantidades pequenas. Uma vez programada (em fábrica ou não), não pode mais ser alterada.


EPROM - Erasable Programmable Read Only Memory ou memória apenas de leitura, programável (com queimadores de PROM) e apagável (com máquinas adequadas, à base de raios ultra-violeta). Esta memória é uma PROM apagável. Tem utilização semelhante à da PROM, para testar programas no lugar da ROM, ou sempre que se queira produzir ROM em quantidades pequenas, com a vantagem de poder ser apagada e reutilizada.


EEPROM (ou E2PROM) - Electrically Erasable Programmable Read Only Memory ou memória apenas de leitura, programável e eletronicamente alterável. Também chamada EAROM (Electrically Alterable ROM). Esta memória é uma EPROM apagável por processo eletrônico, sob controle da UCP, com equipamento e programas adequados. É mais cara e é geralmente utilizada em dispositivos aos quais se deseja permitir a alteração, via modem, possibilitando a carga de novas versões de programas à distância ou então para possibilitar a reprogramação dinâmica de funções específicas de um determinado programa, geralmente relativo ao hardware (p.ex., a reconfiguração de teclado ou de modem, programação de um terminal, etc).


RAM (random access memory) – memória de acesso aleatório: São memórias de leitura e escrita, usadas para o armazenamento temporário de dados. As memórias RAM são voláteis. Nas memórias RAM, a localização física real de uma palavra não tem efeito sobre o tempo de leitura ou escrita (o tempo de acesso é constante para qualquer endereço). Aplicação: memória principal e caches.


Entre os principais tipos de RAM temos:
DRAM (dinamic random access memory) – RAM dinâmica: Memórias RAM a semicondutor nas quais a informação armazenada não permanecerá armazenada, mesmo em presença de alimentação do circuito, a não ser que a informação seja reescrita na memória com determinada freqüência (operação de recarga ou refresh da memória). Características: alta capacidade de armazenamento, baixo consumo de potência, velocidade de operação moderada e custo/byte relativamente baixo. Principal tecnologia de implementação de memórias RAM, constituindo-se na representação de números binários 0 e 1 a partir do carregamento de milhares ou milhões de microcapacitores reenergizados pela passagem de correntes pelas células a cada dezena de milissegundos.

SRAM (static random access memory) – RAM estática: Memórias RAM nas quais a informação permanecerá armazenada enquanto houver energia elétrica aplicada à memória, sem que haja necessidade da informação ser permanentemente reescrita na memória. Características: baixa capacidade de armazenamento, alta velocidade de operação (baixo tempo de acesso) e alto custo/byte. A principal limitação da DRAM, a velocidade, é a principal vantagem da SRAM. Estima-se que o tempo de acesso aos dados na SRAM sejam cerca 25% do tempo de acesso a DRAMs. Uma outra vantagem diz respeito a desnecessidade de reenergização. No entanto, uma grande limitação é decorrente de seu alto custo, o que faz com que esta tecnologia seja usada mais comumente em estruturas cache. Utilizam flip-flops (bipolares ou MOS) como células de armazenamento.


Memórias de acesso seqüencial (SAM): Utilizam registradores de deslocamento para armazenar os dados que podem ser acessados de forma seqüencial, não podendo ser utilizadas na memória principal (baixa velocidade de acesso). Aplicações: armazenamento e transmissão seqüencial de dados codificados em ASCII, osciloscópios digitais e analisadores lógicos, memórias FIFO.


Memórias FIFO (first in first out) – primeiro a entrar, primeiro a sair: Memória seqüencial que utiliza registradores de deslocamento, na qual as palavras são descarregadas na saída de dados na mesma ordem em que entraram pela entrada de dados. Aplicação: operação de transferência de dados entre sistemas operando em velocidades muito diferentes (buffers de impressora ou teclado).


Hierarquia de memória: a hierarquia de memória de um computador é caracterizada por cinco parâmetros: tempo de acesso, tamanho da memória, custo por byte, largura de banda (bandwidth) da transferência e unidade de transferência (bytes). A hierarquia de memória em microcomputadores possui quatro níveis, compostos de: memória secundária, memória principal, caches e registradores.


Memória secundária ou de massa ou auxiliar: Armazena uma grande quantidade de informação, sendo bem mais lenta que a memória principal, e sempre é não-volátil. As informações armazenadas nos dispositivos de memória de massa são transferidas para a memória principal quando forem necessárias ao computador. Exemplos deste tipo de elemento são as fitas magnéticas, os disquetes e os HDs (hard disks).


Memória principal ou primária: Serve para armazenar as instruções e os dados que estão sendo usados pelo processador. Implementada por chips de memórias DRAM. Controlada por uma MMU (memory manegement unit – unidade de gerência de memória) em cooperação com o sistema operacional.

Memória cache: Formada por uma pequena quantidade de memória SRAM, com alta velocidade de acesso. Armazena dados com grande probabilidade de reutilização, evitando outros acessos à memória principal, diminuindo o tempo de acesso ao dado. Existem dois tipos de memória cache, dependendo da localização em relação ao microprocessador: cache interna ou primária ou L1 (com pequena capacidade, geralmente de 32 kbytes), e cache "externa" (integrada) ou secundária ou L2 (com capacidade média de 256 a 512 kbytes).


Registradores: São dispositivos de armazenamento temporário, localizados na UCP, extremamente rápidos, com capacidade para apenas um dado (uma palavra). Devido a sua tecnologia de construção e por estar localizado como parte da própria pastilha ("chip") da UCP, é muito caro. O conceito de registrador surgiu da necessidade da UCP de armazenar temporariamente dados intermediários durante um processamento. Por exemplo, quando um dado resultado de operação precisa ser armazenado até que o resultado de uma busca da memória esteja disponível para com ele realizar uma nova operação.


Memória Virtual: É um percentual do disco rígido, reservado para operações do sistema operacional. Ela é criada, administrada e utilizada pelo Sistema Operacional, particularmente o Windows em todas as suas versões. As informações nela manipuladas, ficam armazenadas em um tipo de arquivo, chamado ARQUIVO DE PAGINAÇÃO. Tanto este arquivo com o tamanho desta memória VIRTUAL, podem ser alterados / verificados, através do Painel de Controle do Windows.


Tipo Capacidade Velocidade Custo Localização Volatilidade
Registrador Bytes muito alta muito alto UCP Volátil
Memória Cache Kbytes alta alto UCP/placa Volátil
Memória Principal Mbytes Média médio Placa Volátil
Memória Auxiliar Gbytes Baixa baixo Externa Não Volátil
A UCP vê nesta ordem e acessa primeiro a que está mais próxima. Subindo na hierarquia, quanto mais próximo da UCP, maior velocidade, maior custo, porém menor capacidade de armazenamento.

Memória Principal
Conforme foi definido anteriormente, Memória Principal é a parte do computador onde programas e dados são armazenados para processamento. A informação permanece na memória principal apenas enquanto for necessário para seu emprego pela UCP, sendo então a área de MP ocupada pela informação pode ser liberada para ser posteriormente sobregravada por outra informação. Quem controla a utilização da memória principal é o Sistema Operacional.

Estrutura da Memória Principal – Células e Endereços:
A memória precisa ter uma organização que permita ao computador guardar e recuperar informações quando necessário. Não teria nenhum sentido armazenar informações que não fosse possível recuperar depois. Portanto, não basta transferir informações para a memória. É preciso ter como encontrar essa informação mais tarde, quando ela for necessária, e para isso é preciso haver um mecanismo que registre exatamente onde a informação foi armazenada.

Célula: é a unidade de armazenamento do computador. A memória principal é organizada em células. Célula é a menor unidade da memória que pode ser endereçada (não é possível buscar uma "parte" da célula) e tem um tamanho fixo (para cada máquina). As memórias são compostas de um determinado número de células ou posições. Cada célula é composta de um determinado número de bits. Todas as células de um dado computador têm o mesmo tamanho, isto é, todas as células daquele computador terão o mesmo número de bits. Cada célula é identificada por um endereço único, pela qual é referenciada pelo sistema e pelos programas. As células são numeradas seqüencialmente, uma a uma, de 0 a (N-1), chamado o endereço da célula.

Endereço: é o localizador da célula, que permite identificar univocamente uma célula. Assim, cada célula pode ser identificada pelo seu endereço.
Unidade de transferência é a quantidade de bits que é transferida da memória em uma única operação de leitura ou transferida para a memória em uma única operação de escrita. O tamanho da célula poderia ser igual ao da palavra, e também à unidade de transferência, porém por razões técnicas e de custo, são freqüentemente diferentes.
OBS.: Uma célula não significa o mesmo que uma palavra; uma célula não necessariamente contém uma palavra.

Palavra: é a unidade de processamento da UCP. Uma palavra deve representar um dado ou uma instrução, que poderia ser processada, armazenada ou transferida em uma única operação. No entanto, em geral não é assim que acontece e os computadores comerciais não seguem um padrão único para a organização da UCP e MP. Computadores comerciais (tais como por exemplo, os baseados nos processadores Intel 486) podem ter o tamanho da palavra definido como de 32 bits, porém sua estrutura de memória tem células de 16 bits.

A estrutura da memória principal é um problema do projeto de hardware:
- mais endereços com células menores ou
- menos endereços com células maiores?
- O tamanho mais comum de célula era 8 bits (1 byte); hoje já são comuns células contendo vários bytes.

Arquitetura Geral do Sistema de Computação(Barramentos).



BARRAMENTOS
Para que o computador possa oferecer recursos e possibilidades diversas de uso ao usuário, é necessário a utilização de dispositivos adicionais, como placas de vídeo e de som, modem, disco rígido, teclado, etc. Estes componentes são conhecidos como Dispositivos de Entrada (teclado e mouse, por exemplo) e Saída (placa de vídeo e som, por exemplo). Em inglês, utiliza-se a sigla I/O, de Input/Output.


O barramento consiste de múltiplas linhas condutoras, cada uma permitindo a passagem de um bit de informação. Tais barramentos possuem diferentes tamanhos (quantidade de bits), dependendo do modelo do processador utilizado.
Para que o processador possa trabalhar com esses dispositivos, ele usa um barramento para se comunicar. Assim é possível que o processador envie informações (por exemplo, os dados para uma impressora, quando você pede para imprimir um arquivo) e receba (por exemplo, quando você digita algo no teclado).

Esse barramento é conhecido como "barramento de dados" (ou data bus). No entanto, quando o processador trabalha com a memória, ele faz uso de um "barramento de endereços" (também chamado de "clock externo"), pois através de um "endereço" é que o processador localizará os dados que precisa e que estão armazenados na memória do computador. É também por este barramento que o processador consegue determinar para qual dispositivo serão enviados os dados tratados. Seu valor é medido em Hz.

Os processadores possuem terminais ou pinos de contato (vulgarmente chamados de "perninhas"). Cada um destes pinos possui uma função e trabalha com um bit por vez. Assim, quando se diz que o barramento de dados trabalha a 16 bits, isso quer dizer que, pelo menos teoricamente, o processador destina 16 "perninhas" para esta função. A mesma regra vale para o barramento de endereços, ou seja, este também trabalha com uma certa quantidade de pinos, correspondentes à quantidade de bits.

A largura ou tamanho é a unidade de medida que caracteriza a quantidade de informações (bits em geral) que pode fluir simultaneamente pelo barramento. No caso de fiação, consiste na quantidade de fios paralelos existentes no barramento, ao passo que, em circuitos impressos (placas) consiste nos traços impressos na placa com material condutor, por onde flui a corrente elétrica.

Esta largura,maior ou menor, se constitui também em um dos elementos que afetam a medida do desempenho de um sistema, juntamente com a duração de cada bit ou sinal. A taxa de transferência que é, em geral, especificada em bits (kbits, Mbits, etc) por segundo depende fundamentalmente da largura do barramento.
Um barramento ou via ou bus é um conjunto de pinos do microprocessador por onde trafegam um ou mais sinais de hardware. Um microprocessador possui três tipos de barramentos utilizados para transporte: bus de dados, bus de endereços e bus de controle.

Barramento de dados: Barramento bidirecional, utilizado para realizar o intercâmbio de dados e instruções com o exterior. Uma das principais características de um microprocessador é o número de bits que o barramento de dados pode transferir, que determina se o processador é de 8, 16, 32 ou 64 bits. Determina o número de bits da palavra de dados que pode ser transferida de/para o microprocessador e, também (quase sempre) o tamanho da palavra de dados que pode ser operada pela ALU.

Barramento de endereços: Barramento unidirecional, constituído de um conjunto de linhas de endereço que indicam a posição de memória onde se encontra o dado requisitado. Uma vez dada a posição, a informação armazenada na memória passará à CPU através do barramento de dados. Define a quantidade de posições de memória e/ou de portas de entrada/saída que podem ser acessadas pelo microprocessador (para n bits do barramento de endereços, 2n bytes de memória podem ser endereçados, ou seja, 2n endereços físicos podem ser acessados – capacidade de endereçamento).

Barramento de controle: Barramento bidirecional, formado por um número variável de linhas, através das quais se controlam as unidades complementares (habilitação e desabilitação das memórias para leitura e escrita, permissão para periféricos ou coprocessadores acessarem as vias de dados e endereços). Transfere, para as diversas partes do sistema, sinais que definem e orientam toda a sua operação.

Os processadores atuais possuem vários pinos (no mínimo, 400). Somente analisando friamente a arquitetura de cada tipo de processador existente, é possível saber qual a função de cada um. Os processadores, no entanto, possuem algumas funções-padrão, ou seja, encontráveis em praticamente todos os processadores, independente do fabricante. Estas são conhecidas como "sinais de controle" (ou "sinais digitais"), também correspondem a pinos no chip do processador e algumas delas são citadas abaixo:

MIO: sinal para indicar se a operação em questão é de acesso à memória ou de E/S;
RW: sinal para indicar se a operação em questão é de leitura ou gravação;
INT: sinal para que dispositivos externos possam interromper o processador para que ele efetue uma operação que não pode esperar. Por exemplo, quando o HD interrompe o processador para avisar o término de uma operação de leitura. Como existe somente um sinal INT, o processador opera em conjunto com um mecanismo denominado "Controlador de Interrupções" (que trabalha com as conhecidas IRQs). Como vários dispositivos podem requisitar o processador num mesmo instante, através deste controlador é possível realizar todas as operações de forma organizada;

NMI: sinal de interrupção especial, usado em emergências, onde a interrupção enviada por este sinal deve ser atendida prontamente. O NMI geralmente é usado informar erros relacionados a dados na memória;
INT A: sinal usado para que o processador informe que aceitou uma interrupção e que está aguardando que o dispositivo que a gerou passe as instruções;
VCC: entrada de corrente elétrica que alimenta os circuitos internos do processador (pode haver vários VCC no processador);
GND: sinal usado para controle de energia (como se fosse um fio-terra). Também pode ser encontrados vários destes sinais no processador;
RESET: sinal ligado ao botão RESET do gabinete do computador. Ao ser ativado, o processador pára o que está fazendo e inicia as operações novamente, como se o usuário tivesse acabado de ligar a máquina;
CLOCK: este recebe um sinal digital usado internamente para sincronizar todo o funcionamento do processador.

Bits internos
O número de bits é uma das principais características dos processadores e tem grande influência no desempenho. Os processadores mais comuns (Pentium II, III e 4, Athlon XP, Duron, etc) operam a 32 bits, enquanto chips antigos, como o 286, operavam com 16 bits. Estes valores correspondem ao trabalho dos circuitos do processador, por isso são chamados de bits internos. Existem também os processadores que trabalham a 64 bits por vez, como o Athlon 64, da AMD.
Quanto mais bits internos o processador trabalhar, mais rapidamente ele poderá fazer cálculos e processar dados em geral (conseqüentemente, ele será mais caro).

Bits externos
Como as instruções que o processador executa ficam armazenadas na memória, é preciso que ela seja acessada de forma rápida e precisa. Essa velocidade depende da quantidade de bits que o barramento de dados consegue manipular simultaneamente. Tais bits são chamados de bits externos.

Endereçamento
O endereçamento consiste na capacidade que o processador tem de acessar um número máximo de células da memória. Para acessar uma célula, o processador precisa saber o endereço dela.
Cada célula armazena um byte. Assim, um processador com o barramento de dados com 16 bits, pode acessar duas células por vez. Isso porque um byte equivale a 8 bits e 16 dividido por 8 é igual a 2, portanto, duas células.
Existem diversos tipos de barramentos, cada um com taxas de transferência de bits diferentes e apropriadas às velocidades dos componentes interconectados, sendo dessa forma, os barramentos organizados de maneira hierárquica.

Atualmente, os modelos de organização de sistemas de computação adotados pelos fabricantes possuem diferentes tipos de barramentos:
1) Barramento local: é o barramento de maior velocidade de transferência de dados, funcionando normalmente na mesma frequência do relógio do processador. Este barramento costuma interligar o processador aos dispositivos de maior velocidade (para não atrasar as operações do processador), que são a memória cache e a memória principal.
2) Barramento do sistema: alguns fabricantes adotam o modelo em que o barramento local interliga o processador à memória cache e esta se interliga à memória principal por outro barramento denominado barramento do sistema, de modo a não permitir acesso diretamente do processador à memória principal. Uma interface de controle sincroniza o acesso entre as memórias.
3) Barramento do expansão: onde se interligam os diversos dispositivos de E/S, como discos magnéticos, vídeos, impressoras, DVDs, CDROMs, etc. Este barramento se conecta ao barramento do sistema por interfaces de controle (conhecidas como pontes ou bridges) que sincronizam as diferentes velocidades dos barramentos. Devido às diferentes e acentuadas velocidades de funcionamento dos dispositivos atuais de E/S, os fabricantes de sistemas de computação têm criado alternativas para aumentar o desempenho nas transferências de dados, separando o barramento de expansão em dois, um de mais alta velocidade para dispositivos de E/S rápidos e outro de menor velocidade (modens, dispositivos seriais, etc)‏.

Exemplos de organização dos barramentos:
Embora os projetistas de CPUs tenham liberdade para usar qualquer tipo de barramento que quiserem dentro do chip, para possibilitar a ligação das placas projetadas por terceiros ao barramento do sistema é preciso haver regras bem definidas sobre o modo de funcionamento do barramento, às quais todos os dispositivos a ele ligados deve obedecer. Essas regras são denominadas protocolos de barramento.

Os mais conhecidos protocolos de barramentos de expansão são descritos a seguir:
UNIBUS (definido pela Digital Equipment Co. - DEC). Praticamente fora de uso;
MCA - Micro Channel Architecture (IBM). Nunca conseguiu adoção por outro fabricante, nem mesmo a IBM o adotou por completo, tendo sido abandonado;
ISA – Industry Standard Adapter (IBM). Apesar de possuir uma velocidade de transferência baixa, tem ainda sido adotado para os barramentos e periféricos de baixa velocidade.
EISA – Extended ISA (definido por um grupo de fabricantes para se opor ao MCA da IBM). Não conseguiu ser implantado devido a diversos problemas de especificação, sendo praticamente abandonados pelos fabricantes;
PCI - Peripherical Component Interconnect – desenvolvido pela Intel tornando-se quase um padrão para todo o mercado, como barramento de E/S de alta velocidade;

USB - Universal Serial Bus - tem a função particular de permitir a conexão de muitos periféricos simultaneamente ao barramento e este, por uma única tomada se conecta a placa-mãe;
AGP - Accelarated Graphics Port – barramento desenvolvido para vários fabricantes, porém liderados pela Intel, com o propósito de acelerar as transferências de dados do vídeo para a memória. Trata-se, pois de um barramento específico (para vídeo), não genérico, porém de alta velocidade de transferência para ligar vídeo diretamente à MP.
Slots: são conectores para se encaixar as placas de expansão de um micro, ligando-as fisicamente aos barramentos por onde trafegam dados e sinais. Podemos citar, placas de vídeo, placas de fax/modem, placas de som, placas de interface de rede, etc.

Arquitetura Geral do Sistema de Computação(Dispositivos de entrada e saída).



DISPOSITIVOS DE ENTRADA E SAÍDA
Englobam-se sob a denominação de Entrada e Saída (E/S) todas as atividades de troca de informações do computador com o meio externo. Basicamente, o computador pode utilizar atividades de entrada/saída com as seguintes finalidades:

• troca de informações com os usuários humanos do sistema, utilizando-se, para a entrada de informações ou para a exibição, dos chamados dispositivos periféricos. Estes dispositivos podem ser teclados, vídeos, mouses, impressoras, leitoras de cartões, etc.
• permitir ao computador acessar dispositivos de armazenamento para grandes conjuntos de dados, e que normalmente não podem ser mantidos todo o tempo em memória principal. Estes dispositivos são englobados sob a denominação de memória secundária e incluem, em geral discos e disquetes magnéticos, CD-Rom, discos magneto-óticos e fitas magnéticas.
• permitir ao computador comunicar-se com outros equipamentos, tais como outros computadores e outros equipamentos científicos e industriais, através de linhas telefônicas e equipamentos específicos requeridos por este tipo de comunicação (modens).

A arquitetura de E/S precisa especificar:
• um método para identificação do dispositivo a ser utilizado em uma operação de E/S;
• o endereço do dado, ou seja, a fonte do dado a ser transportado para uma operação de
saída ou o destino do dado em uma operação de entrada;
• a quantidade de dados a serem transportados;
• os métodos para determinar quando as operações de E/S tiverem terminado ou encontrarem dificuldades que impeçam o seu término.

Estes parâmetros não precisam ser necessariamente especificados a cada transferência, alguns deles podem ser convencionados de tal forma que estarão implícitos quando ocorrer o início da operação. Uma característica importante e fundamental da maioria dos dispositivos de E/S, sejam eles orientados ao intercâmbio de informações diretamente com o usuário ou atuando no armazenamento intermediário de informações, é que eles operam em velocidades consideravelmente mais lentas do que em processadores ou memórias (do tipo “primárias”). Assim, referências a dados ou interações com seres humanos consomem enormes quantidades de tempo em comparação a funções computacionais dentro de um par processador-memória. Por esta razão, o projeto de E/S é crucial para minimizar atrasos e o projeto de funções de E/S é normalmente sentido diretamente na arquitetura.

Dispositivos periféricos
A classe de dispositivos que são utilizados atualmente para realização de operações de entrada e saída (isto é, que atuam na troca de informações tendo de um lado um computador e do outro usuários humanos do sistema) é bastante ampla e diversa, apresentando um leque bastante variado de características e operação. Entre elas estão:

• impressoras: para criar cópia em papel ou similar, de textos e figuras. As impressoras variam em atributos, tendo com forma mais primitiva dispositivos que se assemelham a máquinas de escrever. Atualmente, as mais modernas utilizam como tecnologia a impressão a laser e podem imprimir até milhares de linha por minuto;

• monitores (ou telas): que mostram textos e figuras, ambos podendo ser formatados de diversas maneiras e utilizar várias cores. O tipo mais comum, utiliza um tubo não muito diferente de um tubo de televisão (tubo de raios catódicos). Atualmente, utiliza-se também visores de cristal líquido, que consomem menor quantidade de energia;

• dispositivos gráficos (ou plotters): que criam cópias impressas de gráficos e curvas de papel. Com o avanço tecnológico, as impressoras atualmente tem capacidade de produzir material gráfico de ótima qualidade, tendo sua maior limitação no campo (tamanho) de impressão. Os traçadores, dependendo das suas características podem produzir desenhos com mais de um metro de largura e comprimento limitado pela bobina de papel;

• dispositivos de exploração ótica: que podem ler diretamente documentos. Dentre os mais primitivos, pode-se citar as leitoras óticas de cartões ou folhas de marcas (como as usadas no vestibular para registro das respostas). Atualmente, existem dispositivos bem mais complexos como os scanners, que podem transferir para o computador imagens obtidas em figuras, textos e fotografias;

• dispositivos de apontamento: que podem indicar informações ao computador através do posicionamento de um cursor sobre a tela, como é o caso do mouse e da caneta luminosa (ou lightpen);
• teclado: que podem indicar informações ao computador através de caracteres, os quais são traduzidos em códigos binários antes de chagarem a UCP.

O âmbito de dispositivos utilizados por computadores para comunicar-se com os usuários encontra-se em expansão e melhorando em qualidade de interação. De forma a complementar os dispositivos recém-mencionados, há grandes avanços no campo do reconhecimento de voz e saída de voz.

Comunicação com outras máquinas
A troca de informações com outras máquinas também consiste em uma atividade de entrada e saída. Inicialmente, eram utilizadas para troca de informações entre computadores ou entre computador e algum periférico especial localizado dentro de um prédio, em salas próximas.

Atualmente são usadas para comunicação entre máquinas situadas geograficamente distantes, empregando linhas telefônicas e outros meios convencionais. Para isto, os sinais empregados devem seguir normas especiais, afim de não perturbar os serviços normais oferecidos pela rede telefônica. Estes serviços são utilizados em larga escala como, por exemplo: por bancos, para transferir informações referentes às transações, saldos, extratos, etc; por universidades e centros de pesquisa, para difusão de conhecimento e troca de informações; por empresas, para difusão de informações entre filiais e setores agregados ou junto a clientes, etc.

As características básicas desta atividade diferem das demais, principalmente devido à distância onde os elementos envolvidos estão colocados. Portanto, neste tipo de operação de E/S:
• existem equipamentos que operam eletricamente os dados para controlar nível de sinal, forma de transmissão, etc, que são os chamados “modens” (moduladoresdemoduladores);
• a informação está mais sujeita a ser modificada, com a introdução de erros, por efeito de ruído elétrico. Assim, em geral há necessidade de utilizar formas especiais de codificação;
• para evitar que haja muita perda de tempo no estabelecimento da comunicação, incluindo o envio de informações de controle, convém trabalhar com a transmissão de blocos de informação grandes. Isto faz com que, em cada bloco de informação transmitida, haja um percentual pequeno de caracteres ou palavras destinadas ao controle e exigidas pelo protocolo de comunicação.
Sistemas de E/S .

Como visto nas unidades anteriores, as atividades principais dos computadores envolvem dois componentes: a unidade central de processamento (UCP) e a memória principal. A unidade central de processamento busca instruções e dados na memória principal, processa e armazena os resultados na memória principal. Os demais componentes podem ser genericamente denominados de sistema de entrada e saída, uma vez que destinam-se a transferir informações entre a memória ou a CPU e o ambiente externo a estes.

O sistema de E/S inclui os dispositivos de E/S (periféricos ou demais elementos), unidades de controle para estes dispositivos e o software especialmente projetado para operações de E/S. Na seqüência, serão referidos apenas periféricos, já que as demais operações de entrada e saída podem ser tratadas de forma análoga. Existem várias maneiras de se executar as operações de E/S: a possibilidade de se empregar estas formas depende dos recursos de software e hardware disponíveis. A opção por uma delas depende basicamente do desempenho desejado, dos dispositivos envolvidos, e do volume dos dados.

Entrada e saída programada
Quando as operações de E/S são controladas inteiramente pela UCP, isto é, a UCP executa programas que iniciam, dirigem e terminam as operações de E/S, diz-se que o computador emprega E/S programada. Este sistema existe em quase todos os computadores: emprega pouco hardware especial, mas pode ocupar tempo demasiado da UCP no controle de operações relativamente simples de E/S. Uma destas funções é o teste do estado dos dispositivos de E/S para determinar se eles estão ou não requisitando serviços da CPU.

Neste contexto, a transferência é realizada, em geral, entre um registrador da UCP (por exemplo, o acumulador) e um registrador ligado ao dispositivo de E/S. A transferência de um dado do dispositivo de E/S para a memória principal necessita da execução de duas instruções pela UCP:
• uma instrução (INPUT) para transferir uma palavra de um dispositivo de E/S para a UCP;
• uma instrução (STORE) para transferir uma palavra da UCP para a memória principal.

Endereçamento
Em sistemas com E/S programada, os dispositivos de E/S, a memória principal e a UCP se comunicam através de um barramento de uso comum, partilhado entre eles. Cada ligação entre o barramento principal e o dispositivo de E/S é chamada de porta de E/S, sendo atribuída a ela um endereço exclusivo. A porta de E/S pode incluir um registrador de dados. Em algumas máquinas, parte do espaço de endereçamento da memória principal é usado para portas de E/S (E/S mapeada em memória).

Instruções de E/S
Algumas palavras podem indicar o estado do dispositivo de E/S e outras podem ser instruções especiais para este dispositivo.
O simples envio de dados, sem que o dispositivo esteja pronto para recebê-los, pode resultar na perda de informações. Por outro lado, a espera de informações sem que haja tempos pré-determinados, pode resultar em tempos de execução excessivamente longos. Assim, o ideal é que se tenha possibilidade de testar as condições de recebimento / envio de informações pelo dispositivo de E/S, ou seja, avaliar o estado do dispositivo. Normalmente este estado pode ser especificado por um bit de informação que o dispositivo mantém disponível de forma contínua (independente das linhas de dados). Assim, serão necessários os seguintes passos:
• Passo 1: lê a informação de estado;
• Passo 2: testa o estado para determinar se o dispositivo está pronto para iniciar a
transferência de dados;
• Passo 3: se não está pronto, retorna ao passo 1; se está pronto, efetua a transferência do dado.

Acesso direto à memória
Com pequeno aumento na complexidade do hardware, o dispositivo de entrada e saída pode ser munido da capacidade de transferir um bloco de informação da memória principal, ou para esta, sem a intervenção da CPU. Isto requer que o dispositivo de E/S seja capaz de gerar endereços e transferir dados através do barramento da memória principal. Também deve existir um sinal de solicitação de acesso ao barramento e um mecanismo de seleção predefinido (por exemplo, por prioridades).

A UCP é responsável pela inicialização de cada transferência de cada bloco. A partir daí, o dispositivo de E/S pode realizar a transferência sem a necessidade de execução de programa pela UCP, ou seja, sem que a UCP se envolva diretamente na operação, exceto no seu final. Quando isto ocorre, UCP e o dispositivo de E/S interagem e a UCP retoma o controle do barramento através do qual foi feita a transferência. Este tipo de capacidade de entrada e saída é denominada de acesso direto à memória.

Interrupção
O dispositivo de E/S também pode conter circuitos que o habilitam a requisitar serviços da UCP, isto é, provocam na UCP a execução de um programa de atendimento ao dispositivo periférico. Este tipo de solicitação é chamada de interrupção. A disponibilidade de serviços de interrupção livra a UCP de estar periodicamente testando o estado do dispositivo de E/S (afim de verificar se ele tem dados para transferir ou não). Diferentemente do acesso direto à memória, uma interrupção faz com que a UCP páre temporariamente a execução do programa em curso, salvando o estado correspondente, e transfira o controle de execução para um programa de tratamento de interrupção. Assim, quando termina o atendimento da interrupção, a UCP pode reassumir a execução do programa antes interrompido.

Informações complementares
Uma outra opção para execução das atividades de entrada e saída é a existência de processadores especiais, denominados de processadores de E/S ou canais de E/S, que assumem o controle total deste tipo de operações. Com isto, eles aliviam consideravelmente a atividade da UCP, liberando-a para outro tipo de processamento. Estes processadores podem acessar diretamente à memória, podem interromper a UCP, ou executar programas, com conjuntos especiais de instruções, orientadas a operações de E/S. Eles também podem estar ligados à UCP por um barramento especial, chamado de barramento de E/S ou interface de E/S.

Arquitetura Geral do Sistema de Computação(Hardware e Software).




ARQUITETURA GERAL DO SISTEMA DE COMPUTAÇÃO
Hardware e Software

Hardware é o conjunto de dispositivos elétricos/eletrônicos que englobam a CPU, a memória e os dispositivos de entrada/saída de um sistema de computador. O hardware é composto de objetos tangíveis (circuitos integrados, placas de circuito impresso, cabos, fontes de alimentação, memórias, impressoras, terminais de vídeo e teclados).

O software, ao contrário, consiste em algoritmos (instruções detalhadas que dizem como fazer algo) e suas representações para o computador, ou seja, os programas.

Como funciona um sistema de computação:
Uma unidade central de processamento recebe informações através de uma unidade de entrada de dados, processa estas informações segundo as especificações de um programa armazenado em uma unidade de memória, e devolve os resultados através de uma unidade de saída de dados.

Elementos de um sistema da computação:
Unidade Central de Processamento (CPU):
a unidade gestora do computador capaz de administrar todas as operações de leitura/escrita da memória ou de uma unidade de entrada/saída de dados, de executar operações aritméticas ou lógicas e de interpretar todas as instruções recebidas de um programa que está em execução.

- Unidade Lógica e Aritmética (ULA) - responsável pela realização das operações lógicas (E, OU, etc) e aritméticas (somar, etc);
- Unidade de Controle (UC) - envia sinais de controle para toda a máquina, de forma que todos os circuitos e dispositivos funcionem adequada e sincronizada mente;
- Registradores: memórias pequenas, muito caras e de alta velocidade.

Unidades de Entrada/Saída: blocos internos responsáveis pelas transferências de dados entre o microcomputador e qualquer dispositivo periférico. É através de uma unidade de entrada de dados que as informações de periférico de entrada são levadas à CPU ou à memória. De forma similar, é através de uma porta de saída de dados que as informações são levadas da CPU ou da memória para um periférico de saída.

Barramentos: Um barramento ou via ou bus é um conjunto de pinos do microprocessador por onde trafegam um ou mais sinais de hardware. Estes barramentos estão presentes em todo o sistema de computação. Serve de interconexão entre os diversos dispositivos. Os barramentos podem ser de:
- Dados: por onde trafegam os dados entre um dispositivo e outro;
- Endereço: transferem os bits que representam os endereços;
- Controle: onde são passados os sinais de controle.
Memórias: Componentes de um sistema de computação cuja função é armazenar as informações que são (ou serão) manipuladas por esse sistema, para que elas (as informações) possam ser pronta mente recuperadas quando necessário.

As memórias seguem uma hierarquia:
Memória secundária:
possuem uma capacidade elevada e baixo custo se comparada as outras memória. Sua velocidade também é baixa se comparada as outras memórias. Precisam de uma alta capacidade de armazenamento porque tem opções de leitura e escrita. Não volátil, ou seja, os dados não se perdem quando a energia é desligada, quando computador é desligado.

Memória principal: tem opções apenas de leitura, ou seja, os dados que estão na memória secundária ou em qualquer outro dispositivo são carregados na memória principal para assim poderem ser manipulados e por isso precisam de uma velocidade maior.

Memória cache: mais rápidas que a memória principal e com maior velocidade. Estas armazenam as últimas operações que estão sendo feitas no sistema, para que possam ser recuperadas assim que necessário.
Registradores: são memórias de altíssima velocidade e que armazenam informações muito pequenas mas que são de grande importância para o funcionamento do sistema. Estão presentes dentro da UCP.

Arquitetura e Organização:
Arquitetura:
atributos referentes ao projeto do sistema, que não são visíveis ao programador e que tem impacto direto sobre a execução do programa. A arquitetura deixa definido tudo que o sistema de computação vai precisar, como componentes, dispositivos etc.

Organização: refere-se às unidades operacionais e interconexões, ou seja, modo como todas as definições que ficaram definidas na arquitetura são implementadas, as quais são visíveis ao programador. A organização tem a preocupação de colocar tudo que ficou definido na arquitetura para funcionar.
Estrutura e Função:
Estrutura:
modo como os componentes estão inter-relacionados;
Função: operação de cada componente individual como parte da estrutura.

Como os componentes se relacionam:
Uma instrução ou informação é passada para o sistema de computação através de uma unidade ou dispositivo de entrada, podendo ser um mouse, teclado, scanner etc. Assim que essa informação entra no sistema ela vai direto para a UCP, responsável por processar esses dados. Ela possui uma UC (Unidade de Controle) responsável por controlar todo o fluxo da informação desde o momento em que ela entra no sistema até o momento em que ela sai por algum dispositivo de saída. A UC vai saber de onde aquele dado veio ou onde está o dado que vai ser usado e para onde ele precisa ir.

A UC precisa solicitar os dispositivos necessários para realizar aquela operação que foi determinada, podendo ser a memória principal, secundária, monitor, impressora ou qualquer outro. Essa solicitação é feita através do barramento de controle, por onde a UC envia um sinal para o dispositivo especificado. Esse dispositivo por sua vez devolve um sinal pelo mesmo barramento se estiver tudo ok.

Se esse dispositivo for alguma memória, como secundária, principal ou outra qualquer, será necessário também enviar o endereço da informação pelo barramento de endereços, onde ao receber este endereço e verificar que está tudo ok o dispositivo deve emitir um sinal para avisar a UC através do barramento de controle para só depois serem enviados os dados pelo barramento de dados.

Se a UC precisar de algum dispositivo de saída como monitor, impressora ou outro que não tenham endereços de memória, então a após receber a confirmação que veio pelo barramento de controle informando que este tudo ok com o dispositivo, ele pode enviar diretamente os dados pelo barramento de dados.

O importante é saber que em qualquer operação e seqüência é sempre a mesma:
UC envia um sinal para o dispositivo sempre pelo barramento de controle e aguarda uma resposta pelo mesmo barramento;
UC envia o endereço sempre pelo barramento de endereço e aguarda uma resposta sempre pelo barramento de controle;
UC envia ou recebe os dados sempre pelo barramento de dados.

sábado, 13 de dezembro de 2008

Instalações e Opereções de Software.(Firewall)



•Firewall
O que é um firewall ?
Um firewall é um dispositivo de segurança, veremos exatamente o que faz e em que baseia seu funcionamento. Um firewall é um dispositivo que funciona como corta-fogos entre redes, permitindo ou denegando as transmissões de uma rede a outra.
Um uso típico é situá-lo entre uma rede local e a rede Internet, como dispositivo de segurança para evitar que os intrusos possam acessar à informação confidencial.

Um firewall é simplesmente um filtro que controla todas as comunicações que passam de uma rede a outra e em função do que sejam permite ou denega seu passo. Para permitir ou denegar uma comunicação o firewall examina o tipo de serviço ao que corresponde, como podem ser o web, o correio ou o IRC.
Dependendo do serviço o firewall decide se o permite ou não. O firewall examina se a comunicação está entrando ou saindo e dependendo da sua direção pode permití-la ou não.

Deste modo, um firewall pode permitir de uma rede local para a Internet serviços de web, correio e ftp, mas não a IRC que pode ser desnecessário para nosso trabalho. Também podemos configurar os acessos que se fazem desde a Internet para a rede local e podemos denega-los todos ou permitir alguns serviços como o da web, (se é que possuímos um servidor web e queremos que seja acessível pela Internet).

Dependendo do firewall que tenhamos também poderemos permitir alguns acessos à rede local desde a Internet se o usuário tiver se autenticado como usuário da rede local. Um firewall pode ser um dispositivo software ou hardware, ou seja, um aparelhinho que se conecta entre a rede e o cabo da conexão à Internet, ou então um programa que se instala na máquina que tem o modem que conecta com Internet.

 Inclusive podemos encontrar computadores muito potentes e com softwares específicos que o único que fazem é monitorizar as comunicações entre redes.

FIM


Anti-Spyware
 O que é um anti-spyware? Qual a diferença de um antivírus para um anti-spyware?
 Um anti-spyware é um software de segurança que tem o objetivo de detectar e remover adwares e spywares.
 A principal diferença de um anti-spyware de um antivírus é a classe de programas que eles removem.

Adwares e spywares são consideradas áreas “cinza”: nem sempre é fácil determinar o que é um adware e um spyware.
Adwares são desenvolvidos por empresas de publicidade que geram milhões de lucro e que já processaram empresas que fabricam anti-spyware por removerem seus softwares das máquinas dos usuários.
 Muitos antivírus já incorporam detecção de spyware e adware, mas um anti-spyware específico ainda faz parte da programação de segurança da maioria dos usuários

Devo confiar em apenas um anti-spyware?
 Geralmente um anti-spyware é suficiente para detectar a maioria das pragas. A remoção que é mais delicada — a maioria dos softwares é ineficiente, o que faz com que muitos instalem vários 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 não podem ser removidos dessa forma são detectados pelo antivírus, o que significa que o antivírus já serve como um segundo anti-spyware

O que são 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”) são pequenos arquivos inofensivos armazenados pelo seu navegador web. Eles são utilizados por sistemas de publicidade na web para rastrear os cliques que você dá em anúncios, de modo que a agência publicitária consiga determinar seus interesses e oferecer anúncios que tenham mais chance de convencê-lo a clicar.

 Como muitos consideram esse tipo de atividade uma invasão à 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 página na web que carregue um anúncio para que um cookie seja criado.
Listas MRU (”Most Recently Used”) são 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.

 São 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 anti-spyware detecte. Não é necessário removê-las, a não ser que você não quer que alguém saiba quais os últimos arquivos que você acessou.

O que é o spyware Alexa Related que o Ad-Aware e
o Spybot S&D detectam em uma instalação limpa do
Windows?
 O Alexa Related
é o recurso de “Mostrar links relacionados” do Internet Explorer. Ele possui um erro que pode relevar informações de sessão e páginas visitadas à Alexa, que é uma companhia que trabalha com a geração de estatísticas de acesso.Geralmente é inofensivo.

O que são os adwares e os spywares?
Adwares — são programas comerciais que exibem anúncios publicitários no seu computador. Esses anúncios podem ser pop-ups, banners injetados em websites e também links publicitários no conteúdo da página.
Dialers — são discadores maliciosos que forçam seu computador a discar um número premium para conectar, onde parte do custo da ligação é uma taxa de serviço que é cobrada e recebida pelo dono do número.


Spyware — foi utilizado inicialmente para definir os adwares que utilizam as informações de navegação do usuário para exibir anúncios. Atualmente, o termo é utilizado também para definir adwares, softwares indesejados e até mesmo cavalos de tróia. O termo também é usado para definir softwares demonitoramento comerciais utilizados por empresas para monitorar empregados e por pais para saber quais sites as crianças visitam.
Hijacker — também chamados de spywares, os hijackers (”seqüestradores”) são cavalos de tróia que modificam a página inicial do navegador e, muitas vezes, também redirecionam toda página visitada para uma outra página escolhida pelo programador da praga. A idéia é vender os cliques que o usuário faz nessas páginas, o que gera lucro para o criador do hijacker.






O que é Boot ?
 Antes uma explicação para quem não conhece a terminologia "informática". BOOT é o processo de inicialização de um computador, que vai da inicialização da máquina à execução de seu sistema operacional (SO).Como o Windows, por exemplo.


O que é Bootstrap?
 É o processo de inicialização do micro, onde é lido primeiramente o BIOS e em seguida carregado o sistema operacional e programas. O termo bootstrap poderia ser traduzido para o Português como "levantar-se puxando as próprias botas". A idéia tem uma certa semelhança com o processo de boot de um PC, onde ele se inicializa sozinho.

Durante o Boot, são checados os componentes instalados no PC, contada a memória RAM, realizados testes rápidos para verificar se tudo está funcionando adequadamente e se não existem conflitos de Hardware, etc. Terminados os testes, o BIOS irá procurar o sistema operacional, na ordem estabelecida na opção "Boot Sequence" do Setup.
A lista inclui o drive de disquetes, o HD, o CD-ROM, ou mesmo boot através do chip de Boot da placa de rede (caso tenha). Ao localizar o sistema operacional o BIOS executa os arquivos que iniciam seu carregamento e dá lugar a ele. A partir daí é com a Janela, o Pingüin, o Diabinho ou que mais esteja instalado no PC.

O que é Boot Sector ?
 Também chamado de trilha MBR, ou trilha zero, o setor de boot do HD armazena informações sobre o sistema operacional instalado, quais arquivos devem ser carregados para inicializar o sistema etc.
 O BIOS é muito limitado neste sentido, embora seja capaz de contar a memória e reconhecer os periféricos instalados (via plug-and-play) o BIOS não tem a mínima idéia do que fazer em seguida.

O setor de boot funciona como um ponto de partida,assim que o POST é concluído, o BIOS lê o setor de boot e segue as instruções que estiverem gravadas nele, que iniciarão o carregamento do sistema operacional.
Geralmente o boot é feito através do HD, mas de acordo com o que for configurado na opção "Boot Sequence" no Setup o BIOS pode procurar o boot também no disquete, no CD-ROM, num disco Zip ou até mesmo tentar dar boot através da rede.

Caso o setor de boot seja danificado por qualquer motivo,não será mais possível dar boot pelo HD. Ao instalar qualquer sistema operacional, este irá reescrever o setor de boot, deixando as instruções que permitirão ao BIOS carregá-lo.
É possível instalar mais de um sistema operacional no mesmo HD usando um gerenciador de boot (como o lilo ou grub) que é um programinha que ficará encarregado de lhe perguntar, a cada boot, qual sistema operacional deve ser carregado. Para limpar o setor de boot do HD,você pode dar boot usando um disquete de boot do Windows 95 ou 98 e usar o comando "FDISK /MBR".

Instalações e Opereções de Software.(SO).



Sistemas Operacionais
 Um sistema operacional é formado por um conjunto de programas e rotinas computacionais que têm como objetivo criar uma camada de abstração entre o usuário e o hardware propriamente dito.
 Entende-se por usuário todo e qualquer objeto queprecise de acesso aos recursos de um computador (seja ele um usuário "real" ou aplicativo).
 Os sistemas operacionais podem ser classificados de três maneiras: pelo tipo do núcleo de sistema (ou kernel, como é conhecido no jargão técnico), pelo método adotado ao gerenciar os programas em execução ou pelo número de usuários que podem operá-lo simultaneamente.

 Atualmente, são utilizados basicamente dois tipos de implementações do núcleo de sistema: monolíticos e estrutura de microkernel.
 Núcleos monolíticos têm como principal característica o fato de integrarem todas as funcionalidades possíveis do sistema em um grande "bloco" de software. A adição de novas funcionalidades implica na recompilação de todo o núcleo. Trata-se de uma abordagem um tanto antiquada, mas que foi adotada, por exemplo, por Linus Torvalds quando este resolveu desenvolver o kernel do Linux.

 Microkernel é um termo usado para caracterizar um núcleo de sistema cujas funcionalidades nãoessenciais ao seu funcionamento são transferidas para servidores, que se comunicam com o núcleo mínimo através do modo de acesso do núcleo (local onde o programa tem acesso a todas as instruções da CPU e a todas as interrupções de hardware), deixando o máximo de recursos rodando no modo de acesso do usuário.
 Quando o processador trabalha no modo usuário, uma aplicação só pode executar instruções não privilegiadas, tendo acesso a um número reduzido de instruções.
 Os diversos tipos de sistemas operacionais existentes empregam diferentes maneiras de gerenciar os programas em execução pelo usuário.


Existem basicamente três tipos de gerenciamento de tarefas (ou processos):
Sistemas monotarefa permitem a realização de apenas uma tarefa ou processo de cada vez. Um dos mais famosos sistemas operacionais monotarefa é o MSDOS (Microsoft Disk Operating System), lançado em 1981 e desenvolvido para rodar no recém-lançado processador 8086 da Intel.
Atualmente, a grande maioria dos sistemas operacionais são de tipo multitarefa. Dá-se o nome de multitarefa a característica dos sistemas operacionais modernos que permite repartir a utilização do processador entre várias tarefas simultaneamente.

A multitarefa cooperativa trabalha exatamente como dito anteriormente: o tempo de processamento é repartido entre as diversas tarefas, dando a impressão ao usuário
que elas estão sendo executadas simultaneamente. Sua principal característica (ou deficiência) reside no fato de que não há controle sobre o tempo de CPU que cada processo consome. O sistema cede o controle da CPU ao processo, e este só o devolve quando tiver terminado a sua tarefa.

A multitarefa preemptiva realiza o gerenciamento dot empo de utilização da CPU de forma inteligente,reservando e protegendo o espaço de memória dos
aplicativos e evitando que programas com erros possam invadir as áreas delimitadas pelo sistema operacional. Os núcleos destes sistemas mantêm em memória um registo de todos os processos em execução através de uma árvore de processos.

 Entre outros atributos acerca de cada processo, a árvore de processos inclui as informações de prioridade, com a qual o núcleo calcula o tempo de CPU que deve dar a cada processo; quando esse tempo acaba, o núcleo tira do processo o controle da CPU e o passa ao processo que vem a seguir na fila. Quando a fila acaba, o núcleo volta a dar o controle da CPU ao primeiro processo, fechando
assim o ciclo.

sexta-feira, 12 de dezembro de 2008

Instalações e Opereções de Software.(Antivírus).




Antivírus
O que é e como funciona um antivírus?
 Antivírus é um software responsável pela detecção,desinfecção e remoção de pragas digitais como vírus,trojans (cavalos de tróia), worms e qualquer outro tipo de código malicioso, não se limitando somente aos vírus como o nome sugere. Alguns antivírus também removem adwares e spywares, tarefa antes reservada apenas aos anti-spywares.


 O antivírus funciona com um banco de dados chamado de lista de definição. Essa lista contém informações para que o antivírus consiga identificar quais arquivos são bons e quais são maliciosos. Em outras palavras,para que ele consiga detectar um vírus, é necessário que esse vírus esteja na lista definição.
 Esse é o motivo pelo qual os antivírus requerem atualização constante: para detectar os vírus mais recentes, a lista de definição precisa ser a mais nova possível.
 As companhias antivírus capturam os vírus que estão circulando na rede e também recebem exemplares de seus usuários para atualizar a sua lista de definição.

 Existem algumas técnicas, conhecidas genericamente pelo termo de heurística que analisa a estrutura de um arquivo e, algumas vezes, também o seu funcionamento.

Estas técnicas permitem que um antivírus detecte um vírus que ainda não está presente em sua lista de definição.

Onde posso obter um antivírus?
 Algumas lojas de informática vendem softwares antivírus, mas você também pode baixá-los pela web para testá-los antes de comprá-los. Outros antivírus
também estão disponíveis gratuitamente (freeware), o que lhe permite baixá-los e usá-los no seu computador sem precisar gastar dinheiro.

Devo confiar apenas em um antivírus?
 Não, um único antivírus não é capaz de detectar 100% das pragas existentes. Esse problema, no entanto, não deve ser resolvido instalando-se outro antivírus, pois isto não irá dobrar a capacidade de detecção, mas duplicará a quantidade de falsos positivos, erros, conflitos e causará queda no desempenho.

 Existem outras medidas de segurança que você pode tomar para aumentar a proteção da sua máquina, mas apenas um antivírus é o suficiente para a camada de proteção de códigos maliciosos.

Qual o melhor antivírus?
 Não existe um. Cada software antivírus possui seus pontos fracos e fortes. Os antivírus mais utilizados sempre estarão em uma desvantagem em relação aos
softwares menos conhecidos, pois criadores de vírus sempre tentam testar suas criações contra os antivírus mais conhecidos para ter certeza de que estes não as detectem.
Desta forma, se todos utilizarem um mesmo antivírus por ele ser “melhor”,
logo ele se tornará o pior devido ao contra-ataque dos programadores de vírus.

O que é a Quarentena?
 A Quarentena é uma pasta especial onde o antivírus guarda os arquivos maliciosos que não puderam ser desinfectados. Cavalos de tróia e worms geralmente não infectam arquivos, isto é, não vivem como parasitas e portanto não podem ser “desinfectados”.

 Como o antivírus não consegue determinar isso, ele os move para a Quarentena, onde os códigos maliciosos são desativados.

 O objetivo disso é possibilitar a recuperação dos arquivos, caso os mesmos precisem ser usados para a recuperação de dados.
 A Quarentena também é útil no caso de um erro grave com falsos positivos, pois todos os arquivos ali gravados podem ser recuprados, caso o usuário assim
decida. Em qualquer outro caso, os arquivos presentes na Quarententa podem ser seguramente removidos para liberar espaço em disco.

O que é um falso positivo?
 Dá-se o nome de falso positivo a um ‘alarme falso’ gerado pelo antivírus, isto é, quando um erro na lista de definição faz com que o programa marque arquivos limpos e seguros como infectados.
 Falsos positivos são razoavelmente comuns, mas geralmente ocorrem apenas com arquivos obscuros e portanto afetam apenas poucos usuários. Em raros
casos, arquivos de programas conhecidos e populares são detectados como vírus de forma incorreta, o que pode requerir que o programa seja reinstalado.

Sou usuário de Linux ou outra plataforma não-
Windows. Devo usar antivírus?
 Atualmente, não existem vírus suficientes para a plataforma Linux e outros para justificar a presença de um antivírus. Ainda existem relatos de usuários
infectados, portanto isso não significa que você pode ignorar todas as regras de bom senso e segurança.

É possível ficar seguro sem nenhum antivírus?
 Sim. O antivírus apenas é responsável por uma camada de proteção: a verificação de código malicioso em arquivos do computador. Caso o computador não seja exposto a arquivos maliciosos, o antivírus não será necessário. Para isso é necessário um extremo cuidado com cada arquivo que é aberto na máquina. Somente usuários de Windows muito avançados serão capazes de manter um computador seguro sem um antivírus .