Rocio, Vitor. Tecnologias Da Informação e Comunicação
Rocio, Vitor. Tecnologias Da Informação e Comunicação
Rocio, Vitor. Tecnologias Da Informação e Comunicação
INFORMAÇÃO E COMUNICAÇÃO
Vitor Rocio
Capítulo I – Conceitos básicos das TIC
Desde a pré-história que a informação e a comunicação são vitais para a espécie
humana. A comunicação entre os membros dos grupos de caçadores da Idade da Pedra
era fundamental para garantir o sucesso dos ataques coordenados a animais de grande
porte. O desenvolvimento da linguagem humana foi a consequência desta necessidade.
Com o aparecimento das primeiras civilizações, começa a surgir a necessidade, no
seio dos estados, de transmitir a informação de uma forma mais duradoura e eficaz. A
invenção da escrita permitiu prolongar no tempo o registo da informação mais
importante, podendo ser lida por várias pessoas em alturas diferentes. A escrita tem
também a função de memória, sendo uma verdadeira extensão do cérebro humano.
A invenção da escrita influenciou tanto a forma de transmitir informação, que os
historiadores consideram que a História propriamente dita só começou desde que se
começou a registar os acontecimentos por escrito.
Ao longo do tempo, têm sido muitas as tecnologias da informação e comunicação,
muitas das quais ainda hoje em uso: o papel, o ábaco, a imprensa, o telégrafo, a máquina
de calcular. Só no século XX surgiram os computadores e as redes informáticas: são as
tecnologias de tratamento e disseminação da informação por excelência, já que não
possuem restrições quanto ao tipo de informação nem ao tipo de processamento que
realizam.
1.1 Informação
Todos temos uma noção intuitiva de informação: o telejornal das oito divulga
informação, somos informados das horas ao consultar um relógio, obtemos informação
sobre o significado de uma palavra num dicionário. A informação é tratada pelo nosso
cérebro, que filtra a que nos interessa e que, através do raciocínio, chega a conclusões
que nos são úteis para tomar decisões. O cérebro humano é um órgão demasiado
complexo para compreendermos totalmente como funciona e, em particular, não
sabemos muito bem como lida com a informação. O modelo de informação usado nos
computadores é, portanto, baseado no mundo físico exterior percepcionado pelos nossos
sentidos e não numa eventual representação cerebral. Os tipos de informação com que
interagimos mais frequentemente nos sistemas informáticos são os seguintes:
Destes três tipos de informação, o que nos é menos imediato, o texto (temos que
aprender a lê-lo), é também o mais fácil de representar num computador. Basta atribuir
um código numérico a cada letra e a mais alguns símbolos adicionais (espaço em
branco, pontuação, etc.) e representar o texto através da sequência de códigos
correspondente à sequência de caracteres do texto. Por exemplo, usando o código ASCII
(American Standard Code for Information Interchange), universalmente aceite nos
sistemas informáticos, o texto TECNOLOGIA DE PONTA é representado da seguinte
forma: 84, 69, 67, 78, 79, 76, 79, 71, 73, 65, 32, 68, 69, 32, 80, 79, 78, 84, 65.
O som e a imagem, embora constituam informação mais imediata para nós, têm
uma representação mais complexa no computador. Devido a esta complexidade, só nos
anos 90 se generalizaram os computadores pessoais multimédia, capazes de processar
som e vídeo.
Uma imagem é um padrão bidimensional de luz e cor, logo, a primeira
dificuldade é a representação da luz e da cor. A luz é representada por um número que
identifica a intensidade luminosa. O tom de cor pode ser representada pelas
percentagens relativas de três cores básicas (vermelho, verde e azul nos monitores;
cyan, magenta e amarelo nas impressoras). A disposição espacial da luz e da cor é
representada por um sistema de coordenadas cartesianas, ou seja, cada ponto da imagem
é localizado espacialmente por duas coordenadas numéricas (x e y), que representam a
distância horizontal e vertical a um dos cantos da imagem, tomado como referência.
Para representar o vídeo, há que adicionar uma terceira coordenada ao sistema: o tempo.
O tempo também é um parâmetro importante na representação do som, além dos
parâmetros típicos das ondas sonoras, como amplitudes, frequências e comprimentos de
onda.
Do exposto, concluímos que tudo o que precisamos para representar uma grande
variedade de informação são números. As tecnologias de informação e comunicação
limitam-se a processar e transmitir gigantescas quantidades de números.
1.2. Números
... , ...
...
dígitos posição da
significativos vírgula
(mantissa) (expoente)
Figura 2: Representação em vírgula flutuante
Do exposto nas secções anteriores, concluímos que os números inteiros e reais são
a base da representação da informação nos sistemas informáticos. Por sua vez, estes
números são representados, com certas limitações, por sequências de dígitos. Cada
dígito é um de vários símbolos que representam valores numéricos pequenos: no
sistema decimal há dez dígitos. No entanto, os computadores electrónicos utilizam
apenas dois dígitos (representação binária), por razões de ordem prática: é muito mais
difícil lidar com 10 níveis de tensão eléctrica num circuito. Felizmente, continua a ser
possível representar toda a informação com apenas dois dígitos. O número de dígitos de
um sistema de numeração designa-se por base: o sistema decimal é de base 10 e o
sistema binário é de base 2.
Pensemos no processo de contagem na base 10: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. A seguir
ao 9 vem 10, isto é, voltamos a usar o dígito 0 mas juntamos-lhe um 1 à esquerda.
Quando chegamos a 19, voltamos a 0 mas temos de incrementar o dígito da esquerda:
20. E assim sucessivamente. Quando chegamos a 99, temos de juntar mais um dígito à
esquerda: 100. Etc, etc… Na representação binária é a mesma coisa mas só temos dois
dígitos. Vejamos como se processa a contagem: 0, 1. Como não há mais dígitos, temos
de voltar ao 0, juntando-lhe um 1 à esquerda: 10. Não se deve confundir este número
binário que representa dois com o número decimal dez (representado por 10 no sistema
decimal). Continuando, temos 11 e depois 100, já que se esgotaram os dígitos em
ambas as posições. Depois vem 101, 110, 111, 1000 e assim sucessivamente. A tabela 1
mostra a numeração binária e decimal correspondente para os 10 primeiros números
naturais.
1 0 0 1 1 0 1 1
128 64 32 16 8 4 2 1
|| || || || || || || ||
27 26 25 24 23 22 21 20
Agora, tal como no sistema decimal, basta multiplicar o valor de cada dígito pelo
respectivo peso e somar tudo. É claro que no sistema decimal, já está tudo feito, pelo
que sabemos intuitivamente quanto vale, por exemplo, 1799 (=1x1000 + 7x100 + 9x90
+ 9x1), mas no sistema binário, temos de fazer as contas. A tarefa é, no entanto,
simplificada, já que basta somar os pesos dos dígitos 1 (multiplicar um dígito 0 pelo seu
peso dá 0). Assim, para o exemplo acima, o resultado é:
128 + 16 + 8 + 2 + 1 = 155
234 2
0 117
234 2
0 117 2
1 58
1
Repare-se que um byte = 8 bits = 23 bits
234 2
0 117 2
1 58 2
0 29 2
1 14 2
0 7 2
1 3 2
1 1 2
1 0
A informação representada desta forma diz-se digital, já que é constituída por uma
série de dígitos binários. Mesmo os números reais representados em vírgula flutuante
são apenas um conjunto de dígitos. Os números reais têm uma característica, no entanto,
que os distingue dos números inteiros: é impossível representar digitalmente, com
exactidão, a maioria dos números reais – pensemos, por exemplo, no número π, com a
sua sequência infinita de casas decimais que nunca se repete. Este facto tem a ver com a
natureza infinita dos números reais, tal como foi descoberta por Cantor: amplitude
infinita e precisão infinita.
As grandezas físicas medem-se recorrendo a números reais: os comprimentos são
números reais de metros, os tempos são números reais de segundos. A informação
veiculada por números inteiros é discreta, podendo ser representada de forma digital,
enquanto que a informação veiculada por números reais é contínua, podendo ser
representada apenas aproximadamente em forma digital. Um dispositivo que representa
um número real de forma contínua diz-se analógico, por exemplo, um termómetro que
indica a temperatura através do comprimento de uma coluna de mercúrio. Hoje em dia,
também dispomos de termómetros digitais, que indicam o valor numérico da
temperatura num visor, com uma precisão de uma ou duas casas decimais. As
tecnologias que convertem informação analógica em digital e vice-versa são uma parte
fulcral das modernas tecnologias de informação: a imagem num ecrã (analógica)
resultou da conversão da informação digital guardada na memória da placa gráfica do
computador; a placa de som converte o som captado analogicamente por um microfone
em informação digital. Ao processo de conversão de informação analógica em
informação digital chama-se digitalização ou discretização. Além da gravação digital
de som, o processo de leitura de uma imagem num scanner também é um exemplo
muito conhecido de digitalização.
Organização de um computador
CPU MEMÓRIA
I/O
O “fetch cycle”
O processador tem um modo de funcionamento muito simples e que pode ser ilustrado
pela seguinte “receita”:
Este procedimento chama-se “fetch cycle” e é tudo o que o processador faz. Parece
incrivelmente simples, especialmente se tivermos em conta que apenas existem duas ou
três centenas de instruções diferentes.
Como é que surge então toda a diversidade de funções que um computador exibe? O
segredo está na sequência específica de instruções que é fornecida ao computador,
sequência essa a que chamamos programa. Este aspecto é análogo à diversidade de
mensagens que se conseguem obter com apenas 26 letras.
As instruções do processador
PROGRAMA
DADOS RESULTADOS
Figura 2 - O programa
A seguinte sequência exemplifica um programa (traduzido para português) que pode ser
executado num CPU:
A memória
A utilização que fizemos acima do termo “posição” para indicar o local onde se situam
tanto dados como instruções do programa não é acidental, mas reflecte o duplo papel da
memória num sistema informático: o de armazenar dados e o de armazenar programas.
No início da história dos computadores, os dados e os programas eram guardados em
memórias diferentes; havia a memória de dados e a memória de programas. A
introdução da memória comum para guardar dados e programas constituiu uma
mudança muito importante na forma de organizar a informação no computador. A esta
nova organização chama-se arquitectura de Von Neumann, e todos os computadores
actuais se baseiam nela.
A memória de um computador não é mais do que uma sequência de “compartimentos”
identificados pela sua “posição” e que contêm informação (ver figura 3). Cada
compartimento contém uma quantidade fixa de bits (8, 16, 32 ou 64, conforme o
computador). Independentemente do tamanho do compartimento, a capacidade da
memória mede-se em bytes (isto é, grupos de 8 bits), sendo mais comum actualmente o
uso dos seus múltiplos (kilobytes - Kb, megabytes - Mb, gigabytes - Gb).
. .
. .
. .
2
1
0
Memória Endereços
Figura 3 - A memória
Memória secundária
A memória de que falámos até agora designa-se por memória principal e tem a
vantagem de ser acessível com grande rapidez pelo processador. Infelizmente, como é
constituída por circuitos electrónicos, só cumpre a sua função (a de memorizar os
dados) enquanto for alimentada por corrente eléctrica. Assim que se desliga o
computador, este sofre uma “amnésia” que desagradavelmente sentimos quando
perdemos o nosso trabalho mais recente após uma falha de corrente eléctrica.
Para colmatar este inconveniente, existem dispositivos de memória secundária (o
disco, as disquetes, os CDs, os DVDs) que armazenam dados de forma mais duradoura.
Infelizmente, também têm um aspecto menos bom: o acesso processa-se de uma forma
muito mais lenta. O computador normalmente usa a memória principal e só
ocasionalmente transfere dados de/para a memória secundária.
Por causa desta organização, os utilizadores de computadores sabem que devem
frequentemente “gravar” o seu trabalho (isto é, transferir a informação que compilaram
para um dispositivo de memória secundária), não vá o diabo tecê-las.
Dos vários dispositivos de memória secundária, o disco duro (ou só disco, como é
vulgarmente conhecido) é o mais importante. Está normalmente instalado no interior da
caixa do computador, tem uma capacidade muito grande (medida em Gb) e uma
velocidade de acesso mais rápida que os outros dispositivos de memória secundária.
As disquetes são muito utilizadas (embora cada vez menos), pois podem ser
transportadas de computador para computador. O inconveniente das disquetes é que têm
mantido a mesma capacidade (máximo: 1,44Mb), mesmo com a evolução do tamanho
de programas e dados, o que as torna pouco práticas para transferir ficheiros maiores.
Por essa razão têm sido usados outros dispositivos como as “zip drives” e as “pen disk”
que cumprem a mesma função mas têm capacidades muito maiores. Até os CDs e
DVDs (graváveis e regraváveis) são utilizados para transferir informação entre
computadores, apesar da maior lentidão de acesso. Os CDs e DVDs são preferíveis
quando se pretende guardar informação de forma permanente (por exemplo, um
trabalho acabado) uma vez que têm uma durabilidade bastante maior que as disquetes e
os outros dispositivos e não são influenciáveis por campos magnéticos.
Conflitos de hardware
Por exemplo, se dois dispositivos tiverem a mesma linha de IRQ, poderá surgir um
conflito. No entanto, nem sempre isso acontece. Há casos em que dois dispositivos
podem perfeitamente partilhar a mesma linha de IRQ sem haver problemas. Em geral, o
sistema operativo sabe informar se dois dispositivos estão em conflito ou não.
Se houver conflito, a forma de o resolver é atribuir outra linha de IRQ ao dispositivo em
questão (ou endereço de I/O, ou canal de DMA ou seja o que for que está a causar o
conflito). A resolução nem sempre é pacífica, já que em alguns casos, os dispositivos
têm parâmetros definidos de fábrica que impedem que sejam alterados.
3 - Sistemas Operativos
Além de cumprirem estas funções, os actuais SO não permitem que um programa aceda
directamente ao hardware nem que faça uma gestão própria dos recursos. Por exemplo,
um programa que tencione utilizar o espaço de memória onde está alojado um outro
programa do sistema é impedido de efectuar essa operação. Quem utiliza o sistema
operativo Windows já deparou com certeza com a mensagem “Este programa efectuou
uma operação ilegal e será encerrado”, os utilizadores de Unix/Linux estão mais
habituados à mensagem “Segmentation fault” – estas mensagens significam que o
programa tentou aceder a um recurso (frequentemente, a determinados endereços de
memória) ao qual não tem direito. Estas mensagens não significam necessariamente que
o sistema tem um vírus, já que é muito fácil um programador cometer um erro que faça
com que o programa, em determinadas circunstâncias, tente executar uma operação
ilegal. Infelizmente, o controlo de qualidade no software (assim como noutras áreas)
não impede que todos os programas produzidos sejam isentos de erros.
Voltando às funções do SO, a disponibilização de uma máquina virtual facilita a tarefa
do programador, na medida em que este não tem de se preocupar com os detalhes de
funcionamento de cada pedaço de hardware, nem com a gestão da memória ou do disco.
Por outro lado, os serviços que o SO disponibiliza para estas tarefas podem ser
consideradas muito limitativas, pelo que tem de haver um certo equilíbrio entre
flexibilidade e segurança.
3.1. A “shell”
3.2. Tipos de SO
3.3. Ficheiros
A gestão dos ficheiros no disco é uma das componentes mais importantes do SO. O
subsistema que gere os ficheiros chama-se sistema de ficheiros (filesystem). Tal como
a shell, os actuais SOs disponibilizam vários sistemas de ficheiros, embora só seja
possível escolher um para cada disco no processo de instalação do SO. Exemplos de
sistemas de ficheiros são o NTFS (New Technology File System), o FAT32, ext2fs, o
HFS (Macintosh Hierarchical File System) ou o nfs (network file system). Muitas vezes
um mesmo sistema de ficheiros é usado em sistemas operativos diferentes, fazendo com
que uma unidade de disco normalmente usada por um SO possa ser utilizada por outro
SO. Por exemplo, num computador onde estejam instalados dois sistemas operativos
(embora só seja possível utilizar um de cada vez) é útil que os ficheiros criados num dos
SO possa ser acedido através do outro SO. Isto só é possível se ambos possuírem o
mesmo sistema de ficheiros.
Os ficheiros em disco são normalmente arrumados em directorias ou pastas, que se
organizam numa estrutura em árvore (ver figura 1). Uma cadeia de pastas é designada
por caminho (path), e normalmente representada pelos nomes das pastas separadas por /
ou \. Por exemplo, documentos/curso/informatica representa um caminho que começa
na pasta documentos, passa pela pasta curso que está contida dentro de documentos e
termina na pasta informatica que está contida em curso.
Figura 1 - Árvore de pastas e ficheiros
3.4. Processos
Sendo o sistema operativo a camada de software que faz a ponte entre o hardware e o
sofware de aplicação propriamente dito, resta saber como é que são tratados os
dispositivos de entrada e saída.
Enquanto que os processadores, as memórias e os discos têm um grau elevado de
compatibilidade entre si em computadores do mesmo tipo, o sistema operativo pode ter
em conta, sem grandes problemas, a relativa variedade destes tipos de componentes.
Já o mesmo não se passa com a enorme variedade de dispositivos de entrada e saída que
um computador pode controlar. Os dispositivos variam bastante em tipo e em
fabricante, e não é nada prático que o sistema operativo instalado num computador
tenha em conta todas as possibilidades de periféricos que podem estar ligados.
Este problema é resolvido por recurso a componentes do SO que se designam por
gestores de dispositivos (device drivers), tipicamente um para cada dispositivo a usar
no sistema. Estes gestores de dispositivos são normalmente fornecidos pelos fabricantes
e especificamente desenhados para cada sistema operativo que os suporta. Actualmente,
para facilitar a instalação, os gestores de dispositivos mais comuns já vêm incluidos
com o sistema operativo. No entanto, em caso de problemas de funcionamento, deve-se
sempre obter a versão mais recente do gestor do dispositivo problemático junto do
respectivo fabricante.
Os gestores de dispositivos têm um papel importante a cumprir na função 1 do SO que
vimos acima (disponibilizar uma máquina virtual), porque apresentam ao programador
uma funcionalidade uniforme para cada tipo de dispositivo. Por exemplo, ao construir
um programa para imprimir um documento, o programador não precisa de conhecer os
detalhes da impressora que vai ser usada, e só tem de considerar o “dispositivo virtual”
fornecido pelo gestor de dispositivos da impressora. Além de facilitar o trabalho do
programador, este método tem a grande vantagem de não ser necessário alterar o
programa para que funcione com outra impressora: basta modificar o gestor de
dispositivos da impressora, fornecido pelo respectivo fabricante.
3.7. “Boot strapping”
4.1. Redes
As redes locais são normalmente instaladas e geridas por uma organização. A rede de
uma empresa, universidade ou instituto, quando se confina a uns poucos edifícios
(muitas vezes apenas um), é administrada pela entidade a quem a rede pertence.
No caso das redes metropolitanas e de larga escala, a administração é distribuída por
várias entidades. As entidades que possuem as infra-estruturas, as entidades que
fornecem serviços de rede e que alugam as infra-estruturas, e os estados em cujo
território estão instaladas as redes, que impõem as suas leis.
O exemplo mais imediato de rede de larga escala é a Internet, que conheceu uma
enorme expansão em meados dos anos 90. A Internet é mesmo uma rede global,
chegando a quase todos os locais do planeta. Não tem nenhuma gestão central, mas
baseia-se num conjunto de normas que são aceites por todos os computadores que se lhe
ligam. Alguns computadores nesta rede estão permanentemente ligados e
disponibilizam informação a que outros computadores na rede podem aceder. Os
computadores que fornecem esses serviços são os servidores, enquanto que os que
acedem à informação são os clientes (por exemplo, os vulgares PCs que usamos em
casa), e não têm de estar permanentemente ligados à rede.
Estrela Malha
As topologias mais comuns nas redes locais são o bus e o anel. Estas topologias
permitem controlar os custos, que são proporcionais ao número de nós na rede. Numa
rede em bus, existe uma linha eléctrica com duas extremidades, à qual se ligam os
vários computadores. Os sinais eléctricos que constituem a comunicação estão
acessíveis a todos os computadores em qualquer momento. Numa topologia em anel, os
computadores estão ligados uns aos outros e uma mensagem enviada por um
computador a outro tem de passar por todos os computadores intermédios. A diferença
entre as duas topologias é que no bus, a informação está disponível simultaneamente
para todos os computadores, enquanto que no anel, a informação é retransmitida de
computador para computador.
Nas redes de larga escala, a topologia mais comum é a malha, já que permite que
existam vários caminhos entre dois nós da rede. No caso de um troço de rede falhar ou
um nó não estiver a funcionar, a comunicação entre os restantes nós não é interrompida.
Aplicação
Apresentação
Sessão
Transporte
Rede
Lógica
Física
Figura 2 - Modelo OSI
A primeira camada é a camada física, que envolve o meio físico através do qual são
transmitidos os dados. As propriedades do sinal eléctrico, velocidade de propagação,
ruídos, etc., bem como os sistemas eléctricos e mecânicos de ligação dos computadores
à rede são definidas neste nível.
Camada i Camada i
do emissor do receptor
Protocolo da
Camada i
Ligação física
A Internet utiliza a mesma filosofia do modelo OSI, embora possua menos camadas,
como se mostra na figura 4.
Aplicação Aplicação
Apresentação
Sessão
Transporte Transporte
Rede Rede
Lógica
Subrede
Física
A norma Ethernet define as características de um tipo de rede local que é muito usado.
Os suportes físicos deste tipo de rede são muito variáveis, utilizando cabos de fibra
óptica, coaxiais, par entrançado, etc.. A rede Ethernet utiliza uma topologia tipo bus
com um velocidade de transmissão entre os 10 e 100 Mbit/s. Actualmente, muitas redes
Ethernet utilizam equipamentos que se chamam concentradores (hub) que agregam
várias ligações a computadores. A topologia em bus continua a ser válida, já que o
concentrador funciona conceptualmente como um bus.
As redes telefónicas e de televisão por cabo são outras infraestruturas que podem servir
de meio de transmissão na camada de sub-rede. Os computadores são ligados a estas
redes através de aparelhos chamados modems (abreviatura de modulator/demodulator).
Outra forma, cada vez mais utilizada, de transmissão dos dados é através de sinais de
rádio (norma WiFi). Este tipo de ligação permite que os computadores não tenham de
estar ligados por um cabo à rede, e é muito utilizado nos computadores portáteis.
172.16.1.135
10.0.1.201
192.1.1.255
Os endereços IP são constituídos por duas partes, o netid, que identifica a rede e o
hostid que identifica a máquina. O netid constitui a parte mais à esquerda do
endereço e o hostid é a parte mais à direita. No entanto, o número de bits associado a
cada uma das partes não é sempre o mesmo, existindo três classes de endereços
identificadas pelas letras A, B e C. A tabela seguinte mostra o número de bits usado
para cada parte do endereço IP:
O protocolo de transporte que garante a entrega de pacotes de dados pela ordem em que
foram enviados chama-se TCP (Transfer Control Protocol). Na camada de transporte, o
emissor coloca números de sequência nos pacotes enviados e o receptor verifica se os
pacotes chegam pela ordem correcta. Caso falte algum pacote, o receptor envia um
pedido de retransmissão desse pacote ao emissor, e só quando todos os pacotes são
recebidos pela ordem correcta, o receptor acusa a recepção dos dados à camada
superior. O TCP, juntamente com o IP constituem os mais importantes protocolos
usados na Internet, pelo que muitas vezes se fala em TCP/IP como o protocolo de
transmissão de dados pela Internet (na realidade são dois protocolos).
Existe ainda um outro protocolo muito usado na camada de transporte, o UDP (User
Datagram Protocol), que não tem ligação como o TCP. Em vez de receber os pacotes
pela ordem correcta, a camada de aplicação recebe os pacotes assim que eles chegam. O
UDP tem vantagens quando a velocidade de transmissão é mais importante do que a
fiabilidade. A difusão de áudio e vídeo em tempo real é a aplicação que mais usa este
protocolo, porque a falta de um pacote ou outro não impede a percepção da mensagem
por parte do receptor.
DNS – Domain Name Service, envolve um servidor que aceita pedidos de identificação
de nomes e que envia o respectivo endereço IP. Por exemplo, www.site.com é um nome
que identifica uma máquina na rede. O servidor DNS indica qual é o endereço IP que
corresponde a essa máquina para que a comunicação possa continuar. Os nomes são
formas muito mais fáceis para nós, simples humanos, de identificar um interlocutor na
rede.