Вы находитесь на странице: 1из 31

• Conceitos de tecnologia de informação: Sistemas de

Informações
• Conceito de Software Livre
O conceito de tecnologia da Informação

Os sistemas de informação baseados em computador utilizam a informática e as


telecomunicações como instrumentos para melhorar a sua efetividade. As tecnologias
empregadas melhoram a capacidade e a velocidade das funções de coleta, armazenamento,
processamento e distribuição. Isto contribui para a melhoria da qualidade e da relação custo
benefício da informação disponibilizada.
Podemos conceituar a tecnologia da Informação (TI) como o conjunto de recursos não
humanos empregados na coleta, armazenamento, processamento e distribuição da
informação.
Além disso, consideramos que a TI abrange os métodos, técnicas e ferramentas para o
planejamento, desenvolvimento e suporte dos processos de utilização da informação.
Na atualidade, o conceito de TI, ou Tecnologias de Informação e Comunicação (TIC), é
utilizado para expressar a convergência entre a informática e as telecomunicações.

Desde a década de 1940, com a construção dos primeiros computadores eletrônicos, vem
ocorrendo um processo de transição do perfil tecnológico. Esse perfil tem passado de uma
base eletromecânica para uma base microeletrônica. Os avanços da eletrônica digital, que
inicialmente foram aplicados à indústria de computadores, criaram novos dispositivos
eletrônicos que passaram a ser empregados nas mais diversas indústrias.

No caso específico do processamento eletrônico de dados e das telecomunicações, a


convergência na direção do uso intensivo da tecnologia digital vem proporcionando uma nova
gama de métodos, técnicas e ferramentas utilizadas em sistemas de informação. Assim,
podemos classificar as principais tecnologias utilizadas nos sistemas de informação como:
- tecnologias de hardware;
- tecnologias de software;
- tecnologias de comunicação.

Tecnologias de hardware
No contexto da TI, usamos a palavra hardware para designar o conjunto formado pelos
equipamentos empregados em um sistema de informação. Em especial hardware designa os
dispositivos que compõem um sistema de computador.

Os componentes de um sistema de computador


Um sistema de computador é um conjunto de unidades que realizam a entrada,
processamento, armazenamento e saída de dados a partir de um conjunto de instruções
previamente programado. Dentro da Ciência da Computação, a Arquitetura de Computadores
é a área do que estuda as formas de organizar as unidades de um sistema de computador.
Dentre as diferentes maneiras de organizar um sistema de computador é possível identificar
uma arquitetura básica representada na figura abaixo
a) Unidade de entrada
A unidade de entrada é formada pelos equipamentos que permitem a inclusão de dados a
serem processados pelo sistema de computador. A evolução das tecnologias de entrada de
dados busca métodos, técnicas e ferramentas cada vez mais fáceis de utilizar.
- Teclados: são os dispositivos de entrada de dados mais populares. O teclado permite a
entrada de dados através da digitação de caracteres. Há inúmeros modelos de teclados que
incluem teclas alfanuméricas, teclados numéricos e teclas de funções. Uma preocupação
crescente com as lesões por esforço repetitivo (LER) tem levado ao desenvolvimento de
dispositivos ergonômicos.
- Dispositivos indicadores: em conjunto com interfaces gráficas, estes dispositivos permitem
a entrada de textos e números. Entretanto, os dispositivos indicadores são a alternativa mais
empregada para emitir comandos e realizar seleção de alternativas. Mouse, trackball, touch
screen e canetas óticas são exemplos destes dispositivos.
- Dispositivos de leitura magnética: estes dispositivos são capazes de ler e reconhecer
caracteres e códigos impressos com base em alguma tecnologia magnética. Um exemplo são
os cartões magnéticos empregados por operadoras de cartões de crédito e bancos. Os cartões
utilizam uma faixa magnética onde são gravados dados que podem ser coletados por uma
leitora magnética. Outro exemplo é a tecnologia de reconhecimento de caracteres em tinta
magnética. Documentos impressos com a tinta magnética podem ser lidos por leitoras que
procedem o reconhecimento dos dados.
Dispositivos de leitura ótica: são dispositivos que coletam dados a partir da imagem refletida
por um raio de luz ou uma matriz de células fotoelétricas. Os dispositivos são denominados de
scanners e apresentam uma grande variedade de modelos. Inicialmente os scanners eram
utilizados para a captura de imagens. Atualmente os scanners dispõem de recursos de
reconhecimento ótico de caracteres (OCR – Optical Character Recognition). Esta tecnologia
permite capturar textos e convertê-los para um formato em que possam ser editados. Uma
outra forma de leitura ótica utiliza códigos de barras. Estes códigos empregam barras para
representar caracteres de acordo com um determinado padrão, como o UPC – Universal
Product Code. Os dados codificados desta forma podem ser coletados através de dispositivos
denominados leitoras de códigos de barras.
- Dispositivos de captura de imagens: permitem a captura de imagens estáticas e em
movimento que são digitalizadas e posteriormente podem ser editadas. Estes dispositivos
incluem câmeras fotográficas, câmeras de vídeo e câmeras WEB que possuem recursos
de captura e armazenamento digital de imagens.
- Dispositivos de captura de áudio: dentre estes dispositivos há os que permitem a captura e
reconhecimento da voz a partir de um microfone conectado a uma unidade de reconhecimento
de voz. Unidades de reconhecimento de voz analisam padrões analógicos da fala e os
convertem para a forma digital. Nos sistemas de reconhecimento de voz dependente do
falante, o usuário deve alimentar o sistema com as palavras que deseja que sejam
reconhecidas. Cada palavra deve ser repetida várias vezes para que o sistema armazene as
variações e mantenha um conjunto de referências contra as quais irá comparar uma
determinada palavra capturada. Os sistemas de reconhecimento de voz independente do
falante, vem sendo aperfeiçoados e contam com contribuições da inteligência artificial, em
especial dos estudos sobre o processamento da linguagem natural. Além da captura de voz, há
dispositivos que permitem a digitalização de som capturado a partir de microfones ou de
interfaces conectadas a aparelhos e instrumentos musicais. Os sons são capturados e
digitalizados em diferentes formatos para posterior processamento e reprodução.
- Dispositivos de captura de sinais: são dispositivos que permitem a captura de sinais a partir
do emprego de sensores de luz, som, calor ou movimento. Através de um processo de
digitalização, os sinais captados pelos sensores são codificados e enviados ao sistema de
computador onde são processados. Estes sensores têm importância, sobretudo, em aplicações
industriais e científicas, na medida que permitem monitorar e controlar processos através de
sistemas de informação baseados em computador.

b) Unidade de saída
A unidade de saída é formada pelos equipamentos que permitem a apresentação de resultados
processados pelo sistema de computador. De forma semelhante às tecnologias de entrada de
dados, as tecnologias de saída de dados têm evoluído no sentido de proporcionarem
resultados mais atraentes e fáceis de utilizar.
- Dispositivos de saída em vídeo: são a forma mais popular de visualização de resultados do
processamento. É uma maneira adequada de apresentação de resultados que não precisam
ser mantidos de forma permanente. Além disso, a saída em vídeo permite, em conjunto com
algum dispositivo de entrada, manter a interatividade com o sistema de computador. Os
dispositivos podem ser caracterizados em termos da tecnologia empregada na geração da
saída, tamanho, resolução e capacidade de apresentar cores e gráficos. Do ponto de vista da
tecnologia, os monitores de vídeo mais populares utilizam tubos de raios catódicos (CRT -
Cathode Ray Tube). Esta tecnologia produz a saída através de um canhão que projeta feixes
de elétrons para iluminar os pontos que compõem a tela. Outra tecnologia empregada é a dos
cristais líquidos (LCD – Liquid Crystal Display). Os LCDs são telas planas que usam cristais
líquidos para formar imagens em uma tela de fundo iluminado e de pequena espessura. Os
LCDs são o tipo de tela mais empregado em computadores portáteis. Quanto ao tamanho, os
monitores de vídeo são classificados pela medida da diagonal da tela em polegadas. A
resolução dos monitores é medida pelo número de pontos por polegada. Cada ponto é
denominado de pixel (picture element) e quanto maior o número de pixels por polegada melhor
é a resolução da imagem. No que diz respeito à capacidade de visualização de cores, os
monitores podem ser monocromáticos e coloridos. Nos monitores monocromáticos os
caracteres são apresentados em uma cor de contraste tal como verde, cinza ou âmbar. Os
monitores coloridos são capazes de apresentar as cores básicas (RGB – Red Green Blue) em
diversas tonalidades. A capacidade de apresentar gráficos requer o uso de tecnologias
específicas. Uma destas tecnologias é a de mapeamento de bits que permite endereçar e
manipular individualmente cada pixel. Isto exige maior quantidade de memória no computador
e na placa adaptadora de gráficos. As placas adaptadoras seguem padrões, dos quais o mais
popular é o Extended VGA – Video Graphics Array.
- Dispositivos de saída impressa: a impressão é a forma de saída utilizada quando é
necessário preservar permanentemente ou por um período de tempo longo os resultados do
processamento. Os dispositivos de impressão podem ser caracterizados pelo tipo de
tecnologia, resolução e velocidade de impressão. Com relação à tecnologia, há a impressão
por impacto e a impressão sem impacto. Na impressão por impacto há um contato físico entre
o dispositivo de impressão (martelo, roda impressora, pincel) e o meio que dá suporte à
impressão (papel, plástico, etc.). Um exemplo deste tipo dedispositivo é a impressora matricial
de impacto. Dispositivos de impressão sem impacto são aqueles onde não há contato do
dispositivo com o papel durante a impressão. Nesta categoria encontram-se as impressoras
jato de tinta, que produzem a impressão a partirda aspersão de tinta, e as impressoras laser,
que produzem a impressão a partir de processo eletrostático. A resolução da impressão é
medida por pontos impressos por polegada (dpi – dot per inch). Quanto maior o número de
pontos impressos por polegada, maior é a qualidade da impressão. A velocidade de impressão
é medida em geral em páginas por minuto (ppm), entretanto há impressoras cuja velocidade é
definida por linhas por minuto. Por fim, deve-se considerar que há dispositivos especiais de
impressão como os plotters e os dispositivos de saída de microfilmes e microfichas.
Plotters são dispositivos especiais que permitem gerar resultados gráficos a partir do
acionamento de pincéis que deslizam sobre o material que dará suporte à impressão. Os
plotters são amplamente utilizados nas áreas de engenharia, arquitetura e design.
Dispositivos de saída de microfilmes e microfichas permitem imprimir miniaturas de
documentos a partir de um computador. Estas miniaturas posteriormente podem ser
manipuladas e lidas através de leitoras de microfilmes e microfichas. Esta forma de produção
de saída é útil em ambientes onde há necessidade de manter grandes quantidades de
documentos. Por outro lado, esta tecnologia vem sendo substituída a partir da digitalização de
documentos e gravação em CDs e DVDs.
- Dispositivos de saída sonora: são dispositivos que permitem a emissão de áudio pelo
sistema de computador. Dispositivos de saída de voz convertem palavras previamente
digitalizadas para uma forma audível, podendo ser transmitidas por um canal de comunicação.
Este é o caso das saídas de voz emitidas por sistemas de atendimento telefônico automático.
Dispositivos de saída de áudio também incluem placas de som que convertem sons
digitalizados em sons audíveis transmitidos para alto-falantes ou outros aparelhos de áudio.
- Dispositivos de saída de sinais: são dispositivos que permitem a emissão de sinais
interpretáveis por outros sistemas. São dispositivos importantes em aplicações que incluem o
controle de processos com o uso de sistemas de informação baseados em computador. Por
exemplo, sistemas que controlam processos industriais (tempo de cozimento de um alimento) e
que são capazes de emitir sinais que ligam ou desligam determinados equipamentos (fornos)
conforme determinada situação é detectada (temperatura ou tempo de preparo do alimento
chegou ao limite programado).
c) Unidade de memória principal
A unidade de memória principal é formada pelos dispositivos que armazenam os dados e
instruções em processamento pela Unidade Central de Processamento (UCP). A memória
principal tem uma velocidade de acesso compatível àquela em que a UCP funciona. Assim, os
dados e programas são armazenados durante o processamento na memória principal.
Posteriormente os resultados são liberados para o armazenamento em memória secundária ou
para a unidade de saída.
A memória principal é constituída por diferentes tipos de componentes eletrônicos fabricados
com material semicondutor e denominados de chips. Dois tipos de chips de memória
destacam-se:
- RAM (Random Access Memory): este tipo de memória permite que dados sejam gravados e
apagados durante o processamento. É a área que o sistema de computador emprega para
armazenar e atualizar os dados e instruções em execução pela UCP em determinado
momento. A principal limitação deste chip é o fato de que os dados são mantidos apenas
enquanto o dispositivo for alimentado com energia. Isto implica em dizer que ao desligarmos o
sistema de computador o conteúdo da memória RAM é perdido. Em função disto, é comum
dizermos que a RAM é uma memória volátil e que é necessário dispor de unidades de memória
secundária para o armazenamento permanente ou prolongado de dados e instruções.
- ROM (Read Only Memory): este tipo de memória recebe dados e instruções de forma única
e permanente. Os chips ROM de um sistema de computador vem gravados de fábrica com
dados e instruções específicos. Um exemplo é o uso de ROM para armazenar os dados e
instruções necessários para que o sistema realize a inicialização ao ligarmos um
microcomputador (boot do sistema). Há variações de ROM que permitem gravações para fins
específicos tais como as PROMs (Programmable Read Only Memory) e EPROMs (Erasable
Programmable Read Only Memory).

Além dos chips RAM e ROM, também são utilizadas memórias do tipo cache. Uma memória
cache é um chip de alta velocidade empregado para armazenar dados mais frequentemente
utilizados pela UCP durante um determinado processamento. A memória cache serve como
uma área intermediária entre a UCP e a memória principal, permitindo um aumento da
velocidade de processamento.
O armazenamento de dados e instruções na memória principal e em outros dispositivos de
armazenamento magnético é feito através da propriedade que determinados materiais tem de
apresentarem um sinal ou corrente eletromagnética. Mais precisamente, é possível considerar
que o dispositivo é composto por uma série de elementos que em determinado momento
podem apresentar corrente ou não. A representação deste fenômeno é feita ao considerarmos
que cada elemento de armazenamento constitui um dígito binário ou bit (Binary Digit). Em
determinado momento um bit pode apresentar ou não corrente eletromagnética, isto é, pode
valer 0 (zero) ou 1 (um). Desta forma, a menor fração de armazenamento de dados é um bit e
este é um dos princípios do processamento eletrônico ou digital de dados.

