quarta-feira, 7 de maio de 2014

Tecnologia de Software

Tecnologia da Informação


Usamos o termo “Tecnologia da informação” (ou TI) corriqueiramente em nosso dia-a-dia. Nos referimos aos nossos departamentos e equipes como TI, temos cursos acadêmicos que tratam de gestão de TI, produzimos software, compramos hardware, e, no fim, chamamos tudo de TI.
Mas neste universo tão vasto como podemos, então, definir “Tecnologia da informação”? A pergunta parece obvia, mas a resposta não é trivial (aqui, não irei me ater aos significados subjetivos que TI pode ter, pois não seria possível definir coisa alguma, quero me reter o significado propriamente dito do termo).  Tente por um momento definir tecnologia da Informação, e logo perceberá que pode ser mais difícil do que parece.

Em busca de alguma definição, tentarei entender separadamente o que é tecnologia e o que é informação.

Tecnologia
Quando falamos em tecnologia, imediatamente nos vem a mente toda forma de equipamento eletrônico que está disponível em nosso mundo atual. Dizemos que algo é que de altamente tecnológico quando é capaz de realizar grandes feitos através de hardware e software (como um foguete que leva o homem ao espaço). Nos esquecemos que, em relação a história da humanidade, o surgimento destes equipamentos é recente, e que a tecnologia é algo muito mais antigo e muito mais amplo. Desde o domínio do fogo até as caminhadas espaciais, temos produzido grandes feitos de alta tecnologia, pois exigiram que o homem estudasse o ambiente e encontrasse maneiras criativas de resolver problemas. O que é importante perceber aqui, é que tecnologia é um conceito que não pode ser reduzido a aparelhos cheios de botões que compramos em lojas especializadas. Tecnologia deve nos remeter as inovações criadas para resolvermos problemas que enfrentamos diariamente.

Informação
É impossível falar sobre informação sem antes introduzirmos o conceito de dado. Dado é uma seqüência de símbolos puramente sintática, ou seja, é uma entidade que sozinha não possui significado. Por exemplo, se eu digo apenas “340”, isto não quer dizer muita coisa, mas se eu contextualizo dizendo também “é o número de páginas de um livro” ou “é o número do bilhete premiado que ganhará uma viagem”, o número “340” é contextualizado e passa a ter um significado, ou seja, deixa de ser um dado e passa a ser uma informação. A informação é uma abstração que representa algo significativo para alguém em determinado contexto. Sendo uma abstração, não podemos guardar a informação em uma entidade computacional, para tanto temos que reduzi-la a dados.

Mas se tudo o que conseguimos com hardware e software é guardar dados, então porque falamos de tecnologia da informação? (e não de tecnologia de dados ?) De fato, temos que ter consciência que nunca transitaremos informações de um ponto a outro, por mais que usemos os componentes mais caros e contratemos os profissionais mais competentes, no fim, estamos processando e transmitindo dados. Mas não basta levar dados, temos que sabe o que levar, quando levar e a quem levar.

Não há nada mais gratificante do que abrir um sistema, o site de um banco por exemplo, e conseguir os dados que precisamos rapidamente, de forma que instantaneamente eles se “transformam” em informação e podemos tomar várias decisões em questões de minutos. Por outro lado, não há nada mais frustrante do que procurar um simples telefone no site de um fornecedor, e depois de rodar o site todo encontrá-lo perdido em uma sessão do site pouco provável.

A sensação que tenho aqui é que um dado pode ser considerado bom quando, ao recebê-lo, já não o distinguimos mais da informação, ele parece ser a própria informação. Ao fazermos isso, estamos conseguindo gerar no receptor informações que valham a pena, ou seja, estamos criando um modo de transmitir algo abstrato (a informação), estamos fazendo tecnologia da informação.

Deste modo, uma possível definição para Tecnologia da informação é:
“Tecnologia da Informação é inovar, de forma criativa, o modo que levarmos dados as pessoas certas, no lugar certo e no momento certo, de forma que estes dados possam ser rapidamente interpretados pelo receptor (que é quem gera a informação), aumentando consideravelmente as chances de uma decisão ser tomada corretamente.”


Apesar de normalmente fazermos isso utilizando plataformas computacionais, o termo “Tecnologia da informação” não implica obrigatoriamente no uso de hardware e software.




Tipos de Software 



 Software Básico – é o programa considerado essencial para o funcionamento de um computador. Sem ele o computador não funciona.
Exemplo de software básico:Sistema Operacional Windows e Linux.
Software Utilitário – é qualquer programa não obrigatório para o funcionamento do computador  porém, é considerado extremamente útil para o seu bom funcionamento.
Exemplo de Utilitário: Anti-vírus.
Software Aplicativo – são programas que tem aplicações práticas para o usuário. Também não são obrigatórios para o funcionamento do computador, porém, quando instalados, oferecem praticidade para os usuários.
Exemplo de Aplicativos: Word, Excel,Power point, navegadores e jogos.














As supermáquinas do planeta

Para você que acompanha o nosso blog viu que falamos, recentemente, sobre os supercomputadores. Chegou a hora de saber por onde estão espalhadas essas supermáquinas, no planeta. O portal O Globo preparou uma lista com as principais máquinas. Vale a pena dar uma conferida no link http://oglobo.globo.com/sociedade/tecnologia/as-supermaquinas-12287602 