Ao longo da evolução do processamento eletrônico de dados houve a necessidade de


organizar a forma com que dados poderiam ser armazenados e processados no sistema de
computador. Neste sentido, um primeiro passo foi dado ao se definir como unidade de medida
de memória o byte. Um byte é um conjunto de oito bits sendo considerado como a memória
necessária para o armazenamento de um caracter. O tamanho do byte foi definido a partir da
8
constatação de que com oito bits é possível dispor de 256 (2 ) diferentes combinações de bits.
Estas 256 diferentes combinações foram consideradas suficientes para armazenar o conjunto
de caracteres empregados pelos ocidentais em sua linguagem escrita a partir de uma
codificação inicial.

Com o surgimento da indústria de computadores surgiram diferentes formas de codificação


dos caracteres da linguagem humana em uma forma inteligível pelos computadores. Algumas
destas codificações foram definidas por indústrias e outras por entidades de padronização.
Entre os códigos mais populares podem ser citados o EBCDIC (Extended Binary Code
Decimal Interchange Code) criado pela IBM e o ASCII (American Standard Code for
Information Interchange) criado pelo ANSI (American Standards Institute).
Consideramos que o byte e seus múltiplos são empregados para medir a capacidade de
armazenamento de um sistema de computador. Os múltiplos do byte e seus valores podem ser
observados no quadro abaixo:

Medidas de capacidade de armazenamento

Por fim, devemos considerar que cada elemento ou posição de armazenamento da memória
apresenta um endereço. O endereço de uma posição de memória identifica cada uma das
posições. Essa identificação permite ao sistema buscar e enviar dados e instruções em
determinada posição de memória para fins de processamento. Esse endereçamento toma a
forma de conjuntos de bits que são emitidos pela UCP e decodificados por um circuito de
endereçamento existente na memória principal.

d) Unidade de memória secundária


Precisamos dispor de dispositivos de armazenamento secundário em virtude das limitações da
memória principal. Os dispositivos de armazenamento secundário são mais baratos que os
dispositivos de memória principal e viabilizam o armazenamento de grandes volumes de dados
por períodos prolongados na medida que mantém os dados mesmo quando não estão sendo
alimentados por energia. Entretanto, apresentam como desvantagem a menor velocidade de
acesso em virtude de empregarem mecanismos eletromecânicos para a leitura e gravação dos
dados.

Ao estudarmos o armazenamento secundário, levamos em conta os diferentes meios de


armazenamento. Um meio de armazenamento é o material sobre o qual os dados serão
gravados para posterior leitura. Neste sentido, podemos considerar que o papel ainda é um
meio de armazenamento amplamente utilizado. Entretanto, em termos de Tecnologia da
Informação, o meio magnético e o meio ótico são os que preferencialmente dão suporte ao
armazenamento.
- Meio magnético é composto por uma base metálica ou plástica recoberta por material
magnetizável. Durante a gravação, os dados são transferidos para o meio através de um
processo de magnetização que obedece a um determinado padrão de codificação binária
passível de leitura posterior.
- Meio ótico é composto por uma base, em geral plástica, que durante a gravação sofre a ação
de alguma fonte de calor que produz perfurações de acordo com determinado padrão de
codificação. A leitura ocorre a partir da incidência de um feixe de luz que detecta a presença e
ausência de perfurações e as codifica em termos de bits.
Em geral, os meios de armazenamento devem ser preparados antes de sua utilização através
de um processo de formatação. A formatação proporciona a estruturação dos meios de
armazenamento com vistas a uma melhor organização dos dados a serem gravados e
recuperados.
A gravação e leitura de dados armazenados em um meio é realizada por dispositivos ou
unidades de leitura e gravação. De acordo com o tipo de meio de armazenamento, os
dispositivos podem ser caracterizados como dispositivos de armazenamento magnético e
dispositivos de armazenamento ótico.
- Dispositivos de armazenamento magnético: são equipamentos que realizam a gravação e
leitura de dados em meio magnético. Os principais representantes desta tecnologia são as
fitas e discos magnéticos.
- Fitas magnéticas são meios que permitem o armazenamento de grandes volumes de dados
de forma seqüencial. As fitas apresentam a forma de rolos e cartuchos. A capacidade de
armazenamento de uma fita depende da densidade de armazenamento.
A densidade de armazenamento de fitas é medida em bytes por polegada (bpi – bytes per
inch). Quanto maior a densidade da fita, maior é a capacidade de armazenamento. A leitura e
gravação de fitas magnéticas é feita por unidades de fita.
Há fitas de diversos cumprimentos e larguras e diferentes modelos de unidades de fita, de
acordo com o porte dos sistemas de computador. A principal limitação do uso de fitas
magnéticas é que o processo de gravação e leitura é estritamente seqüencial.
Isto torna o processo de leitura e gravação mais lento do que nos discos. Um outro aspecto a
ser levado em conta é a necessidade de um ambiente de armazenamento e gerenciamento
das fitas gravadas, na medida que são suscetíveis à umidade, calor e poeira. Entretanto, o uso
de fitas magnéticas é adequado sobretudo na realização de cópias de segurança (backup) de
grandes volumes de dados.
- Discos magnéticos são meios de armazenamento que permitem o acesso direto aos dados.
Um dos tipos mais populares de discos magnéticos é o disco flexível ou floppy disk. Discos
flexíveis são fabricados em material plástico e recobertos por camada magnetizável.
Apresentam diversos tamanhos e atualmente os mais populares são os de 3 ½ polegadas. Os
disquetes são meios portáteis usados no transporte de dados e sua capacidade de
armazenamento depende do sistema de formatação e chega a alguns megabytes. A leitura e
gravação de dados é realizada por um dispositivo denominado unidade de discos flexíveis.
Estas unidades dispõem de cabeçotes que realizam a leitura e gravação de dados na
superfície dos disquetes.
Outros discos magnéticos são denominados discos rígidos ou hard disks. Os discos rígidos
são fabricados em ligas metálicas e recobertos por material magnetizável.
Além disso, os discos rígidos vem integrados a mecanismos de leitura e gravação formando
um único conjunto denominado de unidade de disco rígido. Estas unidades podem ser fixas e
estarem no interior do gabinete dos sistemas de computador. Além disso, há unidades
removíveis que permitem o transporte e conexão a outro sistema de computador. As unidades
de disco rígido também apresentam grande variação de tamanhos de acordo com o porte do
sistema de computador. As unidades de disco rígido disponibilizam uma capacidade de
armazenamento maior que a dos disquetes, alcançando vários gigabytes. Além disso, as
unidades de disco rígido propiciam maior velocidade de leitura e gravação. O aumento da
capacidade de armazenamento pode ser conseguido através da interconexão de várias
unidades de disco rígido formando um RAID – Redundant arrays of independent disks. Além de
disponibilizarem maior capacidade de armazenamento, os RAIDs podem atuar de forma a
minimizar riscos de falhas através de técnicas de espelhamento de dados em mais de um dos
discos do conjunto.
A principal vantagem dos discos magnéticos diz respeito à possibilidade de realizar o acesso
direto aos dados através de técnicas de indexação. Em virtude disto, as unidades de disco
rígido tornaram-se elementos indispensáveis nos sistemas de computador na medida que
aliam uma grande capacidade de armazenamento a maior velocidade de acesso e gravação.
- Dispositivos de armazenamento ótico: são equipamentos que realizam a gravação e leitura
de dados em meio ótico. Os principais representantes desta tecnologia são os CDs e os
DVDs.
- CD (Compact Disk) é um meio de armazenamento constituído de um disco que em geral
mede 12cm de diâmetro e tem capacidade de armazenamento de 650 mbytes.
Dentre os tipos de CDs, há os que são apenas para a leitura ou CD-ROMs (Compact Disk –
Read Only Memory). Estes discos são empregados para armazenamento de softwares, bases
de dados e materiais multimídia que não sofrem atualização pelo usuário. São produzidos em
massa a partir de um disco mestre que sofreu a gravação dos dados através de laser e se
constitui na matriz dos demais. A leitura dos CD-ROMs é realizada por dispositivos
denominados de unidades de CD-ROM. O processo de leitura é feito através da emissão de
um raio laser sobre asuperfície do disco. O raio reflete-se em áreas sem depressões indicando
1 e torna-se difuso em regiões com depressão, indicando 0. A evolução da tecnologia permitiu
o aparecimento de CDs graváveis denominados de CD-R (Compact Disk – Recordable). Um
CD-R permite que o usuário grave dados uma única vez. Esse processo de gravação é
realizado em unidades de CD-R e produz CDs que podem ser lidos por unidades de CD-ROM.
Após a gravação, os dados de um CD-R não podem mais ser alterados. Esta tecnologia
permitiu que mais empresas e indivíduos pudessem criar seus próprios CDs. O passo seguinte
foi o desenvolvimento de CDsregraváveis ou CD-RW (Compact Disk – ReWritable). Um CD-
RW emprega tecnologia óptico-magnética que permite ao usuário regravar dados através de
unidades de CD-RW. A tecnologia empregada nos CDs está se tornando cada vezmais rápida
e barata fazendo com que unidades de CD se tornem um item indispensável nos sistemas de
computador.
- DVD (Digital Vídeo Disk) é um meio de armazenamento que emprega uma tecnologia mais
evoluída que a utilizada nos CDs e que permite alcançar umacapacidade de armazenamento
que atualmente se encontra em torno de 3 a 8,5 gigabytes. Inicialmente a tecnologia havia
sido projetada para o emprego na indústria cinematográfica. Entretanto, sua utilização nos
sistemas de computador vem ganhando espaço, havendo a possibilidade de que efetivamente
substitua a tecnologia de CD. Os DVDs estão seguindo a mesma trilha percorrida pelos CDs.
Inicialmente prevalecem os DVDs apenas de leitura que são produzidos em massa pela
indústria. A seguir, começam a surgir os primeiros DVDs regraváveis cuja tecnologia deve
evoluir gradativamente e alcançar custos viáveis para sua disseminação comercial. A
perspectiva é de que haja um período de transição em que as unidades de DVD também sejam
capazes de ler CDs até que a tecnologia anterior seja abandonada.

e) Unidade Central de Processamento


A Unidade Central de Processamento (UCP) é o componente de hardware que realiza o
processamento dos dados de entrada, transformando-os em dados de saída. Essa
transformação ocorre a partir da execução de instruções previamente organizadas e fornecidas
à UCP. Para executar esta função, a UCP é dividida em alguns componentes:

Componentes da Unidade Central de Processamento

- Unidade lógico-aritmética: é formada pelos componentes da UCP que realizam cálculos


matemáticos e comparações lógicas.
- Unidade de controle: é a parte da UCP que acessa as instruções a serem executadas,
decodifica estas instruções e coordena os demais componentes com o intuito de executar as
operações decodificadas.
- Registradores: são componentes da UCP que armazenam as instruções e dados em
processamento.
Uma das principais características de uma UCP é sua velocidade. Há diferentes formas de
medir a velocidade de uma UCP.
- Tempo de ciclo de máquina: o ciclo de máquina é o período de tempo que uma UCP gasta
para buscar uma instrução na memória principal, realizar sua decodificação, proceder a sua
execução e armazenar os resultados em registradores ou na memória principal. Nos sistemas
de computador de menor porte, este tempo é medido em frações de segundos tais como
milissegundos (milésimo de segundo), microssegundos (milionésimo de segundo),
nanossegundos (bilionésimo de segundo) e picossegundos (trilionésimo de segundo). Em
computadores de altíssima velocidade emprega-se como unidade de medida o número de
milhões de instruções executadas por segundo (MIPS).
Também para sistemas de grande capacidade de processamento pode-se empregar como
unidade de medida o FLOP, ou seja, o número de operações de ponto flutuante por segundo.
Uma operação de ponto flutuante é uma operação aritmética onde o pontodecimal se move
para obter maior precisão durante a computação. Os múltiplos do
FLOP incluem o megaFLOP (milhões de instruções de ponto flutuante por segundo) e o
gigaFLOP (bilhões de instruções de ponto flutuante por segundo).
- Velocidade de relógio (clock): internamente a UCP marca o ciclo de máquina com base em
pulsos eletrônicos. Esta marcação de tempo é chamada de velocidade de relógio.
Quanto menor o intervalo entre estes pulsos maior é a velocidade de processamento da UCP.
A velocidade de relógio é medida pelo número de pulsos por segundo ou hertz. Os múltiplos do
hertz mais empregados são o Megahertz (Mhz - milhões de ciclos por segundo) e o Gigaherts
(Ghz – bilhões de ciclos por segundo).
Um outro aspectos que influencia a velocidade global do sistema de computador é o tamanho
da palavra do processador. Uma palavra é o conjunto de bits que uma UCP é capaz de
processar durante um ciclo de máquina. O tamanho da palavra é medido em bits. Assim,
quanto maior o tamanho da palavra maior é a velocidade de processamento.
Outra característica importante de uma UCP é o seu conjunto de instruções. O conjunto de
instruções compõe o repertório de ações que uma UCP é capaz de realizar. Este repertório é
definido durante o projeto da UCP e constitui um microcódigo predeterminado a partir do qual o
processador pode ser programado. As famílias mais conhecidas de computadores em termos
de classificação do conjunto de instruções são os chips CISC e os chips RISC.
- CISC (Complex Instruction Set Computing): são chips desenvolvidos dentro do princípio de
que o repertório de instruções deveria ser tão abrangente quanto possível e incluindo as
instruções de gerações anteriores de UCPs. Como resultado, estes chips podem apresentar
várias instruções que tem a mesma finalidade. A partir desta constatação, alguns fabricantes
buscaram reduzir o conjunto de instruções dando origem a família RISC.
- RISC (Reduced Instruction Set Computing): são chips produzidos com o número de
instruções essencial para execução das operações. A conseqüência disto é a obtenção de
UCPs mais velozes.
A UCP de um sistema de computador pode ser constituída por um ou mais componentes
eletrônicos. Nos microcomputadores o mais comum é que a UCP seja um único chip
denominado microprocessador. Entretanto é possível utilizar mais de uma UCP para
potencializar a capacidade do sistema de computador.
- Co-processamento: nesta modalidade usamos um processador adicional para realizar
operações específicas. Assim, há sistemas que dispõem de um co-processador matemático ou
um co-processador gráfico que agiliza o processamento de rotinas específicas.
- Processamento em paralelo: consiste em ligar vários processadores para que operem ao
mesmo tempo. Nesta modalidade é necessário dispor de um software capaz de gerenciar os
diversos processadores e potencializar a capacidade de processamento.

f) Barramentos
As diversas unidades de um sistema de computador são interligadas através de um conjunto
de linhas por onde circulam dados, instruções, endereços e sinais de controle. Este conjunto de
linhas é denominado de barramento (bus).
- Barramento de dados (Data Bus): é o barramento por onde circulam os dados em
processamento pelo sistema. A largura do barramento de dados é o número de bits que em
determinado momento podem estar trafegando naquele barramento. Esta largura afeta o
desempenho do sistema e deve ser compatível com o tamanho de palavra da UCP.
- Barramento de endereços (Address Bus): é o barramento por onde trafegam os endereços
das posições de memória e unidades de entrada e saída onde vão ser armazenados ou de
onde vão ser lidos dados e instruções. A largura do barramento de endereços é expressa em
bits e determina o tamanho máximo de endereçamento da memória principal.
- Barramento de controle (Control Bus): é o barramento por onde trafegam sinais de controle
e interrupção que circulam entre a UCP e as demais unidades. Os sinais de controle e
interrupção marcam a coordenação do trabalho entre as diversas unidades do sistema de
computador, indicando quando cada uma delas deve iniciar ou suspender sua atuação ou
situações em que o processamento deve ser interrompido.
O projeto de um sistema de computador prevê a forma com que os componentes serão
dispostos e interligados. Este projeto é implementado através de vários tipos de componentes
eletrônicos dispostos em placas de circuito impresso. As placas de circuito impresso
apresentam as diversas opções de conexão dos componentes previstas no projeto. No caso
dos microcomputadores a placa mãe é a principal placa de circuito impresso onde são
montados os demais componentes, incluindo o microprocessador, os chips de memória e as
interfaces com unidades de saída e unidades de entrada.

O funcionamento básico de um sistema de computador

O funcionamento de um sistema de computador se baseia no princípio do programa


armazenado. Um programa é um conjunto de instruções inteligíveis pelo computador e
organizado de acordo com uma determinada lógica para transformar dados de entrada em
dados de saída. O princípio do programa armazenado prevê que as instruções a serem
executadas e os dados a serem processados estão armazenados na memória principal. Como
a memória principal é composta por elementos endereçáveis, a UCP carregará instruções e
dados para os seus registradores e procederá a execução do programa instrução a instrução.
Esta abordagem é eminentemente seqüencial e constitui o modelo básico de funcionamento
dos computadores. Existem outras abordagens de acordo com a arquitetura do sistema de
computador.
Ao iniciar a execução de um programa, a UCP carrega o endereço da primeira instrução a ser
executada. A partir daí ocorre a carga, decodificação e execução da instrução. Ao final, a UCP
acessa o endereço da próxima instrução e reinicia o processo até que encontre a instrução de
término do processamento.
O ciclo básico cumprido pela UCP para processar cada instrução é denominado de ciclo de
máquina. Durante este ciclo são realizados 4 passos básicos.
- 1º passo - carregar a instrução: a unidade de controle acessa o endereço de memória que
contém a instrução a ser executada e carrega esta instrução para dentro dos registradores da
UCP.
- 2º passo – decodificar a instrução: a unidade de controle decodifica a instrução. Esta
decodificação pode implicar no acionamento de circuitos que farão o carregamento de dados
que estão na memória e devem ser transferidos para os registradores para que possam ser
operados.
- 3º passo – executar a instrução: a unidade de controle aciona a unidade lógico-aritmética. A
unidade lógico-aritmética realiza as operações previstas na instrução sobre os dados
disponibilizados nos registradores.
- 4º passo – armazenar a instrução: os resultados gerados pela execução da instrução são
armazenados nos registradores ou em posições da memória principal.
Este ciclo básico pode sofrer variações de acordo com o tipo de instrução que está sendo
executado. Durante este processo dados e instruções transitam entre as diversas unidades do
sistema de computador através dos barramentos.

A evolução dos sistemas de computador

A evolução dos sistemas de computador pode ser caracterizada por gerações tecnológicas
(Laudon e Laudon, 2000) que se sucederam desde a década de 1940, quando surgiram os
primeiros computadores eletrônicos.
- 1ª geração – Tecnologia de válvulas (décadas de 1940 e 1950): os sistemas desta primeira
geração utilizavam válvulas como componente básico. Neste período os sistemas de
computador apresentavam grandes dimensões, ocupando andares inteiros de um edifício. Sua
velocidade era da ordem de 10 mil instruções por segundo e sua capacidade de
armazenamento era de cerca de 2 kbytes. Neste período os sistemas eram caros e de difícil
manutenção e operação. Eram usados, sobretudo, na resolução de problemas científicos, em
alguns casos para fins militares. Sua operação era realizada por técnicos, engenheiros e
cientistas que os projetaram.

- 2ª geração – Tecnologia de transistores (final da década de 1950 e década de 1960): a


invenção do transistor proporcionou o primeiro grande salto qualitativo da indústria eletrônica.
Os sistemas de computador desta geração usavam o transistor como componente básico,
ocasionando uma drástica redução de tamanho. Estes sistemas passaram a ocupar uma sala e
seu custo e tecnologia permitiram que começassem a ser fabricados para uso comercial. Sua
velocidade era da ordem de 300 mil instruções por segundo e sua capacidade de
armazenamento chegava a 32 kbytes. Ainda eram sistemas caros, sendo utilizados por
grandes empresas e governos. Nesta época surgem os primeiros sistemas operacionais que
proporcionavam maiores facilidades de operação.
Além disso, surgiram as primeiras linguagens de programação de alto nível que
proporcionaram a construção de softwares dedicados a aplicações científicas e comerciais.
Sua operação passou a ser realizadas por pessoal especializado em processamento eletrônico
de dados nas empresas.
- 3ª geração – tecnologia de circuitos integrados (final da década de 1960 e década de
1970): a tecnologia de circuitos integrados permitiu a miniaturização de circuitos eletrônicos e
sua produção na forma de chips de silício. Na terceira geração, os circuitos puderam integrar
milhares de componentes propiciando mais uma redução no porte dos
equipamentos eletrônicos. Os sistemas de computador desta geração empregavam chips como
componente básico e suas dimensões foram reduzidas drasticamente. A velocidade destes
sistemas era da ordem de 5 MIPS e sua capacidade de armazenamento chegou a 2 mbytes..
Neste período ocorre o desenvolvimento de linguagens de programação de terceira geração
para usos científico, comercial e educacional. Inicia a popularização do uso do computador
pelas empresas. Ao final deste período começam a surgir os primeiros microprocessadores.
Estes chips eram capazes de concentrar em um único componente todas as funções de uma
UCP. Os microprocessadores passam a ser utilizados pela indústria na produção de
microcomputadores. O conceito de computação
pessoal surge. Inicialmente os microcomputadores são peças de hobbistas e, em seguida,
começam a aparecer as primeiras aplicações individuais e domésticas dos microprocessadores
e microcomputadores.
- 4ª geração – Tecnologia de circuitos integrados em escala muito alta (década de 1980
até os dias atuais): a evolução da indústria de circuitos integrados permitiu que um único chip
pudesse concentrar centenas de milhares e até milhões de componentes.
Esta tecnologia passou a produzir os LSIC (Large Scale Integrated Circuits) e os VLSIC (Very
Large Scale Integrated Circuits) como componentes eletrônicos com aplicações nas mais
diversas áreas. A velocidade dos sistemas de computador baseados nesta tecnologia
ultrapassa os 300 MIPS e sua capacidade de armazenamento chega ao
gigabytes e terabytes. Os sistemas de computador passam a ser empregados nas mais
diversas áreas. Novas tecnologias como a Multimídia, Internet, a telefonia celular e a
transmissão sem fio agregam recursos cada vez mais sofisticados aos sistemas.
A evolução dos sistemas de computador continua, a ponto de alguns considerarem que já
estaríamos no início da quinta geração tecnológica. Esta quinta geração seria caracterizada
pela convergência entre as diversas tecnologias de base microeletrônica, o uso de novas
arquiteturas de computador e o emprego de novas tecnologias que permitissem a construção
de sistemas que efetivamente disponham de uma inteligência artificial. Por outro lado, como
argumenta OBrien (2000), é possível que já não possamos mais empregar o conceito de
gerações tecnológicas, em virtude das rápidas mudanças que vem ocorrendo nas tecnologias
de hardware, software e comunicações e a dificuldade de aplicar os parâmetros de
classificação que vínhamos utilizando até agora.

Tipos de computadores

Podemos empregar a capacidade de armazenamento e a velocidade de processamento para


classificar os tipos de computadores.
- Mainframe: é um sistema de computador que apresenta grande capacidade de memória e
velocidade de processamento. É utilizado em aplicações empresariais, científicas e
governamentais que exigem o processamento de grandes volumes de dados ou
processamento complexo. Muitas empresas os utilizam pela segurança que proporcionam em
situações de processamento crítico, como é o caso de sistemas de reservas aéreas e sistemas
de processamento de transações bancárias. Em geral caracterizam-se pelo processamento
centralizado, onde uma UCP é acessada por diversos usuários através de terminais compostos
por um monitor de vídeo, um teclado e um dispositivo indicador como um mouse.
- Minicomputador: é um sistema de computador que apresenta média capacidade de memória
e velocidade de processamento. É utilizado em aplicações específicas como servidores de
rede, servidores de dados, servidores de sistemas multiusuário. Embora o termo
minicomputador esteja em desuso, pode ser empregado como referência aqueles
equipamentos que, mesmo sendo microcomputadores, apresentam uma maior capacidade de
memória e velocidade de processamento quando comparados aos demais microcomputadores
utilizados na organização.
- Microcomputador: é um sistema de computador que apresenta menor capacidade de
memória e velocidade de processamento. É utilizado em aplicações pessoais e domésticas ou
como terminais de sistemas multiusuário. Além disso, podem dispor de recursos de hardware e
software adicionais para serem utilizados como estações de trabalho (Workstations) por
usuários especializados. Atualmente é possível distinguir alguns modelos de microcomputador.
- Desktop: é o microcomputador de mesa. A configuração mais comum inclui gabinete, monitor
de vídeo, teclado, mouse e outros periféricos de acordo com a sua utilização.
- Notebook/Laptop: é um microcomputador portátil. Tem o tamanho aproximado de uma
valise. Seu gabinete em geral é composto por duas partes que se abrem e onde estão
integrados todos os componentes incluindo placa mãe, UCP, memória principal, tela de cristal
líquido, dispositivo indicador tipo trackball, teclado e unidades de memória secundária.
- Palmtop: é um microcomputador de mão. Tem o tamanho aproximado de uma calculadora ou
agenda eletrônica. Seu gabinete integra as diversas unidades de um sistema de computador e
inclui recursos de software de agenda, editor de textos, planilha de cálculo.
- Supercomputador: é um sistema de computador dedicado à resolução de problemas que
exigem grande capacidade de processamento em termos de velocidade e precisão de
resultados. Em geral utilizam recursos de processamento paralelo e arquiteturas não
convencionais. Suas principais aplicações estão nas áreas, científica e militar.
Embora essa classificação possa sofrer críticas no sentido de conseguir acompanhar a rápida
evolução do hardware, ela pode nos auxiliar na diferenciação dos tipos de computador mais
adequados para determinadas finalidades

Tecnologia de software

Os equipamentos que compõem a Tecnologia da Informação são capazes de executar


instruções que operacionalizam a solução de problemas. No caso dos sistemas de
computador, uma instrução é um comando que pode ser decodificado e executado pela
unidade de controle de acordo com o conjunto de instruções definido no projeto da UCP. As
instruções para a resolução de um determinado problema operam certos dados e estão
organizadas conforme alguma lógica algorítmica.
Um algoritmo expressa formalmente uma solução para um problema através de um conjunto
finito de passos que, ao ser executado, opera certas estruturas de dados, produz resultados e
cumpre determinados objetivos. O estudo dos algoritmos, das linguagens empregadas para
expressá-los e dos modelos de computação capazes de executá-los é um dos focos da Ciência
da Computação e uma das bases de atuação dos profissionais da área de Computação e
Informática.
Além disso, um programa de computador é um algoritmo expresso em uma linguagem que
um sistema de computador é capaz de executar. A programação de computadores é a área da
Ciência da Computação que se dedica ao estudo dos métodos, técnicas e ferramentas
empregadas no desenvolvimento de programas de computador. Estes programas constituem o
elemento básico do que chamamos de software.
A palavra software designa o conjunto de programas que um equipamento e, em especial, um
sistema de computador é capaz de executar. Podemos considerar que um software é uma
solução para um determinado problema. Esta solução pode ser composta por vários programas
de computador formando um sistema de software.
Temos então que um sistema de software é um conjunto de programas de computador que
operam de forma conjunta para solucionar problemas de uma determinada área. Em um
sentido mais amplo, um sistema de software abrange uma série de programas separados,
arquivos de configuração que são utilizados para configurar esses programas, documentação
do sistema que descreve a estrutura desse sistema, e documentação do usuário, que explica
como utilizar o sistema e, no caso dos produtos de software, sites WEB para os usuários
fazerem download das informações recentes do produto.
Um produto de software é um sistema de software que pode ser disponibilizado para uma
clientela. Estes produtos podem ser genéricos ou personalizados. Produtos genéricos são
sistemas de software produzidos por uma organização e comercializados para qualquer cliente
que seja capaz de utilizá-los. Produtos personalizados, são sistemas de software
desenvolvidos para atender as necessidades de um cliente em especial.
Em ambos os casos, a empresa produtora disporá de um processo de software. O processo
de software é o conjunto de atividades gerenciais e tecnológicas, bem como os resultados
gerados por tais atividades, que um determinado produtor de software emprega no
desenvolvimento e manutenção de seus produtos de software.
A Engenharia de Software se dedica aos aspectos gerenciais e tecnológicos relacionados ao
desenvolvimento, ao suporte à utilização e à manutenção e evolução de sistemas de software.
A perspectiva é dotar a indústria de software de conceitos, métodos, técnicas e ferramentas
capazes de propiciar a melhoria dos processos e produtos de software.

Relação entre hardware, software e usuário

Uma forma de classificar os software é levar em conta as principais funções que este
componente dos sistemas de informação desempenha em relação ao hardware e ao usuário.
O software pode ser compreendido como uma camada intermediária entre o hardware e o
usuário.
Esta camada pode ser caracterizada como sendo uma interface através da qual hardware e
usuário mantém trocas de dados e instruções. Por outro lado a própria camada de software
pode ser subdividida em software de sistema ou básico e software aplicativo.