A supermáquina MIRA, da IBM. Fica no Argonne National Laboratory, nos EUA.

terça-feira, 6 de maio de 2014

A evolução dos sistemas de computador



1951/1959 - Computadores de primeira geração:
    http://images1.wikia.nocookie.net/__cb20070708220256/uncyclopedia/images/4/4e/EDVAC.png
  • Circuitos eletrônicos e válvulas
  • Uso restrito
  • Precisava ser reprogramado a cada tarefa
  • Grande consumo de energia
  • Problemas devido à muito aquecimento
As válvulas foram utilizadas em computadores eletrônicos, como por exemplo no ENIAC, já citado anteriormente. Normalmente quebrava após algumas horas de uso e tinha o processamento bastante lento. Nesta geração os computadores calculavam com uma velocidade de milésimos de segundo e eram programados em linguagem de máquina.

1959/1965 - Computadores de segunda geração:
    http://producao.virtual.ufpb.br/books/camyle/introducao-a-computacao-livro/livro/livro.chunked/images/historia-do-computador/IBM_segunda_geracao.png
  • Início do uso comercial
  • Tamanho gigantesco
  • Capacidade de processamento muito pequena
  • Uso de transistores em substituição às válvulas
A válvula foi substituída pelo transistor. Seu tamanho era 100 vezes menor que o da válvula, não precisava de tempo para aquecimento, consumia menos energia, era mais rápido e confiável. Os computadores desta geração já calculavam em microssegundos (milionésimos) e eram programados em linguagem montadora.

1965/1975 - Computadores de terceira geração:
    http://hestoriadopc.files.wordpress.com/2011/07/ibm360-paineldecontrole.jpg
  • Surgem os circuitos integrados
  • Diminuição do tamanho
  • Maior capacidade de processamento
  • Início da utilização dos computadores pessoais
Os transistores foram substituídos pela tecnologia de circuitos integrados (associação de transistores em pequena placa de silício). Além deles, outros componentes eletrônicos foram miniaturizados e montados num único CHIP, que já calculavam em nanossegundos (bilionésimos). Os computadores com o CI (Circuito Integrado) são muito mais confiáveis, bem menores, tornando os equipamentos mais compactos e rápidos, pela proximidade dos circuitos; possuem baixíssimo consumo de energia e menor custo. Nesta geração surge a linguagem de alto nível, orientada para os procedimentos.
1975/19?? - Aparecimento dos aplicativos de quarta geração:
    images/historia-do-computador/computador-quarta-geracao.jpg
  • Surgem os softwares integrados
  • Processadores de Texto
  • Planilhas Eletrônicas
  • Gerenciadores de Banco de Dados
  • Gráficos
  • Gerenciadores de Comunicação
Em 1975/77, ocorreram avanços significativos, surgindo os microprocessadores, os microcomputadores e os supercomputadores. Em 1977 houve uma explosão no mercado de microcomputadores, sendo fabricados em escala comercial e a partir daí a evolução foi sendo cada vez maior, até chegar aos micros atuais. O processo de miniaturização continuou e foram denominados por escalas de integração dos circuitos integrados: LSI (Large Scale of Integration), VLSI (Very Large Scale of Integration) e ULSI (Ultra Large Scale of Integration), utilizado a partir de 1980. Nesta geração começa a utilização das linguagens de altíssimo nível, orientadas para um problema.

Fonte:  http://www.fundacaobradesco.org.br/vv-apostilas/mic_pag3.htm

Como funcionam os processadores?




Em cada programa de computador fica um conjunto de instruções. A CPU usa as instruções de como um guia para executar estes programas. Para determinar o que fazer com as instruções, o processador passa por quatro passos para garantir que o programa é executado sem erros. As quatro etapas são buscar, decodificar, executar e write-back.

1ª Etapa:   A primeira coisa que precisa ser feito é o passo buscar. Quando o usuário faz um comando para abrir um programa, a CPU recebe o pedido e processa. Em seguida, recupera o programa desejado, acessando a memória do local do programa. Cada programa tem um número de contador, que é mapa que a CPU usa para localizar e obter mais instruções do programa.

2º Etapa: Decodificação é a fase seguinte do processo. Quando a CPU busca um programa, não vê todos os aspectos gráficos que vemos. Tudo o que enxerga é o código de programação. Esse código deve ser decifrado em uma linguagem que o processador entenda. Existem literalmente centenas de diferentes linguagens de programação que são usadas para escrever programas de software. A CPU deve primeiro decidir em que língua o programa está escrito e depois decodificá-lo para que compreenda as instruções que são mantidas dentro do código. O processo de decodificação é outra lista de passos. A CPU quebra o código para que ele seja controlável. As partes que a CPU trabalha são as únicas que se comunicam diretamente com ela. O "opcode" (o que indica a ordem numérica do código) é usado para descobrir a ordem em que o código deve ser executado.

3ª Etapa: O próximo é o estágio de execução. Depois de encontrar a ordem numérica das instruções no código, a CPU está pronta para executá-los em ordem. O programa é carregado e preparado para o usuário. A partir do passo 1, todos os componentes necessários para que o programa funcione de forma eficiente são carregados usando o opcode.

4ª Etapa: A fase de write-back é a final. Durante cada um dos passos anteriores, a CPU registra um feedback do processo. Isso é necessário caso aconteça um problema durante uma das etapas. Mesmo que tudo funcione como deveria, a CPU escreve o estado de volta na memória.