Relação entre hardware, software e usuários

Software de sistema ou básico

Esta categoria compreende os softwares que realizam tarefas fundamentais para o


funcionamento do hardware e utilização dos recursos de máquina pelos softwares aplicativos e
usuários.
a) Sistemas operacionais
Como vimos anteriormente, o hardware que compõem um sistema de computador é um
conjunto de componentes eletrônicos que apresenta um nível de complexidade alto. Neste
sentido, é necessário encontrar formas de tornar o seu uso conveniente além de alcançar uma
forma de operação eficiente. Neste sentido, um sistema operacional é um software cujos
principais objetivos são disponibilizar aos usuário um meio conveniente de utilização do
hardware e gerenciar o funcionamento do sistema de computador. Dentro desta perspectiva,
um sistema operacional pode ser encarado como uma máquina virtual que proporciona o
acesso dos recursos sem que seja necessário o conhecimento detalhado de como os
dispositivos funcionam e um gerenciador de recursos que proporciona o funcionamento
integrado e sincronizado de todos os elementos de um sistema de computador. Para isso o
sistema operacional desempenha as funções de:
- Gerenciador de Processos: um processo é uma tarefa em execução pela UCP. Neste
sentido, o sistema operacional gerencia a execução das diversas tarefas em processamento,
coordenando o compartilhamento dos diversos recursos do sistema operacional.
- Gerenciador de memória: na medida que a UCP precisa de memória para executar os
processos, o sistema operacional emprega certas técnicas que permitem otimizar a utilização
deste recurso.
- Gerenciador de entrada e saída: o sistema operacional controla o acesso aos dispositivos
de entrada e saída nas diversas situações em que os processos fazem uso destes dispositivos
para obter dados ou apresentar resultados.
- Gerenciador de arquivos: dados e instruções podem ser armazenados em memória
secundária. A organização das unidades de memória secundária e da forma com que os dados
podem estar armazenados e acessados é uma tarefa do sistema operacional.
A tecnologia de sistemas operacionais é uma área da Ciência da Computação que continua
em evolução. Há diversos produtos de software desta categoria. A escolha do sistema
operacional adequado para um determinado sistema de informação é uma decisão que deve
levar em conta a tecnologia de hardware a ser empregada e as aplicações a serem
disponibilizadas aos usuários.

b) Utilitários
Os utilitários são softwares que permitem realizar tarefas rotineiras que proporcionam
melhoraria da performance e segurança do sistema. Nesta classe se enquadram softwares de
antivírus, backup, segurança, organização de unidades de memória entre outros.

c) Ferramentas de desenvolvimento de software


As ferramentas de desenvolvimento são softwares empregados pelos profissionais de sistemas
de informação para o desenvolvimento de outros softwares destacando-se as linguagens de
programação e seus tradutores e os sistemas gerenciadores de bancos de dados.
- Linguagens de programação: uma linguagem de programação é uma ferramenta de
desenvolvimento que permite especificar um programa de computador. A evolução das
linguagens de programação permite classificá-las em gerações:
- Linguagens de 1ª geração ou linguagens de máquina: os primeiros computadores eram
programados fisicamente a partir da configuração manual de seus componentes. Esta
programação primitiva implicava na determinação das seqüências de bits correspondentes as
instruções e dados a serem processados. Com o aperfeiçoamento dos sistemas de
computador a programação passou a ser realizada através da entrada destes códigos binários
através de outros meios e dispositivos de entrada. Estes códigos binários representavam
efetivamente o que a UCP era capaz de realizar, daí a denominação de linguagem de máquina.
Atualmente o conceito de linguagem de máquina permanece no sentido de designar o código
que efetivamente um determinado sistema de computador é capaz de decodificar e executar.
Este código é denominado de código objeto e os programas nele escritos são conhecidos por
programas objeto. Estes programas resultam de algum processo de tradução que converte
programas escritos em linguagens mais próximas da linguagem humana para a linguagem que
uma determinada máquina (UCP) é capaz de executar.
- Linguagens de 2ª geração ou linguagens Assembly: a dificuldade de programação em
linguagem de máquina levou ao surgimento de linguagens que buscam codificar determinadas
seqüências de instruções de máquina em códigos e símbolos mnemônicos. As operações
básicas e posições de armazenamento de um determinado tipo de UCP são representadas por
códigos e símbolos que são parecidos ou são abreviaturas de palavras da linguagem humana.
Estas linguagens são denominadas de montagem (assembly) e são dependentes do projeto da
UCP.
Além disso, o uso de uma linguagem assemby exige que seja utilizado um software montador
(assembler) que traduz para linguagem de máquina o programa escrito em linguagem
assembly. Uma das limitações da programação assembly é o fato de que produz programas
baseados em códigos de uma determinada UCP. Isto obriga os programadores a dominarem
os detalhes específicos de um determinado sistema de computador. Por outro lado, a
programação assembly é útil em situações onde desejamos utilizar recursos específicos de
uma CPU ou melhorar a performance de determinados programas de computador.

- Linguagens de 3ª geração ou linguagens de alto nível: a partir da década de 1950


surgiram linguagens de programação que buscaram se aproximar mais da linguagem humana
como forma de tornar a programação mais fácil e os programas mais independentes do tipo de
sistema de computador em que iriam ser executados.
Assim, surgiram linguagens que usam um subconjunto de símbolos e palavras da linguagem
humana natural e obedecem regras gramaticais bem definidas. Os programas escritos nestas
linguagens são eminentemente procedurais. Isto é, o programador deve especificar
detalhadamente o procedimento a ser executado pelo sistema de computador. Um programa
escrito em uma linguagem de 3ª geração é denominado de programa fonte. Para que ele seja
executado por um sistema de computador ele deverá ser traduzido para linguagem de
máquina, gerando um programa objeto. Esse processo de tradução é realizado por softwares
tradutores.
Dentre as várias linguagens de programação que já foram criadas podemos citar FORTRAN,
COBOL, BASIC, PASCAL e C.
- Linguagens de 4ª geração: a perspectiva de tornar a programação de computadores uma
tarefa próxima da forma de comunicação humana levou ao aparecimento de um outro conjunto
de linguagens ainda mais próxima da linguagem humana. As linguagens de programação de 4ª
geração caracterizam-se por apresentarem comandos capazes de realizar tarefas que na
terceira geração implicariam na construção de programas inteiros. Em função disto as
linguagens desta geração são consideradas não procedurais. Programas escritos em tais
linguagens também passam por um processo de tradução que transforma código fonte em
código objeto. Como exemplos destas linguagens, podemos citar as linguagens de definição e
manipulação de dados bem como geradores de relatórios e de aplicações.
Com a evolução das linguagens de programação ocorreu a proliferação de diferentes versões
de uma mesma linguagem. Na tentativa de minimizar os problemas de compatibilidade, órgãos
de padronização têm proposto normas para a especificação das principais linguagens de
programação. Estas normas descrevem os comandos padrão de uma linguagem bem como as
regras gramaticais que devem ser obedecidas. Este é o caso das linguagens C e SQL que
dispõem de padrões especificados pelo ANSI (American National Standards Institute). Outro
aspecto a se levar em conta, é que o desenvolvimento de linguagens de programação não
parou. O principal esforço continua sendo a busca de linguagens de programação que se
aproximem cada vez mais da linguagem natural.
- Tradutores de linguagens de programação: são softwares que realizam o processo de
conversão dos programas fonte escritos em uma linguagem de programação. Os principais
tipos de tradutores são:
- Montadores: softwares que permitem a tradução de programas assembly para código de
máquina.
- Interpretadores: softwares que traduzem código fonte para código objeto instrução a
instrução, indicando imediatamente se um determinando comando está errado.
- Compiladores: softwares que traduzem o código fonte em código objeto processando todo
um programa escrito em uma determinada linguagem de programação. Após a compilação, os
códigos sofrem um processo de linkedição. A linkedição consiste em “empacotar” todo o
código objeto em um único módulo executável pelo sistema de computador e que pode ser
armazenado em uma unidade de memória secundária.
Os tradutores de software, e em especial os compiladores, constituem produtos de software
comercializados por diferentes empresas. Assim, para uma mesma linguagem de
programação, especificada conforme padrões aceitos pela indústria, podem existir diferentes
compiladores. Este compiladores suportam os comandos padrão da linguagem e dispõem de
recursos adicionais incluídos pelo fabricante como características diferenciadoras de seu
produto em relação ao dos concorrentes.
- Sistemas gerenciadores de bancos de dados: são softwares que permitem o
desenvolvimento, utilização, manutenção e gerenciamento de bancos de dados. Um banco de
dados é um conjunto integrado e organizado de dados. Estes dados estão armazenados em
unidades de armazenamento secundário e são acessados por softwares de acordo com as
necessidades de processamento. Um Sistema Gerenciador de banco de Dados é composto
por:
- Linguagem de definição de dados: permite a definição da estrutura do banco de dados
tanto do ponto de vista do usuário (modelo lógico) quanto do ponto de vista dos recursos do
sistema de computador (projeto físico).
- Linguagem de manipulação de dados: permite realizar operações sobre os dados do banco
de dados. As operações básicas são a inclusão, exclusão, alteração e consulta dos dados. O
padrão mais aceito em termos de linguagens de definição e manipulação de dados é o SQL
(Structured Query Language).
- Dicionário de dados: é um banco de dados que contém todas as definições dos demais
bancos administrados pelo sistema gerenciador de banco de dados. Estas definições incluem
características e padrões de armazenamento, segurança e integridade dos dados.
Adicionalmente, os sistemas gerenciadores de bancos de dados podem dispor de recursos
para a realização de cópias, a recuperação de falhas e a definição de mecanismos de
segurança contra acesso não autorizado. Além disso, é comum que estes produtos de software
agreguem linguagens de programação de 4ª geração, geradores de consultas e relatórios e
ferramentas de monitoramento de desempenho.
- Ambientes integrados de desenvolvimento de software: são produtos de softwares que
integram em um único pacote um conjunto de ferramentas de desenvolvimento tais como
editores, compiladores, depuradores de erro, sistemas gerenciadores de bancos de dados,
geradores de código e geradores de telas e relatórios. Estes ambientes visam aumentar a
produtividade do desenvolvedor que passa a dispor de uma autêntica bancada de trabalho.
- Ferramentas CASE (Computer Aided Software Engineering): são produtos de software
empregados em atividades do processo de desenvolvimento de software. Estas ferramentas
podem ser classificadas de acordo com as atividades de desenvolvimento em que são
empregadas (Mcleod, 1998):
- Upper-CASE: dão suporte as atividades de planejamento de sistemas;
- Middle-CASE: empregadas nas atividades de análise e projeto, proporcionando a
documentação dos requisitos de software e dos modelos de análise e projeto;
- Lower-CASE: empregadas nas atividades de construção e teste de softwares e incluem
geradores de código, de relatórios e de telas.
- Total-CASE: são produtos que procuram integrar ferramentas a serem utilizadas em todas as
atividades de desenvolvimento de software.
A inclusão das ferramentas de desenvolvimento na categoria de software de sistemas ou
básico não é amplamente aceita. Entretanto, incluímos estes produtos de software nesta
categoria levando em conta que sua utilização se distingue dos softwares aplicativos no sentido
de serem empregados por profissionais da área de sistemas de informação em tarefas
específicas que não são de domínio da ampla maioria dos usuários. Além disso, estas
ferramentas apresentam a particularidade de serem empregadas no desenvolvimento tanto dos
softwares aplicativos como dos próprios softwares de sistema ou básicos.

Software aplicativo

A categoria de software aplicativo abrange os produtos de software que permitem aplicar os


recursos da tecnologia da informação a solução de problemas específicos nas mais diversas
áreas deatividade humana.

a) Softwares aplicativos genéricos


Os softwares aplicativos genéricos compreendem os produtos de software disponibilizados
pela indústria na forma de pacotes que atendem necessidades comuns a uma ampla gama de
usuários..
- Aplicativos de produtividade pessoal: incluem produtos de software empregados no âmbito
doméstico e organizacional para realizar atividades tais como editoração de textos, editoração
gráfica, agenda de compromissos, realização de cálculos básicos e gerenciamento de
pequenos bancos de dados. Nesta categoria encontram-se editores de texto, calculadoras,
agendas, planilhas de cálculo, editores gráficos e sistemas gerenciadores de bancos de dados
que podem ser comercializados em separado ou formando pacotes integrados ou suítes de
automação de escritório.
- Aplicativos de uso geral nos negócios: são produtos de software empregados nas diversas
funções e níveis empresariais comuns a qualquer organização. Incluem aplicativos para as
áreas de Recursos Humanos, Finanças e Contabilidade, Marketing e Vendas e Produção.
Atendem os níveis operacional, tático e estratégico. Neste sentido, são componentes de
sistemas de informação de processamento de transações, de informações gerenciais,
transacionais, de apoio à decisão e de informação executiva.
Estes softwares podem ser disponibilizados como soluções individualizadas ou como módulos
de pacotes de gestão integrada denominados comercialmente de ERP (Enterprise Resource
Planning).
- Aplicativos para indústrias específicas: são produtos de software que atendem
necessidades específicas de um determinado ramo de atividade. Produtores de software
podem se especializar na produção de soluções para áreas específicas tais como
agronegócios, siderurgia, educação, saúde, transporte, etc.

b) Softwares aplicativos personalizados


Os softwares aplicativos personalizados compreendem os produtos de software desenvolvidos
sob demanda para atender necessidades específicas de um cliente. Estes softwares podem
ser desenvolvidos internamente ou de forma terceirizada e constituem uma opção adotada em
situações onde não há soluções padronizadas no mercado que atendam as necessidades da
empresa ou a relação custo/benefício do desenvolvimento específico é avaliada como
vantajosa quando comparada com a aquisição de algum pacote padronizado.

Tecnologia de comunicação

A palavra comunicação vem do latim “comunicare” que significa tornar comum. Ao longo da
história, a comunicação tem sido a responsável pela transmissão de dados, informações e
conhecimento entre os homens de uma mesma época e entre gerações de épocas diferentes.
Para isso são empregados diversos sistemas que seguem um mesmo processo básico.

Componentes do processo de comunicação

- Emissor: é o componente que emite a mensagem. Para isso o emissor utiliza um código que
permite registrar a mensagem em um determinado meio de transmissão.
- Canal: é o componente que conecta o transmissor ao receptor durante a transmissão de uma
mensagem. Um canal faz essa conexão através de um determinado meio que possa dar o
suporte de transmissão a uma mensagem.
- Mensagem: é o componente que contém as informações que se deseja tornar comum entre
emissor e receptor.
- Receptor: é o componente que capta a mensagem e a decodifica.
- Feedback: é o mecanismo através do qual o receptor confirma para o emissor o recebimento
da mensagem. Neste momento o receptor pode indicar se a mensagem foi recebida ou não.
A tecnologia de comunicação é o conjunto de métodos, técnicas e ferramentas que
possibilita a criação de sistemas de comunicação. Os sistemas de informação utilizam
tecnologias de comunicação para cumprir suas diferentes funções. Dentre as tecnologias de
comunicação empregadas pelos sistemas de informação é possível destacar:
- tecnologia de telecomunicações
- tecnologia de redes de computadores

Tecnologia de telecomunicações

As tecnologias de telecomunicações, engloba o hardware e o software que propiciam a


transmissão e recepção de sinais de comunicação. Como dissemos anteriormente, vem
ocorrendo uma convergência entre a informática e as telecomunicações em virtude da
disseminação da microeletrônica como base do perfil tecnológico contemporâneo. A
conseqüência disso é que a tecnologia de telecomunicações tem utilizado e integrado sistemas
de computador na constituição de sistemas de telecomunicação.
Um sistema de telecomunicação é um conjunto de componentes de hardware e software que
permite a transmissão de informação. Para isso um sistema de telecomunicação cumpre as
seguintes funções:
- estabelece uma conexão entre o emissor e o receptor;
- propicia a codificação e decodificação das mensagens;
- converte as mensagens em sinais compatíveis com os meios de transmissão empregados;
- efetua a transmissão das mensagens através dos canais estabelecidos;
- controla o fluxo de transmissão das mensagens;
- detecta erros que possam ocorrer nas diversas fases do processo de comunicação;
- emprega mecanismos de correção de erros e recuperação de falhas;
- monitora o desempenho e a segurança do processo de comunicação.

a) Tipos de sinais
Um sinal é uma forma de representação e tratamento da informação através das variações que
um determinado fenômeno sofre ao longo do tempo. Por exemplo, a transmissão de uma
corrente elétrica por um meio condutor pode ser medida através das variações de voltagem.
Estas variações constituem um sinal que pode ser empregado na transmissão de informação.
A tecnologia de telecomunicações emprega dois tipos de sinais:
- Sinal analógico: é o sinal que sofre variação contínua ao longo do tempo entre alta e baixa
voltagem. Ao ser representado graficamente, este sinal terá a forma de uma curva senoidal.
- Sinal digital: é o sinal que sofre variações entre dois estados ao longo do tempo. Os dois
estados representam os valores que um bit pode assumir. Ao ser representado graficamente
um sinal digital toma a forma de retas que se sucedem indicando alta ou baixa voltagem.
O emprego do sinal digital pelo hardware de telecomunicações traz vantagens na medida que
há compatibilidade com os sistemas de computador que em sua maioria são digitais. Além
disso, os sinais digitais tendem a ser mais rápidos e estarem menos sujeitos à distorção.
Entretanto, é possível que haja a necessidade de realizar a comunicação entre um dispositivo
digital e um analógico exigindo um processo de conversão:
- Modulação: é o processo de conversão de um sinal digital em sinal analógico.
- Demodulação: é o processo de conversão de um sinal analógico em digital.

b) Modos de transmissão
A transmissão dos sinais pode ser realizada em três modalidades, conforme a direção do fluxo
de comunicações:
- Simplex: uma transmissão é simplex quando ocorre em um único sentido. É a situação
observada na transmissão das estações de rádio ou canais de televisão.
- Half-duplex: as mensagens podem fluir do emissor para o receptor e vice-versa, mas apenas
em uma direção de cada vez. Um exemplo são os aparelhos de rádio amador.
- Full-duplex: a transmissão pode ocorrer do emissor para o receptor e vice-versa ao mesmo
tempo. É a situação encontrada nas comunicações telefônicas.
A transmissão dos sinais também pode ser classificada de acordo com a forma com que os
dados são organizados:
- Assíncrona: a mensagem é enviada na forma de pacotes de bits onde cada pacote
representa um caractere. Em cada pacote há um bit indicando o início e um bit indicando o fim
do caractere. Além disso, há um bit de paridade que permite ao receptor verificar se o
caractere recebido foi o caractere enviado pelo emissor. A transmissão assíncrona é adequada
em situações onde as mensagens são geradas a medida que a comunicação se processa.
- Síncrona: a mensagem é enviada na forma de pacotes que contém mais de um caractere.
Este tipo de transmissão é melhor empregado em situações onde as mensagens já estão
prontas ou o volume de dados a transmitir é grande.
Por fim, a transmissão dos sinais pode ser classificada levando em conta a transmissão de um
bit de cada vez ou de vários simultaneamente:
- Serial: os bits são transmitidos um a um.
- Paralela: ocorre a transmissão de vários bits simultaneamente através de linhas paralelas de
transmissão.

c) Meios de transmissão
Um meio de transmissão dá o suporte para que as mensagens possam ser transportadas entre
o emissor e o receptor.
- Par trançado: são cabos compostos por dois ou mais fios, geralmente de cobre. São um
meio de baixo custo e adequado para situações em que as distâncias envolvidas são
pequenas. Entretanto, são vulneráveis a interferências e não permitem a transmissão a
velocidades tão altas quanto as conseguidas com outros meios.
- Cabo coaxial: é composto por um fio condutor envolto por três camadas. A mais próxima do
condutor é constituída de um material isolante. A seguir vem uma camada protetora de material
mais rígido e, por fim, uma camada de isolamento adicional. Os cabos coaxiais são mais
resistentes e oferecem uma melhor transmissão que os pares trançados. Entretanto são mais
difíceis de instalar e exigem a utilização de conectores especiais.
- Cabo de fibras óticas: é constituído por milhares de fios de fibra de vidro ou plástico que tem
a capacidade de transmitir sinais através de feixes de luz produzidos por um dispositivo laser.
Alcançam grande velocidade e capacidade de transmissão. Entretanto são mais caros que os
pares trançados e cabos coaxiais. Além disso, sua instalação exige equipamentos e cuidados
especiais.
- Infravermelho: utiliza ondas de luz para a transmissão das mensagens. Esta tecnologia de
transmissão exige que emissor e receptor estejam em linha de visão e seu alcance é de
poucos metros. Tem sido utilizada para a transmissão de dados entre dispositivos que estão a
curta distância e tem a vantagem de não exigirem a instalação de cabos.
- Microondas: este meio emprega ondas de rádio de alta freqüência para transmitir as
mensagens. As microondas são transmitidas através de estações de recepção e transmissão
cujas antenas não devem ser obstruídas. Além disso, como transmitem as mensagens através
da atmosfera, estão sujeitas a interferências climáticas. O uso de microondas é uma forma de
transmissão interessante em situações onde há grandes distâncias envolvidas. Por outro lado
tem um custo elevado e estão sujeitas a autorização de agências reguladores de serviços de
telecomunicações.
- Satélite: são estações transmissoras e receptoras de microondas situadas no espaço. Os
satélites são mantidos em órbita da terra. Um satélite permite a transmissão de mensagens a
longas distâncias inclusive entre pontos situados em diferentes continentes.
Em geral os satélites são propriedade de empresas, consórcios de empresas e governos que
alugam canais para outras organizações.
- Telefonia Celular: emprega o conceito de divisão de uma área geográfica em células que
são interligadas por um sistema de transmissão de ondas de rádio. Assim, um dispositivo de
comunicação móvel, que esteja habilitado, é capaz de utilizar os recursos de transmissão e
recepção do sistema para realizar suas comunicações a medida que trafega de uma célula
para outra.

d) Capacidade de transmissão
A velocidade de transmissão é medida em bits por segundo (bps). Como os bits são
representados por freqüências altas e baixas, o número de bits que um meio pode transmitir
por segundo depende do número de vezes que um sinal pode mudar de uma freqüência alta
para uma freqüência baixa por segundo naquele meio. Ou seja, a velocidade de transmissão
de um meio depende da freqüência do sinal e esta freqüência é medida em ciclos por segundo
ou hertz (Hz).
Além disso, há meios de transmissão que podem transmitir em mais de uma freqüência de
sinal ao mesmo tempo. A diferença entre a maior e menor freqüências que um meio pode
transmitir é denominada de largura de banda. Quanto mais alta a largura de banda, maior a
capacidade de transmissão de um meio.
A escolha do meio de transmissão deve levar em conta a velocidade de transmissão e a
largura de banda de acordo com o tipo de aplicação a ser realizada. Meios de transmissão que
permitem apenas uma freqüência de sinal são mais lentos. Estes meios operam a velocidades
de 300 a 9.600 bps e são de uso freqüente para transmissão de voz. Meios de banda média
operam na ordem de 9.600 a 256.000 bps. Já meios de banda larga oferecem velocidades
acima de 256 kbps.

e) Componentes de um sistema de telecomunicação


Um sistema de telecomunicações apresenta como componentes essenciais:
- Computadores: empregados no processamento das informações que são transmitidas e
recebidas pelo sistema de telecomunicação.
- Terminais: são dispositivos que permitem a entrada e a saída de dados a serem transmitidos.
- Canais de comunicação: são as conexões estabelecidas entre emissor e receptor e que
empregam como base os meios de transmissão.
- Processadores de comunicação: equipamentos que dão suporte ao processo de
transmissão das mensagens realizam diferentes funções de processamento, codificação,
distribuição e controle. Dentre estes equipamentos podemos citar:
- Modems: realizam o processo de modulação e de modulação de sinais permitindo que
equipamento digitais e analógicos possam trocar informações.
- Processadores front-end: computadores dedicados ao gerenciamento do processo de
comunicação.
- Multiplexadores: equipamentos que permitem a transmissão de vários sinais através de um
único canal.
- Concentradores: equipamentos que permitem coletar e armazenar mensagens para então
proceder sua transmissão de forma agrupada.
- Controladores: computadores que supervisionam o tráfego de comunicações.
- Softwares de telecomunicações: controlam as diversas atividades que ocorrem no processo
de comunicação. Dentre estes softwares destacam-se os protocolos. Umprotocolo possibilita
que diferentes equipamentos possam se comunicar.

f) Serviços de telecomunicação
Os serviços de telecomunicação são fornecidos por inúmeras empresas denominadas de
concessionárias de serviços de telecomunicação. Estas empresas atuam em um mercado que
atualmente segue um modelo aberto e que é regulamentado por uma agência governamental.
Há uma gama variada de serviços de telecomunicação que podem ser contratados por
organizações interessadas em fazer uso destes recursos em seus sistemas de informação.
Estes serviços incluem deste a assinatura de serviços de telefonia convencional até a utilização
de canais de satélite. Além disso, a cada dia novas modalidades de serviços são criados com o
intuito de propiciar a melhoria no atendimento das necessidades de comunicação das pessoas
e organizações.

Tecnologia de redes de computadores

Uma rede de computadores é um conjunto interligado de computadores que propicia o


compartilhamento de recursos e a melhoria do processo de comunicação.
Uma das questões que surgem ao se discutir a interligação de diferentes equipamento em uma
rede é a compatibilidade. Há vários esforços por parte de empresas e organismos de
padronização de criar diretrizes que possibilitem o desenvolvimento de ambientes de rede
abertos e flexíveis. Uma destas iniciativas foi realizada pela ISO (International Standardization
Organization) que criou o modelo OSI (Open Systems Interconnection). Este modelo prevê sete
camadas que especificam as diretrizes para o desenvolvimento de sistemas de
telecomunicação dentro da filosofia de sistemas aberto e interconectáveis.

a) Tipos de rede de computadores


Podemos classificar os tipos de redes de computadores de acordo com a abrangência
geográfica de sua atuação:
- Rede local (Local Area Network – LAN): é uma rede que engloba sistemas de computador
dentro de uma área geográfica específica e restrita. Tipicamente uma rede local atende a um
escritório ou fábrica prescindindo de sistemas de telecomunicação externos para a conexão
entre seus componentes.
- Rede de longa distância (Wide Area Network – WAN): é uma rede que abrange sistemas
de computador dentro de uma área geográfica ampla. Neste caso, a rede utiliza serviços de
empresas de telecomunicações para possibilitar a conexão entre seus componentes.

b) Topologias de rede de computadores


Uma topologia de rede define a forma com que os componentes de uma rede são conectados:
- Rede estrela: é constituída por um computador central ao qual são conectados os demais
computadores e equipamentos. O computador central (host) controla todas as trocas de
informação entre os demais equipamentos. Essa topologia pode ser útil em situações onde há
necessidade de algum processamento centralizado em paralelo a processamentos locais. O
inconveniente desta topologia é o fato de que a falha do computador central implica na falha
das comunicações de rede como um todo.
- Rede em barramento: nesta tipologia os vários computadores que compõem a rede são
conectados a um único circuito que é disposto como uma barra de comunicação. Se um dos
computadores falhar, os demais poderão continuar se comunicando. Entretanto, há a
necessidade de um controle para que não haja colisão de mensagens emitidas por diferentes
computadores. Além disso, o barramento só é capaz de lidar com uma mensagem de cada
vez.
- Rede em anel: é uma topologia onde os computadores estão conectados a um barramento
que forma um laço. As mensagens são emitidas em um único sentido e cada computador
monitora a rede no sentido de captar as mensagens a ele dirigidas. A rede em anel e a rede
em barramento são largamente utilizadas em redes locais.

c) Componentes de redes de computadores


Podemos considerar que uma rede de computadores é constituída por:
- Servidores: são computadores que prestam determinados serviços a rede, compartilhando
recursos com outros computadores. Neste sentido podemos ter:
- Servidores de rede: computadores que executam sistemas operacionais de rede.
Estes sistemas realizam o gerenciamento de todas as atividades da rede.
- Servidores de impressão: computadores dedicados ao gerenciamento das impressões
solicitadas pelos usuários da rede. Conectados aos servidores de impressão podem estar uma
ou mais impressoras que são compartilhadas.
- Servidores de arquivos: computadores dedicados ao gerenciamento e manutenção dos
arquivos dos diversos usuários da rede. Estes servidores podem manter em execução
sistemas gerenciadores de bancos de dados que mantém o banco de dados corporativo e
bancos de dados específicos que sejam compartilhados por diversos usuários.
- Servidores de comunicação: computadores dedicados ao gerenciamento de recursos de
comunicação como fax e e-mail e que são compartilhados na rede.
- Estações de trabalho: são computadores e terminais empregados pelos usuários da rede na
execução de suas atividades.
- Equipamentos de comunicação: equipamentos que viabilizam a conexão entre os diversos
computadores que compõem a rede e entre a rede e outros sistemas de telecomunicação e
outras redes. Estes equipamentos incluem hubs, switches e gateways.
- Canais de comunicação: são as conexões estabelecidas entre os diversos equipamentos
que compõem a rede. Estes canais empregam diferentes meios de transmissão.
- Softwares de rede: executam os diversos processos necessários para o funcionamento e
gerenciamento de uma rede. Dentre estes softwares podemos destacar os sistemas
gerenciadores de rede e os protocolos.
- Sistemas de gerenciamento de rede: incluem sistemas operacionais de rede, monitores de
desempenho de rede e outros softwares utilizados para o gerenciamento do funcionamento,
utilização e segurança de uma rede de computadores.
- Protocolos: um protocolo é um conjunto de padrões que disciplinam a comunicação dentro
de uma rede. Equipamentos de diferentes fabricantes que compartilham um mesmo protocolo
podem se comunicar. Um exemplo de protocolo amplamente utilizado é o TCP/IP
(Transmission Control Protocol/Internet Protocol).

d) Internet
Em 1969 a Agência de Pesquisas Avançadas do Departamento de Defesa dos EUA iniciou o
desenvolvimento de uma rede única que pudesse ser empregada no compartilhamento de
recursos e comunicação entre as diversas áreas daquele departamento. Desde então o projeto
evoluiu e transformou-se no que hoje conhecemos como Internet.
A Internet pode ser conceituada como uma rede global que integra diversas outras redes
locais, regionais e nacionais. É uma grande “rede de redes” que é empregada para fins
científicos, governamentais e comerciais. Não pertence a uma entidade ou organismo
específico e é regulamentada por comitês gestores. Sua criação e disseminação foi viabilizada
a partir da integração de diversas tecnologias (Laudon e Laudon, 2000):
- Tecnologia de redes: a partir da interligação de diversas redes, uma mensagem pode
circular de uma origem até um determinado destino trafegando pelos diferentes caminhos que
podem ser mapeados durante a transmissão.
- Tecnologia cliente/servidor: computadores que disponibilizam informações funcionam como
servidores que podem ser acessados por outro computador cliente, ligado à Internet.
- Padrões de telecomunicações: a utilização de protocolos padrão como o TCP/IP permite
que uma mensagem transite por equipamentos de diferentes fabricantes com baixo risco de
perda de dados.
- Hipertexto e hipermídia: o hipertexto permite que um usuário possa clicar em uma
determinada frase, palavra ou imagem e acessar outro conjunto de informações. Essa
tecnologia potencializou a cesso à informação, permitindo a interconexão de dados que
estejam em diferentes pontos da Internet.
O uso da Internet é feito através de uma série de ferramentas dentre as quais destacamos:
- Ferramentas de comunicação
- Correio eletrônico (e-mail): através de um endereço de e-mail e de um software de e-mail
conectado a um servidor de e-mail o usuário pode enviar e receber mensagens
eletronicamente.
- Newsgroups usenet: são grupo de usuários da Internet que discutem e compartilham
informações e idéias sobre um tema pré-definido em sites específicos.
- Listserv: são grupos de organizados que discutem temas através da troca de mensagens de
e-mail.
- Bate-papo (chat): são sites que permitem que pessoas possam conversar de forma on-line.
- Telnet: é um recursos que permite a um usuário acessar um equipamento a partir de outro..

Ferramentas de recuperação de informação


- FTP (File Tranfer Protocol): usado copiar arquivos que estejam em um outro computador.
- Archie: ferramenta utilizada para procurar arquivos a serem recuperados por FTP.
- GOPHERS: ferramenta usada para acessar arquivos que estejam em servidores gopher. Este
acesso é feito através de menus que hierarquizam as informações.
- World Wide Web: é um sistema de armazenamento, recuperação e exibição de informações
que combina recursos de texto, hipermídia , imagens e som. Fazem parte deste ambiente:
- Páginas e sites: são arquivos organizados de informação disponibilizados por usuários da
WEB. Estes sites obedecem a uma linguagem padrão denominada HTML (Hypertext Markup
Language). Cada site ou página apresenta um endereço URL (Uniform Resource Locator) que
deve ser fornecido para que a sua localização e apresentação. O padrão de comunicação
utilizado para movimentar páginas na WEB é o HTTP (Hypertext Transport Protocol).
- Mecanismos de busca: são ferramentas que classificam os sites existentes na WEB
mediante um cadastramento do mesmo.
- Browsers: são softwares que permitem navegar pela WEB, acessando e apresentando as
páginas e sites mediante ao fornecimento do endereço URL.
O acesso a Internet e suas ferramentas, é feito mediante um provedor de serviços de Internet
(ISP -–Internet Service Provider). O usuário interessado em acessar a internet deve dispor de
uma configuração de hardware e software e uma assinatura de acesso em alguma empresa
que atue como ISP. A partir disto de sua configuração de hardware e software o usuário
efetuara uma conexão com o provedor e, mediante fornecimento de sua identificação e senha,
acessa os recursos de Internet. O acesso a Internet pode ser realizado gratuitamente ou
mediante o pagamento de taxas mensais ao provedor.
A partir da abertura do acesso à Internet as organizações passaram a visualizar a rede como
uma poderosa ferramenta a ser utilizada nos sistemas de informação e nas estratégias de
negócio.
Além disso, os padrões passaram a ser em pregados na criação de redes especificas que
atendem as necessidades internas da organização ou a integração da organização com seus
clientes e fornecedores.
- Intranet: é uma rede que utiliza as tecnologias e ferramentas da Internet em um ambiente
protegido do público. Essa proteção é obtida mediante a criação de firewalls. Um firewall é um
sistema de segurança que visa proteção de redes particulares da invasão de intrusos e da
contaminação por vírus. A intranet passa a se constituir no ambiente eletrônico de trabalho da
organização onde rodam os diversos sistemas de informação que a empresa utiliza.
- Extranet: é uma rede que utiliza as tecnologias e ferramentas da Internet para facilitar a
integração eletrônica entre a empresa, seus clientes e fornecedores. A extranet pode ser
compreendida como uma extensão da intranet, onde determinados usuários externos tem o
acesso permitido a certas funcionalidades que permitem a melhoria dos processos de negócio.
O uso da Internet continua se disseminando. A cada dia novas formas de utilização da rede
são disponibilizadas tanto para os usuários individuais quanto para os organizacionais. Em
especial, as organizações podem contar com a Internet para
- reduzir custos;
- melhorar processos de negócio;
- dar suporte a novos sistemas de informação;
- propiciar a criação de novos produtos e serviços.

SOFTWARE LIVRE
O que é software livre
São programas de computadores construídos de forma colaborativa via internet por uma
comunidade internacional de desenvolvedores independentes. São milhares de "hackers", que
negam sua associação com os "violadores de segurança". "isto é uma confusão por parte dos
meios de comunicação de massa", afirma Richard Stallmann, presidente da Free Software
Foundation. Estes desenvolvedores de software se recusam a reconhecer o significado
pejorativo do termo e continuam usando a palavra "hacker" para indicar "alguém que ama
programar e que gosta de ser hábil e engenhoso". Além disso, estes programas são entregues
à comunidade com o código fonte aberto e disponível permite que a idéia original possa ser
aperfeiçoada e devolvida novamente à comunidade. Nos programas convencionais, o código
de programação é secreto e de propriedade da empresa que o desenvolveu, sendo quase
impossível decifrar a programação. O que está em jogo é a independência tecnológica. Para
Stallman, "software livre é uma questão de liberdade de expressão e não apenas uma
relação econômica". Hoje existem milhares de programas alternativos construídos desta
forma e uma comunidade de usuários com mais de 20 milhões de membros no mundo.

Um software só pode ser considerado livre se proporcionar as quatro liberdades fundamentais:


• Liberdade para utilizar o programa, com qualquer propósito;
• Liberdade para modificar o programa e adaptá-lo às suas necessidades. (para tornar esta
liberdade efetiva, é necessário ter acesso ao código fonte, porque modificar um programa sem
ter a fonte de código é difícil);
• Liberdade para redistribuir cópias, tanto grátis como com taxa; e,
• Liberdade para distribuir versões modificadas do programa, de tal modo que a comunidade
possa beneficiar-se com as suas melhorias.

O exemplo mais conhecido de software que segue este conceito é o sistema operacional
Gnu/Linux, alternativo ao Windows, que é utilizado por quase metade dos provedores de
internet do mundo, pela Nasa e pelo sistema de defesa norte-americano. Aqui no Brasil, o
governo do estado do rio grande do sul e as lojas Renner estão entre as instituições que já
aderiram aos programas livres.

Free software foundation

A Free Software Foundation (fsf) foi criada em 1981, a partir da experiência concreta de uma
comunidade que compartilhava programas de computadores no laboratório do Massachusets
Institute of Technology. Indignados por não terem conseguido o código de programação de
uma impressora xerox, que não funcionava bem, descobriram que os programas, até então
compartilhados por programadores e instituições universitárias e públicas, passaram a ser um
produto de "mercado" e que os códigos de programação, agora secretos, tinham sido
apropriados por grandes multinacionais. A única saída seria construir programas alternativos,
totalmente livres. Liderados por Richard Stallman, criaram os conceitos do movimento, as
licenças públicas (GLP), o copyleft (esquerda autoral) e o projeto GNU em 1984. O objetivo da
FSF é de eliminar a restrição de cópias, redistribuição e modificação de programas de
computadores. Site: http://www.fsf.org.

PROJETO GNU
A partir dos conceitos de liberdade da FSF foi lançado, em 1984, o manifesto e o projeto GNU.
O projeto tem por objetivo o desenvolvimento de programas livres através de uma comunidade
de colaboradores. Os códigos de programação, as dificuldades, as documentações e o
conteúdo dos programas são disponibilizados em sites na internet e através de listas de
discussões específicas que garantem o seu desenvolvimento colaborativo e o aperfeiçoamento
permanente. De lá para cá, já foram desenvolvidos milhares de programas totalmente livres. O
mais conhecido é o sistema operacional Gnu/Linux. Site:http://www.gnu.org.

LICENÇA GLP
É a General Public License, uma licença que protege o direito de liberdade do software livre.
Esta proteção dos direitos se dá através de dois passos; o copyright dos software; e a licença
para copiar, distribuir e melhorar. O sistema operacional Gnu-Linux é GLP. Site:
http://www.gnu.org.

COPYLEFT (esquerda autoral)


Obedece a quatro princípios: a permissão de liberdade de cópia; a não contraposição ao
copyright; o direito autoral é preservado; e é regulado conforme a licença. Não há legislação
brasileira que possa enquadrar como pirataria o uso de software com esta licença.
Motivações do governo para implantar software livre

Nos primeiros meses do governo lula, algumas modificações importantes foram introduzidas no
programa de governo eletrônico brasileiro, coordenadas pelo ministro chefe da casa civil, José
Dirceu. Foram criadas duas câmaras técnicas, inexistentes no período anterior: a câmara
técnica de implementação de software livre e a de inclusão digital. O instituto de Tecnologia
da Informação (ITI), subordinado à casa civil da presidência da república, ficou encarregado de
coordenar a migração do governo federal para software livre. Essa migração não ficou
delegada a nenhum outro órgão governamental mas à própria presidência, demonstrando a
prioridade da iniciativa governamental, nos planos para a sociedade da informação.

O sociólogo e ativista da comunidade software livre, Sergio Amadeu da Silveira, como


administrador público coordenador do exitoso programa de Telecentros de São Paulo -
realizado totalmente com software livre - foi escolhido para presidir o ITI e, para tanto, conduzir
a implantação de software livre no governo.

As principais motivações do governo brasileiro para desenvolver um programa de implantação


de software livre estão ligadas às questões da macro-economia brasileira, à garantia de uma
maior segurança das informações do governo, à ampliação da autonomia e capacidade
tecnológica do país, à maior independência de fornecedores e à defesa do compartilhamento
do conhecimento tecnológico como alternativa para os países em desenvolvimento.

Questão macro-econômica

O Brasil transfere para o exterior, anualmente, mais de um bilhão de dólares em pagamento de


licenças de software, num mercado interno que move por ano três bilhões de dólares. Isto
significa que um terço do que move a indústria de software no Brasil é transferido, em forma de
pagamento de royalites, às mega-empresas monopolistas de software norte-americanas.

Essa realidade, além de significar um aumento do déficit na balança internacional de serviços,


inviabiliza o desenvolvimento de empresas de informática no brasil. Segundo Sérgio Amadeu,
"a informatização para chegar na população, nas pequenas empresas e pequenas prefeituras,
se for feita em plataforma proprietária vai representar um maior envio de royalites ao exterior.
E quanto mais se informatiza maior será esse envio, principalmente usando software básico,
onde já existem opções sólidas, seguras e muito baratas em software livre".

O Brasil tem apenas 8,6% da população conectada à internet e, segundo dados oficiais, mais
de 53% desses usuários utilizam software ilegal sem autorização dos proprietários. Portanto,
são considerados criminosos pelas leis de propriedade intelectual. A simples descriminalização
dessa camada da população brasileira, utilizando software proprietário, significaria mais do que
dobrar o envio de royalites para o exterior. Se pensarmos que temos que aumentar o número
de incluídos digitais, por exemplo, a alternativa do software proprietário se mostra inviável no
plano da macroeconomia.

Segurança das informações

As questões da segurança e da privacidade também são fatores importantes para a escolha


governamental. Cabe ao governo garantir a segurança nos sistemas públicos de informações e
a privacidade com os dados dos cidadãos. Para que isso aconteça, o acesso ao código-fonte
dos programas é imperativo. Sem o código-fonte é impossível auditar os programas para ver se
eles fazem somente aquilo que o fabricante diz fazer, se não há "porta dos fundos" quebrando
a privacidade das informações. Além disso, sem o código-fonte torna-se impossível corrigir
falhas no programa sem recorrer ao fabricante proprietário.

"por definição, um software fechado não pode ser usado por um governo e encarado como um
software seguro, pois o governo não tem acesso ao seu código-fonte. O modelo de
desenvolvimento do software proprietário, na área de segurança, é muito desgastado. A maior
prova disso é que a própria Microsoft, para se manter no mercado, abre parcialmente os
códigos para o governo. Mas o governo fica todo o tempo na mão do desenvolvedor
estrangeiro, chega uma nova versão e temos que rastrear o novo código. Além disso, o técnico
do governo que teve acesso a esse novo código fica submetido a normas draconianas de
acordos de confidencialidades. Portanto, não interessa ao governo utilizar software que ele não
tenha auditabilidade plena. A palavra de ordem na área de segurança lógica é auditabilidade
plena e esse é mais um motivo da nossa opção pelo software livre", afirma Sergio Amadeu.

Autonomia e independência tecnológica

O principal capital da revolução digital e da sociedade da informação é justamente o


conhecimento digital. Isto é, os excluídos digitais são aqueles que não têm acesso ao
conhecimento digital. Como pensar na inclusão do Brasil na sociedade do conhecimento, sem
que nossas universidades, empresas, centros de pesquisas, governos e sociedade tenham
conhecimento pleno da tecnologia que está sendo disseminada em nosso país? Portanto,
qualquer programa de inclusão digital ou de inserção na sociedade da informação só é
consistente se for realizado com software livre.

Programas de inclusão digital, realizados com software secreto e proprietário são, na verdade,
programas de "exclusão" ao conhecimento digital.

Na opinião do governo brasileiro esta é a razão mais importante, conforme as palavras de


Sérgio Amadeu: "no meu ver o motivo mais importante é a autonomia tecnológica. Quanto mais
se usa o software livre, mais pode-se transformar-se de usuário em desenvolvedor. Essa é a
grande possibilidade do software livre. Os técnicos do governo, das empresas e do país,
podem dominar a essência do software e esse é o principal motivo pelo uso do software livre.
Não é o macroeconômico, mas o domínio da essência do software."
O Brasil não quer ser apenas consumidor de produtos e tecnologias proprietárias. O país tem o
direito de ser sujeito ativo na sociedade da informação.

Independência de fornecedores

Um governo, pela lógica do direito público, deve comprar seja lá o que for com a máxima
transparência e publicidade, através de concorrência pública. Além disso, o governo tem o
direito de conhecer o que está comprando. As dependências tecnológicas causadas pelas
plataformas proprietárias inibem a concorrência, impossibilitam o conhecimento sobre o
conteúdo do produto adquirido e criam uma reserva de mercado à empresa que vendeu para o
governo. Isso é contra os conceitos públicos de administração.
"o software livre dá maior independência em relação ao fornecedor de soluções. O governo
quando compra uma solução em software livre tem acesso ao código-fonte e às quatro
liberdades básicas do software livre. Então ele não está amarrado àquele que o desenvolveu e
a interoperabilidade está garantida no futuro porque ele tem o código-fonte", esclarece Sergio
Amadeu.
O caso de compra de software proprietário por governos é o mesmo que comprarmos
medicamentos sem termos o direito de conheceremos a fórmula química, ou ainda comprarmos
alimentos industrializados sem termos o direito de conhecer de que é feito.

Compartilhamento do conhecimento

Para que os países menos desenvolvidos, ou em desenvolvimento, tenham chances de


superar uma etapa histórica de dependência e subordinação no cenário mundial, as leis e os
tratados internacionais atuais de patentes, copyright, marcas, protegidas pela ideologia da
propriedade intelectual precisam ser alteradas. Historicamente, a proteção da propriedade
intelectual se estabeleceu para favorecer a liberdade de criação, estimulando os inventores, e
para promover os benefícios para a sociedade. Hoje se converteu numa reserva de mercado
para os países centrais e seus monopólios, percebido pela afirmação do presidente do ITI: "o
Brasil percebeu que interessa aos povos do mundo o compartilhamento do conhecimento
tecnológico. É uma posição clara da diplomacia brasileira que veio a calhar com o software
livre. O Brasil tem enfrentado vários contenciosos similares ao do software livre. O mais famoso
foi em relação aos fármacos e remédios para tratamento da aids e caso dos genéricos. Tudo o
que está se discutindo é conhecimento e compartilhamento. O software livre já nasce dizendo
assim: posso ser software livre? E já temos a resposta: só se compartilhar", exemplifica Sérgio
Amadeu.
Essa posição tem sido defendida no cenário internacional pela diplomacia brasileira e pelo
presidente da república.

Planejamento da migração e a comunidade software livre

Uma das iniciativas iniciais do ITI foi estabelecer um elo de ligação entre o governo e a
comunidade software livre. Essa iniciativa começou a concretizar-se durante o primeiro
"planejamento estratégico" da câmara técnica de implementação de software livre no ano de
2003. Ativistas da comunidade software livre brasileira foram convidados a participar do
planejamento, juntamente com os técnicos do governo. Foram mais de 140 pessoas envolvidas
com o processo de planejamento estratégico que traçou diretrizes, objetivos e ações para a
implantação de programas livres na administração pública. Ao todo são 18 diretrizes, 12
objetivos e 29 ações prioritárias que formam o conjunto de orientações que estão ajudando na
migração. Em solenidade oficial no palácio do planalto, o ministro José Dirceu entregou ao
"projeto software livre Brasil" uma cópia do planejamento estratégico, demonstrando os passos
iniciais do governo para a adoção do Sl e a sua relação com a comunidade.

Capacitação dos técnicos do governo

Mais uma vez a comunidade software livre foi chamada pelo governo. Durante uma semana,
em abril de 2004, mais de 2.000 técnicos do governo iniciaram um programa de capacitação
em software livre. Hackers, membros da comunidade, foram os responsáveis por ministrar a
formação dos funcionários públicos, em 150 cursos que foram oferecidos.

No discurso de abertura, o ministro José Dirceu destacou a importância da capacitação dos


funcionários públicos em programas de código aberto e o impacto que esta ação terá na
sociedade.
"esse evento é fruto de um esforço coletivo que tem origem no comitê executivo do governo
eletrônico, o qual tenho orgulho de presidir. Tem como objetivo capacitar os quadros técnicos
da administração pública federal, difundindo, dessa forma, a cultura do software livre no país,
mais especificamente nos serviços públicos, visando torná-los mais eficientes e abrangentes.

Acreditamos que, ao engajar o governo federal num sistema que nos permita modificar e
redistribuir livremente programas de software, possamos, aos poucos, nos desprendermos das
amarras tecnológicas impostas pelo poder de monopólio de poucas empresas e desenvolver
softwares próprios, que atendam melhor às nossas necessidades", destacou o ministro.
"o que era para ser apenas um treinamento, se tornou um grande acontecimento, reunindo
uma grande turma de profissionais de todo o país e dando a oportunidade de todos nós
compartilharmos conhecimento com os servidores do governo", observou Marlon Dutra, hacker
e ativista do projeto software livre brasil. "estou aqui ministrando o curso "openldap - formação
completa". Toda a comunidade está muito feliz por participar deste evento, que certamente vai
ficar marcado na história do país, e temos esperança que haja uma nova versão. Sabemos que
dessa forma estamos ajudando o governo a tomar o rumo do software livre de uma vez por
todas. É uma grande honra para todos poder fazer parte dessa história", concluiu Marlon Dutra.

Estratégia e plano de migração

A estratégia de migração do governo brasileiro tem como centro a "libertação" das estações de
trabalho. Ao invés de iniciar pelos grandes sistemas de informações e migração dos grandes
bancos de dados, que levariam anos para ter um resultado concreto e visível, o ITI optou pela
estratégia de migração dos computadores pessoais dos funcionários dos ministérios. A
migração dos grandes sistemas exigiria um plano consistente e de largo prazo, levaria anos
para a sua execução e não alteraria a lógica da dependência tecnológica das compras
governamentais, como explica Sérgio Amadeu: "num plano de migração de uma empresa
privada, sob controle absoluto de um grupo de acionistas, o começo da migração se daria
pelos sistemas estruturadores da empresa, para depois se chegar na estação do trabalho. Se
optássemos por isso, no governo federal, ficaríamos parados como ficaram as tropas alemãs
na batalha de Stalingrado. Temos sistemas estruturadores extremamente complexos que
demorariam muito tempo para serem migrados e reescritos. Enquanto se está escrevendo o
novo sistema, o legado está crescendo, seja em banco de dados ou em software básico para
estações de trabalho".

O plano do governo inverte a lógica e estabelece uma estratégia que tem três diretrizes
básicas:

1- libertar todas as estações de trabalho

2- que os novos desenvolvimentos de sistemas sejam feitos em software livre

3-migrar inicialmente somente os sistemas que impedem os dois passos anteriores

A alternativa para o aproveitamento dos aplicativos que não rodam em estações com
Gnu/Linux é de construir uma interface web para que o usuário possa acessá-lo pelo
navegador, sem necessidade de reescrever o aplicativo no primeiro momento. "estamos
falando em mudança cultural, por isso é importante ter uma coesão de quem vai migrar muito
fina, porque você está trabalhando com dificuldades tecnológicas e aprisionamento feito no
modelo proprietário e, ao mesmo tempo, está falando de mudanças culturais de milhares de
funcionários públicos que são os usuários", explica Sérgio Amadeu. "descobrimos que a
migração é lenta pois, exige uma batalha cultural diária para romper com a cultura do software
proprietário e do lobby de empresas proprietárias, que não é pequeno", destaca ele.

O ITI escolheu concentrar o trabalho em cinco ministérios que já iniciaram a migração das
estações de trabalho. O objetivo é criar um efeito em rede que desmistifique algumas falsas
idéias sobre o software livre. Além do ITI, que já tem todas as estações de trabalho rodando
com software livre, os ministérios de minas e energia, das cidades, cultura, ciência e tecnologia
e da educação, já estão convivendo com desktop livres e o plano prevê, nestes ministérios, a
migração completa até o final do governo. Isso não significa que o plano de migração é só para
estes ministérios. Um caso da Radiobrás (empresa brasileira de comunicações), que já tem
mais de oitenta desktops rodando com software livre, e de diversos órgãos governamentais,
empresas públicas, como o Serpro (empresa estatal de dados do governo federal) e Dataprev
(empresa de dados da previdência social), estão colocando em prática suas próprias
estratégias de migração.

A marca do governo do presidente lula na tecnologia da informação, sem dúvida, é o software


livre.

Sabemos que o trabalho está apenas no início e que ainda há muito trabalho pela frente para a
garantia do sucesso dos programas em andamento. Muitas batalhas, dentro e fora do governo,
ainda serão travadas e serão decisivas para a ampliação e consolidação desta alternativa. Mas
já podemos afirmar que nunca um governo nacional colocou este tema de forma tão profunda
na sociedade, ajudando na ampliação da discussão e do entendimento sobre o software livre.
Além disso, as posições do governo estão ajudando em escala internacional à construção de
uma nova sociedade da informação e da defesa do software livre no contexto das nações
unidas, como foi feito na cúpula da sociedade da informação. Essas iniciativas se materializam,
em forma de solidariedade, nas palavras oficiais do presidente lula quando de sua passagem
pela áfrica, defendendo uma nova sociedade da informação e o software livre como uma opção
fundamental para os países em desenvolvimento.

Guia de migração para software livre do governo do Brasil

A migração das plataformas proprietárias do governo brasileiro para software livre


possivelmente é um do processos mais ricos em experiências para o movimento software livre.
As dificuldades encontradas, os erros, a busca de alternativas e o resultado alcançado,
contribuirão muito para o estímulo e consolidação do software livre em nível mundial. Registrar
essas experiências, compartilhar esse conhecimento com outras administrações públicas e
com a comunidade software livre internacional, estão sendo fundamentais para a construção e
o aperfeiçoamento de nossa "memória coletiva".
Com este intuito o governo brasileiro, através dos comitês técnicos do "governo eletrônico" de
implementação de software livre e sistemas legados e licenças de software, construiu o "guia
livre", uma referência de migração para ser disponibilizado para todos os órgãos do governo e
para a sociedade em geral. Esta importante ferramenta de trabalho se inspirou e tem como
referência inicial o guia ida (intercâmbio de dados entre administradores) da comunidade
européia.

Mas o trabalho foi reestruturado e recebeu importantes contribuições da comunidade software


livre brasileira e dos técnicos dos governos envolvidos nas mais distintas tarefas de migração.
"no final de dezembro, quando discutimos ações para 2004, definimos que para ajudar na
migração do software livre seria importante criar um guia de migração", informa Corinto Meffe,
gerente de projetos de inovações tecnológicas do ministério do planejamento e coordenador do
projeto "guia livre". "a contribuição e a diferença do "guia livre", em relação ao "guia ida" da
comunidade européia, é que acrescentamos a experiência brasileira da comunidade e dos
governos. Alteramos algumas coisas, como, por exemplo, o fato deles usarem o termo
"software de fonte aberta" e nós preferimos usar "software livre", que é mais claro para os
propósitos do brasil. Isto já é uma mudança de foco conceitual. O foco central do guia da
comunidade européia é os custos, o que contradiz uma pesquisa que o IDA fez em 2002, a
qual apontava que o fator custo no uso de fonte aberta, na avaliação dos administradores
públicos da comunidade européia, era o sexto fator importante. Já o guia brasileiro centra nas
quatro liberdades do software livre. Colocamos em especial as vantagens da independência
tecnológica, do acesso ao código, da colaboração no desenvolvimento. Isso deu uma mudança
de centralidade fora do comum.

Outro elemento é que o guia europeu estava centrando na análise dos casos de sucesso nas
empresas privadas, pois tinham muitos poucos casos da administração pública. Nós, então,
tiramos isso e colocamos os casos de sucesso na administração pública brasileira que já são
bem mais importantes", conta Corinto Maffe.

Mas a mudança mais importante é que o guia da comunidade européia diz que "os pontos de
vistas expressos no documento são exclusivamente dos autores e não devem, em qualquer
circunstância, serem interpretados como posição oficial da comunidade européia". No "guia
livre", o governo brasileiro assume a responsabilidade e assina em baixo do trabalho coletivo,
dando um peso institucional e validando uma referência técnica importante para as migrações
que virão a acontecer fora e dentro de nosso país. O Brasil é o primeiro país a ter um
documento institucional neste marco.

Licença (softer livre)

Esta é uma tradução não-oficial da licença pública geral Gnu ("Gpl Gnu") para o português do
brasil. Ela não foi publicada pela Free Software Foundation, e legalmente não afirma os termos
de distribuição de software que utiliza a Gpl Gnu -- apenas o texto original da Gpl Gnu, em
inglês, faz isso. Contudo, esperamos que esta tradução ajude aos que utilizam o português do
Brasil a entender melhor a Gpl Gnu.

Copyright (c) 1989, 1991 Free Software Foundation, inc. 675 mass ave, Cambridge, ma 02139,
USA

A qualquer pessoa é permitido copiar e distribuir cópias desse documento de licença, desde
que sem qualquer alteração.

Introdução

As licenças de muitos softwares são desenvolvidas para restringir sua liberdade de


compartilhá-lo e mudá-lo. Contrária a isso, a licença pública geral Gnu pretende garantir sua
liberdade de compartilhar e alterar softwares livres -- garantindo que o software será livre e
gratuito para os seus usuários. Esta licença pública geral aplica-se à maioria dos software da
Free Software Foundation e a qualquer outro programa cujo autor decida aplicá-la. (alguns
outros software da FSF são cobertos pela licença pública geral de bibliotecas, no entanto.)
Você pode aplicá-la também aos seus programas.

Quando nos referimos a software livre, estamos nos referindo a liberdade e não a preço. Nossa
licença pública geral foi desenvolvida para garantir que você tenha a liberdade de distribuir
cópias de software livre (e cobrar por isso, se quiser); que você receba o código-fonte ou tenha
acesso a ele, se quiser; que você possa mudar o software ou utilizar partes dele em novos
programas livres e gratuitos; e que você saiba que pode fazer tudo isso.

Para proteger seus direitos, precisamos fazer restrições que impeçam a qualquer um negar
estes direitos ou solicitar que você deles abdique. Estas restrições traduzem-se em certas
responsabilidades para você, se você for distribuir cópias do software ou modificá-lo.

Por exemplo, se você distribuir cópias de um programa, gratuitamente ou por alguma quantia,
você tem que fornecer aos recebedores todos os direitos que você possui. Você tem que
garantir que eles também recebam ou possam obter o código-fonte. E você tem que mostrar-
lhes estes termos para que eles possam conhecer seus direitos.

Nós protegemos seus direitos em dois passos:


(1) com copyright do software e
(2) com a oferta desta licença, que lhe dá permissão legal para copiar, distribuir e/ou modificar
o software.

Além disso, tanto para a proteção do autor quanto a nossa, gostaríamos de certificar-nos que
todos entendam que não há qualquer garantia nestes software livres. Se o software é
modificado por alguém mais e passado adiante, queremos que seus recebedores saibam que o
que eles obtiveram não é original, de forma que qualquer problema introduzido por terceiros
não interfira na reputação do autor original.

Finalmente, qualquer programa é ameaçado constantemente por patentes de software.


Queremos evitar o perigo de que distribuidores de software livre obtenham patentes individuais,
o que tem o efeito de tornar o programa proprietário. Para prevenir isso, deixamos claro que
qualquer patente tem que ser licenciada para uso livre e gratuito por qualquer pessoa, ou então
que nem necessite ser licenciada.

Os termos e condições precisas para cópia, distribuição e modificação se encontram abaixo:

Licença pública geral GNU termos e condições para cópia, distribuição e modificação

Esta licença se aplica a qualquer programa ou outro trabalho que contenha um aviso colocado
pelo detentor dos direitos autorais informando que aquele pode ser distribuído sob as
condições desta licença pública geral. O "programa" abaixo refere-se a qualquer programa ou
trabalho, e "trabalho baseado no programa" significa tanto o programa em si como quaisquer
trabalhos derivados, de acordo com a lei de direitos autorais: isto quer dizer um trabalho que
contenha o programa ou parte dele, tanto originalmente ou com modificações, e/ou tradução
para outros idiomas. (doravante o processo de tradução está incluído sem limites no termo
"modificação".) Cada licenciado é mencionado como "você".

Atividades outras que a cópia, a distribuição e modificação não estão cobertas por esta licença;
elas estão fora de seu escopo. O ato de executar o programa não é restringido e o resultado do
programa é coberto apenas se seu conteúdo contenha trabalhos baseados no programa
(independentemente de terem sido gerados pela execução do programa). Se isso é verdadeiro
depende do que o programa faz.

1. Você pode copiar e distribuir cópias fiéis do código-fonte do programa da mesma forma que
você o recebeu, usando qualquer meio, deste que você conspícua e apropriadamente publique
em cada cópia um aviso de direitos autorais e uma declaração de inexistência de garantias;
mantenha intactas todos os avisos que se referem a esta licença e à ausência total de
garantias; e forneça a outros recebedores do programa uma cópia desta licença, junto com o
programa.
Você pode cobrar pelo ato físico de transferir uma cópia e pode, opcionalmente, oferecer
garantia em troca de pagamento.

2. Você pode modificar sua cópia ou cópias do programa, ou qualquer parte dele, assim
gerando um trabalho baseado no programa, e copiar e distribuir essas modificações ou
trabalhos sob os temos da seção 1 acima, desde que você também se enquadre em todas
estas condições:
A) você tem que fazer com que os arquivos modificados levem avisos proeminentes afirmando
que você alterou os arquivos, incluindo a data de qualquer alteração.
B) você tem que fazer com que quaisquer trabalhos que você distribua ou publique, e que
integralmente ou em partes contenham ou sejam derivados do programa ou de suas partes,
sejam licenciados, integralmente e sem custo algum para quaisquer terceiros, sob os termos
desta licença.
C) se qualquer programa modificado normalmente lê comandos interativamente quando
executados, você tem que fazer com que, quando iniciado tal uso interativo da forma mais
simples, seja impresso ou mostrado um anúncio de que não há qualquer garantia (ou então
que você fornece a garantia) e que os usuários podem redistribuir o programa sob estas
condições, ainda informando os usuários como consultar uma cópia desta licença. (exceção: se
o programa em si é interativo mas normalmente não imprime estes tipos de anúncios, seu
trabalho baseado no programa não precisa imprimir um anúncio.)

Estas exigências aplicam-se ao trabalho modificado como um todo. Se seções identificáveis de


tal trabalho não são derivadas do programa, e podem ser razoavelmente consideradas
trabalhos independentes e separados por si só, então esta licença, e seus termos, não se
aplicam a estas seções quando você distribuí-las como trabalhos em separado. Mas quando
você distribuir as mesmas seções como parte de um todo que é trabalho baseado no
programa, a distribuição como um todo tem que se enquadrar nos termos desta licença, cujas
permissões para outros licenciados se estendem ao todo, portanto também para cada e toda
parte independente de quem a escreveu.

Desta forma, esta seção não tem a intenção de reclamar direitos os contestar seus direitos
sobre o trabalho escrito completamente por você; ao invés disso, a intenção é a de exercitar o
direito de controlar a distribuição de trabalhos, derivados ou coletivos, baseados no programa.
Adicionalmente, a mera adição ao programa de outro trabalho não baseado no programa (ou
de trabalho baseado no programa) em um volume de armazenamento ou meio de distribuição
não faz o outro trabalho parte do escopo desta licença.

3. Você pode copiar e distribuir o programa (ou trabalho baseado nele, conforme descrito na
seção 2) em código-objeto ou em forma executável sob os termos das seções 1 e 2 acima,
desde que você faça um dos seguintes:
A) o acompanhe com o código-fonte completo e em forma acessível por máquinas, que tem
que ser distribuído sob os termos das seções 1 e 2 acima e em meio normalmente utilizado
para o intercâmbio de software; ou,
B) o acompanhe com uma oferta escrita, válida por pelo menos três anos, de fornecer a
qualquer um, com um custo não superior ao custo de distribuição física do material, uma cópia
do código-fonte completo e em forma acessível por máquinas, que tem que ser distribuído sob
os termos das seções 1 e 2 acima e em meio normalmente utilizado para o intercâmbio de
software; ou,
C) o acompanhe com a informação que você recebeu em relação à oferta de distribuição do
código-fonte correspondente. (esta alternativa é permitida somente em distribuição não
comerciais, e apenas se você recebeu o programa em forma de código-objeto ou executável,
com oferta de acordo com a subseção b acima.)

O código-fonte de um trabalho corresponde à forma de trabalho preferida para se fazer


modificações. Para um trabalho em forma executável, o código-fonte completo significa todo o
código-fonte de todos os módulos que ele contém, mais quaisquer arquivos de definição de
"interface", mais os "scripts" utilizados para se controlar a compilação e a instalação do
executável. Contudo, como exceção especial, o código-fonte distribuído não precisa incluir
qualquer componente normalmente distribuído (tanto em forma original quanto binária) com os
maiores componentes (o compilador, o "Kernel" etc.) Do sistema operacional sob o qual o
executável funciona, a menos que o componente em si acompanhe o executável.
Se a distribuição do executável ou código-objeto é feita através da oferta de acesso a cópias
de algum lugar, então ofertar o acesso equivalente a cópia, do mesmo lugar, do código-fonte
equivale à distribuição do código-fonte, mesmo que terceiros não sejam compelidos a copiar o
código-fonte com o código-objeto.

4. Você não pode copiar, modificar, sub-licenciar ou distribuir o programa, exceto de acordo
com as condições expressas nesta licença. Qualquer outra tentativa de cópia, modificação,
sub-licenciamento ou distribuição do programa não é valida, e cancelará automaticamente os
direitos que lhe foram fornecidos por esta licença. No entanto, terceiros que de você receberam
cópias ou direitos, fornecidos sob os termos desta licença, não terão suas licenças terminadas,
desde que permaneçam em total concordância com ela.

5. Você não é obrigado a aceitar esta licença já que não a assinou. No entanto, nada mais o
dará permissão para modificar ou distribuir o programa ou trabalhos derivados deste. Estas
ações são proibidas por lei, caso você não aceite esta licença. Desta forma, ao modificar ou
distribuir o programa (ou qualquer trabalho derivado do programa), você estará indicando sua
total aceitação desta licença para fazê-los, e todos os seus termos e condições para copiar,
distribuir ou modificar o programa, ou trabalhos baseados nele.

6. Cada vez que você redistribuir o programa (ou qualquer trabalho baseado nele), os
recebedores adquirirão automaticamente do licenciador original uma licença para copiar,
distribuir ou modificar o programa, sujeitos a estes termos e condições. Você não poderá impor
aos recebedores qualquer outra restrição ao exercício dos direitos então adquiridos. Você não
é responsável em garantir a concordância de terceiros a esta licença.

7. Se, em conseqüência de decisões judiciais ou alegações de infringimento de patentes ou


quaisquer outras razões (não limitadas a assuntos relacionados a patentes), condições forem
impostas a você (por ordem judicial, acordos ou outras formas) e que contradigam as
condições desta licença, elas não o livram das condições desta licença. Se você não puder
distribuir de forma a satisfazer simultaneamente suas obrigações para com esta licença e para
com as outras obrigações pertinentes, então como conseqüência você não poderá distribuir o
programa. Por exemplo, se uma licença de patente não permitirá a redistribuição, livre de
"royalties", do programa, por todos aqueles que receberem cópias direta ou indiretamente de
você, então a única forma de você satisfazer a ela e a esta licença seria a de desistir
completamente de distribuir o programa.

Se qualquer parte desta seção for considerada inválida ou não aplicável em qualquer
circunstância particular, o restante da seção se aplica, e a seção como um todo se aplica em
outras circunstâncias.

O propósito desta seção não é o de induzi-lo a infringir quaisquer patentes ou reivindicação de


direitos de propriedade outros, ou a contestar a validade de quaisquer dessas reivindicações;
esta seção tem como único propósito proteger a integridade dos sistemas de distribuição de
software livres, o que é implementado pela prática de licenças públicas. Várias pessoas têm
contribuído generosamente e em grande escala para os software distribuídos usando este
sistema, na certeza de que sua aplicação é feita de forma consistente; fica a critério do
autor/doador decidir se ele ou ela está disposto a distribuir software utilizando outro sistema, e
um licenciado não pode impor qualquer escolha.

Esta seção destina-se a tornar bastante claro o que se acredita ser conseqüência do restante
desta licença.

8. Se a distribuição e/ou uso do programa são restringidos em certos países por patentes ou
direitos autorais, o detentor dos direitos autorais original, e que colocou o programa sob esta
licença, pode incluir uma limitação geográfica de distribuição, excluindo aqueles países de
forma a tornar a distribuição permitida apenas naqueles ou entre aqueles países então não
excluídos. Nestes casos, esta licença incorpora a limitação como se a mesma constasse
escrita nesta licença.
9. A Free Software Foundation pode publicar versões revisadas e/ou novas da licença pública
geral de tempos em tempos. Estas novas versões serão similares em espírito à versão atual,
mas podem diferir em detalhes que resolvem novos problemas ou situações.

A cada versão é dada um número distinto. Se o programa especifica um número de versão


específico desta licença que se aplica a ele e a "qualquer nova versão", você tem a opção de
aceitar os termos e condições daquela versão ou de qualquer outra versão publicada pela Free
Software Foundation. Se o programa não especifica um número de versão desta licença, você
pode escolher qualquer versão já publicada pela Free Software Foundation.

10. Se você pretende incorporar partes do programa em outros programas livres cujas
condições de distribuição são diferentes, escreva ao autor e solicite permissão. Para o software
que a Free Software Foundation detém direitos autorais, escreva à Free Software Foundation;
às vezes nós permitimos exceções a este caso. Nossa decisão será guiada pelos dois
objetivos de preservar a condição de liberdade de todas as derivações do nosso software livre,
e de promover o compartilhamento e reutilização de software em aspectos gerais.

Ausência de garantias

11. Uma vez que o programa é licenciado sem ônus, não há qualquer garantia para o
programa, na extensão permitida pelas leis aplicáveis. Exceto quando expressado de forma
escrita, os detentores dos direitos autorais e/ou terceiros disponibilizam o programa "no
estado", sem qualquer tipo de garantias, expressas ou implícitas, incluindo, mas não limitado a,
as garantias implícitas de comercialização e as de adequação a qualquer propósito. O risco
total com a qualidade e desempenho do programa é seu. Se o programa se mostrar defeituoso,
você assume os custos de todas as manutenções, reparos e correções.

12. Em nenhuma ocasião, a menos que exigido pelas leis aplicáveis ou acordo escrito, os
detentores dos direitos autorais, ou qualquer outra parte que possa modificar e/ou redistribuir o
programa conforme permitido acima, serão responsabilizados por você por danos, incluindo
qualquer dano em geral, especial, acidental ou conseqüente, resultantes do uso ou
incapacidade de uso do programa (incluindo, mas não limitado a, a perda de dados ou dados
tornados incorretos, ou perdas sofridas por você ou por outras partes, ou falhas do programa
ao operar com qualquer outro programa), mesmo que tal detentor ou parte tenham sido
avisados da possibilidade de tais danos.

Fim dos termos e condições