Este blog é como um sótão....um local para guardar... Links Textos etc... Tudo o que um dia poderá fazer falta.
quarta-feira, outubro 03, 2012
quinta-feira, janeiro 19, 2012
Os Recursos Humanos e as redes sociais.
Hoje em dia é difícil pensar em um mundo off line (desligado) da internet, e o poder das redes sociais pode ser comparado com o poder da passagem de palavras "boca a boca seja por um comando no Google ou Bing que lhe traz inúmeras informações acerca de uma palavra chave digitada, imagem vídeo ou contacto, seja através de redes sociais por meio das quais as pessoas se relacionam, se encontram, trocam informações, fotos, vídeos, estados de “como se sentem”, enfim, actualizam-se de informações.
O poder das redes sociais pode ser comparado com o poder do "boca a boca". Sabe quando não gostávamos de algo ou éramos mal atendidos e falávamos para nossos amigos e conhecidos. Pois é, na rede social acontece o mesmo, com os agravantes que temos muitas ligações “Amigos”, pois elas vão além do físico, do encontro. Outro ponto é que, se um factor relevante para a informação é a credibilidade do interlocutor, imagine se alguém da sua família, ou amigo próximo publica algo, não vai parar para pensar? Assim como analisar e reflectir os motivos e o que se deve passar com essa pessoa.
As empresas estão a adaptar-se a esse contexto embora de forma um pouco diferente consoante os “chefes” ou as secções de Informática querem. Desde processos selectivos, até a possibilidade de os funcionários navegarem em suas redes sociais no ambiente de trabalho, chegando até a processos mais robustos de criação e desenvolvimento como o Crowdsourcing, (é um modelo de produção que utiliza a inteligência e os conhecimentos colectivos e voluntários espalhados pela internet para resolver problemas, criar conteúdo e soluções ou desenvolver novas tecnologias. O caso mais comum que acontece, o Crowdsourcing é quando a pessoa não sabe como resolver alguma questão informática então faz uma pesquisa no Google e lá chega muitas vezes a fóruns de discussão ou Blog’s e alguém como ele tem aquele problema e onde a solução está lá mais ao menos resolvida. O crowdsourcing possui mão-de-obra barata, pessoas no dia-a-dia usam seus momentos lazer para criar a colaboração. tudo isso vem fazendo parte da realidade corporativa. O facto é que as redes sociais invadiram nosso quotidiano, e quem não aceder a elas perderá uma hipótese importante de comunicação, principalmente com as gerações mais actuais. Ou ganhar uma nova forma de desperdiçar tempo, visto a quantidade de aplicações, posts, actualizações e vídeos estar sempre alguém “on-line” pode perde-se a noção do tempo dispendido nas redes sociais.
Existem muitos profissionais da área de Recursos Humanos que verificam redes sociais de candidatos antes de contratarem. O que tem alguma lógica nada melhor de ver dia para dia como será o dia dessa pessoa e o que ela faz nos tempos livres. Essa prática tem sido muito comum como forma extra de verificar referências. Afinal, se a informação é pública e encontra-se disponível a uns “cliques” porque não verificar? Normalmente, isso é feito no fim do processo selectivo, excepto que a pessoa seja indicada na própria rede social. Se isso ocorrer, normalmente o acesso ao perfil já é feito no início do processo.
Assim, as redes sociais podem ajudar muito a encontrar uma nova oportunidade de trabalho. Para tanto, são importantes dois movimentos: Primeiro deixar que os outros saibam que quer uma oportunidade. Obviamente, só deve divulgar isso abertamente após já ter tido uma conversa com seu superior sobre o assunto. Outra alternativa é mostrar o que tem feito e sobre o que sabe ou pode contribuir. Cuidados a ter com os seus perfis nas redes sociais, ter o perfil actualizado (Formações / Habilitações Académicas etc..), cuidado com as opiniões publicadas porque um conjunto de comentários pode provocar uma má imagem sobre nós assim como, criar atritos ou confusões muitas vezes evitadas. Não entrar em “grupos” que puderam manchar a sua “imagem profissional”, cuidado com o excesso de exposição das informações que dá sobre si, assim como actualizações de estados e fotos, rever a sua lista de amigos e não aceitar tudo e todos só para ter um grande número de “Amigos” e um pormenor que falha na minha opinião em grande parte dos perfis disponíveis é apresentar a informação que partilhamos selectivamente, isto é por exemplo permitir só alguns elementos (grupos de contactos) terem acesso a informação mais “Privada”.
Todos devem usar as redes sociais quanto baste, e não usar de uma forma abusiva. E o principal objectivo é sabermos quando participamos numa rede social, o que vou mostrar de mim para os outros verem e qual o meu objectivo em participar nesta rede social.
Bem fica aqui a minha opinião sobre Recursos Humanos e Redes sociais, lamento mas como técnico de informática devo ter um prisma de visão talvez muito diferente das redes sociais que são uma “arma” muito poderosa para quem as utiliza para o bom ou para o mau, dependendo sempre das pessoas.
Bibliografia:
http://pt.wikipedia.org/wiki/Crowdsourcing Acedido a 19-1-2012
Imagem da capa http://www.maisnet.net/wp-content/flagallery/redes/ logos_redes_sociais.jpg Acedido a 1-1-2012
| Reacções: |
sexta-feira, novembro 18, 2011
Bases de Dados...
DB2
ORACLE/RDBÉ um relational database management system (RDBMS), uma tecnologia de Banco de Dados Relacional que começou a ser distribuída no início da década de 80 em ambientes de médio e grande porte, desde então, a família DB2 tem crescido atingindo as plataformas UNIX e PCs. A maioria do RDBMS usam Structured Query Language (SQL), um data language poderoso e de fácil uso.
INFORMIXAnteriormente conhecido como DEC-RDB uma vez que era um produto pertencente a Digital Equipament Corporation (DEC), é um excelente Sistema Gerenciador de Banco de DadosRelacional. Confiabilidade, escalabilidade, segurança, disponibilidade, integridade, sustentabilidade entre outros, são atributos deste gerenciador, porém duas característica se destacam de outros Banco de Dados: Flexibilidade na localização dos dados: Suporta tanto single-file como multi-file database que possibilita a separação dos objetos (tabelas, índices...) em localizações diferentes, o que facilita em nível de backup e diagnóstico de problemas. Gerênciamento Centralizado de Banco de Dados que permite múltiplos bancos sejam gerenciados por um único gerenciador. A maior utilização do RDB é para o desenvolvimento de sistemas comerciais e sistemas onde a tolerância a falhas é quase inaceitável. Na Unicamp por exemplo, os sistemas de RH, Almoxarifados, Biblioteca (Consulta a Periódicos) rodam em máquinas Alpha 64 bits (Compaq) com S.O. OpenVMS e gerenciador ORACLE-RDB.
Em 1994 o RDB passou a fazer parte da Oracle Corporation passando assim a ser denominado ORACLE-RDB. Desde então, a Oracle vem aprimorando este produto.
Dentre as melhorias, citamos sua capacidade em trabalhar em tecnolgia Client/Server suportando a inclusão de drivers ODBC for ORACLE-RDB e SQL/Services, o qual concede ao seu PC e usuários desktop em MS-DOS, MS Windows, Macintosh, OS/2, OpenVMS e sistemas Sun a oportunidade de acessarem bases de dados em ORACLE-RDB; ferramentas gráficas (GUI - Graphical User Interface) para criar e testar comandos em SQL de grande complexidade; tecnologia pioneira lançada pela Oracle chamada Very Large Memory (VLM) para transações e aplicações de suporte a decisão; backups/restores online; cargas de dados paralelas; Hot Standby para sistemas que não toleram falhas; ORACLE-RDB suporta especificações XA X/Open para processamentos de transações distribuídas.
Segundo a Oracle Corporation, o RDB é um dos softwares industriais de maior sucesso já adquiridos.
MySQLÉ uma servidor de Banco de Dados que combina alta-disponibilidade, performance de processamento de transação on-line (OTLP) com capacidade multimedia. OnLine distribui e administra a concorrência de processos enquanto mantem o isolamento transacional, gerenciando seus próprios recursos de memória compartilhada e I/O em disco.
Um suporte adicional dado pelo INFORMIX-OnLine/Optical permite que os dados estejam subsistemas óticos. O INFORMIX-STAR diagnostica a performance OnLine num ambiente cliente/servidor. O INFORMIX-TP/XA permite usar OnLine o servidor de Banco de Dados como um Gerenciador de Recursos dentro de um ambiente X/Open.
Existem outros produtos INFORMIX, como o DB-Access que é um utilitáro que permite acessar, modificar e recuperar informações do Banco de Dados Relacional OnLine.
PostgreSQLO MySQL é um sistema de gerenciamento de bancos de dados relacionais de código aberto que vem obtendo uma popularidade cada vez maior. Conhecido por sua velocidade, confiabilidade e facilidade de uso, o MySQL é uma ótima opção para a criação de bancos de dados para Web e aplicações sofisticadas.
OracleO posgres é um banco de dados criado em 1986 em Berkeley na Universidade da Califórnia, como sucessor do INGRES, banco de dados relacional, da mesma universidade pelo Prof. Michael Stonebraker e apoiado pelo DARPA (Denfese Advanced Research Projects Agency), pelo ARO (Army Research Office) e pela NSF (National Science Foundation). Em 1995 o postgres foi renomeado para postgres95. Foi acrescentado suporte a linguagem SQL, se otimizou o código tornando ele 30% mais rápido e passou a ser distribuído na internet como open-source. Em 1996 se tornou claro que o nome Postgres95 não sobreviveria ao tempo e ele foi renomeado para PostgreSQL.
O postgreSQL organiza os dados segundo o modelo relacional, que é o mais utilizado hoje em dia (Oracle, DB2, interbase, Microsoft SQL Server, Sybase, etc) são todos bancos de dados relacionais). Ele é também um modelo relacional estendido, oferecendo objetos, OIDs (Identificador de Objetos), objetos compostos, herança múltipla, versões, dados históricos, e uma linguagem de consulta, POSTQUEL, extensão da linguagem do INGRES, QUEL.
Possui também banco de dados cliente-servidor, onde você tem um programa que gerencia o acesso e cuida da integridade dos dados, e outro que vai a interface com o usuário. O mais interessante nesse esquema é que o servidor e o cliente não precisam estar rodando na mesma máquina.
O sistema foi escrito em C e possui cerca de 180.000 linhas de código.
Uma da características mais importantes do Postgres é a armazenar dados históricos. Pode-se fazer uma consulta sobre o estado do banco de dados em um determinado momento do passado. Isto é possível devido à utilização de discos ópticos que armazenam o estado do banco de dados, depois de cada alteração. Um exemplo de utilização dessa característica é uma consulta sobre o custo de um determinado produto a um ano atrás.
Oracle é um poderoso Banco de Dados Relacionais que inclui extensões orientadas a objetos significativas e está se destacando pelo seu inovador modelo de relacionamento de dados e linguagem de programação servidora, que é o PL/SQL. Uma rede (LAN) é suficiente para comportar um Banco de Dados Relacional (DBMS) de tecnologia Cliente/Servidor (C/S) como o Oracle. Em linhas gerais, esta tecnologia tem como característica principal a divisão de tarefas entre o cliente, a estação de trabalho que ordena através das aplicações o acesso aos Bancos de Dados, e o servidor, que executa tarefas.
A Linguagem SQL tem como grandes virtudes: sua capacidade de gerenciar índices sem a necessidade de controle individualizado de índice corrente, algo muito comum nas linguagens de manipulação de dados do tipo registro a registro; sua capacidade de construção de visões, que são formas de visualizarmos os dados na forma de listagens independente das tabelas e organização lógica dos dados e, ainda, a capacidade que dispomos de cancelar uma série de atualizações ou de as gravarmos, depois de iniciarmos uma seqüência de atualizações.
| Reacções: |
LOCKS INFORMIX
* Tipos de LOCKS / Siglas
* Explicação sobre cada tipo de Locks
* Granularidade de Locks
* Demonstração dos Locks na pratica
* Locks de pagina
* Locks de linha
* Log de base de dados
* Niveis de isolamento
- O que é LOCKS?
Posso definir Lock como sendo um método que o banco de dados utiliza para controlar os acessos a base de dados, tabelas e linhas (Colocando ordem e dando preferencias e exclusividades) , como o banco de dados normalmente tem diversos usuarios conectados de forma simultânea e cada usuário que chega até o banco de dados está com alguma intenção com algum dos objetos da base de dados, para garantir a integridade de dados para que não tenhamos conflitos e possa garantir a consistência dos dados o banco de dados então utiliza do recurso de LOCKS.
Comentario: Mesmo sendo fundamental e de extrema importância a utilização de LOCKS posso dizer que muitas vezes incomoda muito, e piora a situação quando o desenvolvedor desconhece o metodo de trabalhar com LOCKS no INFORMIX, mas nem pensem em imaginar ter um banco de dados sem utilização de LOCKS, isso seria praticamente terminar com toda a integridade de dados que existe.
Certamente todo o DBA vai ter varias situações que irá precisar monitorar LOCKS.
Inicialmente vamos perceber que é uma tarefa bastante complicada para ser feita no INFORMIX, após entendermos o funcionamento iremos mudar de opinião e achar simples e de facil visualização, porém não adianta tentar monitorar se não souber como monitorar e o que monitorar e se não houver algumas scripts ou ferramentas para esse monitoramento acontecer.
* TIPOS DE LOCKS / SIGLAS
Vai encontrar essas referencias no retorno do comando onstat -k na coluna "type"
- Share Lock - S
- Update Lock - U
- Exclusive Lock - X
- Itent Lock - IX
- Byte Lock - B
- Share Ineted exclusive Lock - SIX
- Exclusive key value held by a repeatable reade - XR
* Explicação sobre cada tipo de Locks
Estaremos vendo com frequencia referencias ao campo tblsnum no decorrer do TUTORIAL, para uma simples e facil compreensão abaixo uma referencia. (Abaixo teremos uma explicação de todos os campos de retorno do onstat -k)
* Se o rowid for igual a zero, o tblsnum se refere a um bloqueio de tabela.
* Se o rowid terminar em dois zeros, o bloqueio se refere a um bloqueio de pagina.
* Se o rowid estiver com até 6 digitos e não terminar em zero, o bloqueio se refere a linha.
* Se o rowid estiver com mais de 6 digitos, o bloquieo se refere a um indice
Comentario: Perceba que o significado da coluna "tblsnum" está relacionado com a coluna "rowid"
Share Lock Database - HDR-S ou S
O Share Lock de database é representado como HDR-S na primeira conexão que colocar o LOCK e como S para as demais conexões, toda conexão que chegar na database irá marcar um LOCK se não for definido nenhum especifico lock será automaticamente colocado o SHARE LOCK, esse lock é importante para que não exista alterações na database enquanto houver usuarios conectados.
- Só pode ser colocado um SHARE LOCK na database que não existir um EXCLUSIVE LOCK.
Vamos ver um pouco na pratica:
Como estamos com um banco de teste é possivél fechar todas as conexões existentes, então vamos lá encerre todas as conexões existentes e após isso faça
terminal 1 # Quando citar Terminal estou me referindo a um Shell no prompt do usuario INFOMIX
$ onstat -k # Comando executado
Retorno: Veja abaixo o retorno em tela que mostra que não temos nenhum LOCK no momento.
IBM Informix Dynamic Server Version 10.00.UC4 -- On-Line -- Up 13 days 04:11:11 -- 3378356 Kbytes
Locks
address wtlist owner lklist type tblsnum rowid key#/bsiz
0 active, 600000 total, 32768 hash buckets, 5 lock table overflows
Comentario: Não houve retorno nenhum de LOCK pois não existe nenhuma conexão estabelecida.
terminal 2 # Quando citar Terminal estou me referindo a um Shell no prompt do usuario INFOMIX
$ dbaccess bd_teste # Comando executado
terminal 1 # Quando citar Terminal estou me referindo a um Shell no prompt do usuario INFOMIX
$ onstat -k # Comando executado
Retorno: veja abaixo que agora temos o retorno em tela que mostra que existe 1 LOCK tblsnum = 100002 e rowid = 208 do tipo HDR+S (lembra que HDR+S quer dizer que é um SHARE LOCK e é referente a primeira conexão por estar com HDR)
Comentario: Se quiser ver que a proxima conexão ficará apenas com "S" abra um terceiro terminal e se conecte também na bd_teste e execute novamente no terminal 1 o comando "onstat -k" e veja que terá um novo SHARE LOCK só que desta vezz com o type "S" pois é a segundo conexão .
IBM Informix Dynamic Server Version 10.00.UC4 -- On-Line -- Up 13 days 04:12:18 -- 3378356 Kbytes
Locks
address wtlist owner lklist type tblsnum rowid key#/bsiz
a4c7d280 0 a14b3a70 0 HDR+S 100002 208 0
1 active, 600000 total, 32768 hash buckets, 5 lock table overflows
Bem você deve estar se perguntando , como sabemos que esse LOCK é referente a database e qual database ... calma ai ... vamos ver já isso ...
sempre que o tblsnum for 100002 representa que é um lock de database
Para saber qual database está em LOCK vamos fazer uma consulta no banco de dados na database sysmaster table sysdatabase
$dbaccess sysmaster # Comando executado
escrever a consulta abaixo (Pode utilizar o dbaccess para essa consulta)
select name , hex(rowid) hex_rawid_database from sysdatabase'
No meu caso retorna # Esse retorno vai variar de acordo com a quantidade de base que existir no servidor e nomes.
name sysmaster
hex_raw_id_tablee 0x00000201
name sysutils
hex_raw_id_tablee 0x00000202
name sysuser
hex_raw_id_tablee 0x00000203
name bd_teste
hex_raw_id_tablee 0x00000208
veja que o retorno do numero 0x00000208 representa o rowid 208 então concluimos que o lock do tblsnum = 100002 do rowid = 208 é referente a database "bd_teste", caso o LOCK estivesse indicando rowid 203 teriamos então um SHARE LOCK na tabela sysuser e assim por diante ...
Vamos ver um exemplo de como funciona o SHARE LOCK .
1° Tentando alterar o nome de uma tabela que esteja com SHARE LOCK.
terminal 1 # Quando citar Terminal estou me referindo a um Shell no prompt do usuario INFOMIX
$ dbaccess bd_teste # Comando executado
terminal 2 # Quando citar Terminal estou me referindo a um Shell no prompt do usuario INFOMIX
$ dbaccess bd_sysmaster # Comando executado
rename database bd_teste to teste_bd # Linha digitada no dbaccess
Essa situação irá retornar os dois erros abaixo demonstrados, isso porque estamos tentando mudar o nome de uma base que existe conexões.
425: Database is currently opened by another user.
107: ISAM error: record is locked.
Share Lock table -- HDR-S ou S
O Share Lock de tabela é representado como HDR+S na primeira conexão que colocar o LOCK como "S" para as demais conexões, esse lock é importante para que não exista alterações na tabela enquanto consultas estejam sendo efetuadas.
Para identificar o SHARE LOCK da table com o comando onstat -k o rowid estará representado pelo numero "0" e o tblsnum estará exibindo de forma hexadecimal o numero da tabela.
- só é permitido colocar um Share Lock na tabela que não existir um exclusivo Lock
Vamos trabalhar na pratica um pouco:
Terminal 1 # Quando citar Terminal estou me referindo a um Shell no prompt do usuario INFOMIX
Comentario: Vamos colocar o Lock explicitamente na tabela
$ dbaccess bd_teste # Comando executado
begin; lock table tabela1 in share mode # Linha digitada no dbaccess
terminal 2 # Quando citar Terminal estou me referindo a um Shell no prompt do usuario INFOMIX
Comentario: Vamos verificar o Share lock
$ onstat -k # Comando executado
retorno do onstat -k
IBM Informix Dynamic Server Version 10.00.UC4 -- On-Line -- Up 13 days 06:03:44 -- 3378356 Kbytes
Locks
address wtlist owner lklist type tblsnum rowid key#/bsiz
101209bc 0 9ffed0ec 0 HDR+S 100002 208 0
105dad84 0 9ffed0ec 101209bc HDR+S 700264 0 0
2 active, 600000 total, 32768 hash buckets, 5 lock table overflows
analisando o retorno do comando onstat -k
Neste retorno temos 2 Locks do tipo Share onde os dois são os primeiros a serem colocados. (Sabemos que são os primeiros porque estão com HDR)
Agora pergunto a todos, porque 2 Locks se neste momento só estamos explicitamente colocando LOCK na "tabela1" ?
É claro que todos que estão acompanhando esse tutorial já sabem a resposta na ponta da lingua ... a resposta é porque para chegar na tabela precisa conectar na database e para toda a conexão aberta com a database é criado um share lock.
Bem como já definimos acima o SHARE LOCK de database sabemos que está conectado na database bd_teste então vamos agora analizar o SHARE LOCK da tabela.
tblsnum = 700264 # Essa é a tabela em hexadecimal então coloque na query abaixo e irá conseguir identificar o nome da tabela , lembrando acrescente 0x00 antes do código.
Sabemos que se trata de um SHARE LOCK na tabela porque o rowid é igual a 0
SELECT tabname FROM systables
WHERE hex(partnum) = "0x00700264"
Resultado da query:
tabname teste1 # Tabela "teste1"
Então concluimos que tblsnum = 700264 é o mesmo que tabname teste1 ou seja a tabela teste1 tem um SHARE LOCK.
outra maneira de conseguir informações de qual tabela é referido o numero hexadecimal retornado pelo onstat -k na coluna tblsnum será através do comando oncheck -pt
$ oncheck -pt "0x00700264" # Comando executado retorno do comando
TBLspace Report for bd_teste:gerenc.teste1
Physical Address 9:1169997
Creation date 10/05/2010 18:11:51
TBLspace Flags 801 Page Locking
TBLspace use 4 bit bit-maps
Maximum row size 1
Number of special columns 0
Number of keys 0
Number of extents 1
Current serial value 1
Pagesize (k) 2
First extent size 8
Next extent size 8
Number of pages allocated 8
Number of pages used 1
Number of data pages 0
Number of rows 0
Partition partnum 7340644
Partition lockid 7340644
Extents
Logical Page Physical Page Size Physical Pages
0 9:2176832 8 8
Exclusive Lock DATABASE -- HDR+X ou X
Lock exclusivo em database pode ser colocado de modo explicito ou pode ser gerado através de utilitarios do tipo dbexport , exclusivo Lock na database será representado sempre na coluna de type como HDR+X ,detalhe neste caso de LOCK de database é que somente pode existir um unico processo com o exclusivo lock então não teremos situações de existir um Lock de database que não seja HDR+X que seja apenas "X" isso seria impossivél.
- Não é possivél colocar EXCLUSIVO LOCK quando já existir um SHARE LOCK , caso tente colocar será retornado erro -425 e -107
vamos provacar EXCLUSIVO LOCK efetuando um export da base de dados
Terminal 1 # Quando citar Terminal estou me referindo a um Shell no prompt do usuario INFOMIX
$ dbexport bd_teste # Comando executado
terminal 2 # Quando citar Terminal estou me referindo a um Shell no prompt do usuario INFOMIX
$ onstat -k # Comando executado
Retorno do comando onstat -k
Locks
address wtlist owner lklist type tblsnum rowid key#/bsiz
101209bc 0 9ffed0ec 0 HDR+X 100002 208 0
1 active, 600000 total, 32768 hash buckets, 5 lock table overflows
Analisando o comando, podemos relembrar um pouco o que foi explicado no SHARE LOCK para database.
"o numero Rowid é o hexadecimal que refere o nome da database na tabela sysdatabase da database sysmaster"
"encontraremos o nome da database correspondente ao rowid numero 208 através da consulta,
select name , hex(rowid) hex_rawid_database from sysdatabase
"tblsnum = 100002 referencia-se a LOCK de DATABASE"
no comando acima o type que nos retorna é "HDR+X" isso quer dizer que base de dados está com exclusivo Lock isso quer dizer que não será possivél nenhuma outra conexão com a base de dados que se referencia na sysdatabase da database sysmaster como hexadecimal "0x00000208" e se não conseguimos mais conectar por estar EXCLUSIVO LOCK isso quer dizer que nenhum outro tipo de LOCK será criado nesta base de dados. (Meio que obvio isso mas importante entender isso)
tentativa de conexão na base de dados bd_teste durante o exclusivo lock "HDR+X"
terminal 2 # Quando citar Terminal estou me referindo a um Shell no prompt do usuario INFOMIX
$ dbaccess bd_teste # Comando executado
Retorno de erro quando se tenta conectar em uma base de dados que esteja com "HDR+X"
425: Database is currently opened by another user.
107: ISAM error: record is locked.
Exclusive Lock TABLE -- HDR+X ou X
O exclusivo lock de uma tabela é utilizado para previnir que ninguem faça leitura ou escrita na tabela, logico que para algumas regras podem existir execeções, neste caso pode ser utilizado nivéis de isolamento "isolation level" do tipo leitura suja "dirty reader" porém essa execeção pode causar incosistencia dos dados que estejam sendo recuperados.
Vamos ver na pratica:
terminal 1 # Quando citar Terminal estou me referindo a um Shell no prompt do usuario INFOMIX
$ dbaccess bd_teste # Comando executado
begin; lock table teste1 in exclusive mode
terminal 2 # Quando citar Terminal estou me referindo a um Shell no prompt do usuario INFOMIX
$ onstat -k # Comando executado
retorno do comando onstat -k
IBM Informix Dynamic Server Version 10.00.UC4 -- On-Line -- Up 14 days 04:03:23 -- 3378356 Kbytes
Locks
address wtlist owner lklist type tblsnum rowid key#/bsiz
101209bc 0 9ffed0ec 0 HDR+S 100002 208 0
105dad84 0 9ffed0ec 101209bc HDR+X 700264 0 0
2 active, 600000 total, 32768 hash buckets, 5 lock table overflows
Bem analisando o retorno acima podemos verificar que temos um Share Lock na database motivado pela conexão que estabelecemos quado abrimos a conexão para colocar a tabela em LOCK, temos também um EXCLUSIVE LOCK na tabela hex 0x00700264 que identificamos pelo rowid = 0 esse exclusive Lock nos forçamos acontecer..
quinta-feira, outubro 21, 2010
Made in china
| Reacções: |
quinta-feira, junho 17, 2010
AS CUNHAS
Ministro: Olha, olha, está tudo bem?!
Empresário: Eh pá, mais ou menos, tenho o meu filho desempregado tu é que eras homem para me desenrascar o miúdo.
Ministro: E que habilitações ele tem?!
Empresário: Tem o 12.º completo.
Ministro: O que ele sabe fazer?!
Empresário: Nada, sabe ir para a Discoteca e deitar-se às tantas da manhã!
Ministro: Posso arranjar-lhe um lugar como Assessor, fica a ganhar cerca de 4000, agrada-te?!
Empresário: Isso é muito dinheiro, com a cabeça que ele tem era uma desgraça não arranjas algo com um ordenado mais baixo?!
Ministro: Sim, um lugar de Secretario já se ganha 3000 !...
Empresário: Ainda é muito dinheiro, não tens nada volta dos 600/700 ???
Ministro: Eh pá, isso não, para esse ordenado tem de ser Licenciado, falar Inglês , dominar Informática e tem de ir a concurso!!!...
quinta-feira, maio 20, 2010
Como matar um dragão com uma única arma: linguagem de programação

Certa vem um dragão aprisionou uma linda princesa em uma torre de ilha distante, a única forma de se acessar esta ilha era atravéz de uma ponte na qual o dragão ficava dia e noite de vigia, então lá vão nossos "heróis" da informática salvar a princesa, cada uma sua maneira:
Programador Java
Chega, encontra o dragão. Desenvolve um framework para aniquilamento de dragões em múltiplas camadas. Escreve vários artigos sobre o framework, mas não mata o dragão.
Programador .NET
Chega, olha a ideia do Javanês e a copia, tenta matar o dragão, mas é comido pelo réptil.
Programador PHP
Desenvolve em alguns minutos uma lamina perfeita, afiada e funcional. Escolhe uma bonita textura para o cabo, e outra bonita textura para a armadura. Escreve um CSS com o alinhamento exato dos golpes necessários para matar o dragão. Corre para matar o dragão, mas, chegando lá, descobre que as texturas que escolheu para o cabo da espada e para a armadura não combinam com dragão e nem com o vestido da princesa. Volta pra frente do micro e e perde algumas horas para produzir texturas melhores no photoshop. Volta majestoso para matar o dragão, uma cena bonita mesmo, todas as cores em equilíbrio. A princesa sorri, por ser salva por um herói tão bem alinhado, o dragão sorri também, pois quando o programador tenta o primeiro golpe, descobre que fez o CSS dos golpes para IE e não para o MOZILA. Resultado, churrasquinho de programador.
Programador C
Chega, olha para o dragão com olhar de desprezo, puxa seu canivete, minúsculo extremamente leve e simples degola o dragão. Encontra a princesa, mas a ignora para ver os últimos checkins no cvs do kernel do linux.
Programador C++
Cria um canivete básico e vai juntando funcionalidades até ter uma espada complexa avassaladora, mas que apenas ele consegue entender … Mata o dragão, mas trava no meio da ponte por causa dos memory leaks.
Programador COBOL
Chega,olha o dragão, pensa que tá velho demais para conseguir matar um bicho daquele tamanho e pegar a princesa e, então, vai embora de volta ao seu mundinho.
Programador Pascal
Se prepara durante 10 anos para criar um sistema de aniquilamento de dragão… Chegando lá descobre que o programa só aceita lagartixas no máximo médias como entrada.
Programador VB
Monta uma arma de destruição de dragões a partir de vários componentes, parte pro pau pra cima do dragão e, na hora H, descobre que a espada só funciona durante noites chuvosas, e deve ser reiniciada a cada golpe para voltar a funcionar, só não sabe o pq disso…
Programador PL/SQL
Coleta dados de outros matadores de dragão, cria tabelas com N relacionamentos de complexidade ternaria, dados em 3 dimensões, OLAP, demora 15 anos para processar a informação. Enquanto isso a princesa virou lésbica.
Programador Ruby
Chega com uma p*t* fama, falando que é o melhor faz tudo, quando vai enfrentar o dragão ao invés de ir pros finalmente, mostra um videozinho dele matando um dragao … O dragão come ele de tédio.
Programador Smalltalk
chega, analisa o dragão e a princesa, vira as costas e vai embora, pois eles são muito inferiores.
Programador Shell Script
Cria uma arma poderosa para matar os dragões, mas, na hora H, não se lembra como usá-la.
Programador Shell Script - 2
O cara chega no dragão com um script de 2 linhas que mata, corta, estripa, empala, pica em pedacinhos e empalha o bicho, mas na hora que ele roda, o script aumenta, engorda, enfurece e coloca álcool no fogo do dragão.
Programador Assembly
Acha que está fazendo o mais certo e enxuto, porém troca um A por D, mata a princesa e transa com o dragão.
Programador Fortran
Chega desenvolve uma solução com 45000 linhas de codigo, mata o dragão vai ao encontro da princesa … mas esta o chama de tiuzinho e sai correndo atrás do programador java que era elegante e ficou rico.
Programador Fox Pro
Desenvolve um sistema para matar o dragão, por fora é bunitinho e funciona, mas por dentro está tudo remendado. Quando ele vai executar o aniquilador de dragões descobre que esqueceu de indexar os DBF´s.
Programador Clipper
Monta uma rotina que carrega um array de codeblocks para insultar o dragão, cantar a princesa, carregar a espada para memória, moer o dragão, limpar a sujeira, lascar leite condensado com morangos na princesa gostosa, transar com a princesa, tomar banho, ligar o carro, colocar gasolina e voltar pra casa. Na hora de rodar recebe um "Bound Error: Array Access" e o dragão come ele com farinha.
Analista de processos
Chega ao dragão com duas toneladas de documentação desenvolvida sobre o processo de se matar um dragão genérico, desenvolve um fluxograma super complexo para libertar a princesa e se casar com ela, convence o dragão que aquilo vai ser bom pra ele, e que não será doloroso. Ao executar o processo ele estima o esforço e o tamanho do estrago que isso vai causar, a assinatura do papa, do buda e do Raul Seixas para o plano, e então compra 2 bombas nucleares, 45 canhões, 1 porta aviões, contrata 3000 homens armados até os dentes, quando na verdade necessitaria apenas da espada que estava na sua mão o tempo todo.
sexta-feira, dezembro 11, 2009
Dúvida
segunda-feira, novembro 16, 2009
sexta-feira, julho 17, 2009
História do hardware
O hardware do Computador é um componente essencial no processo de cálculo e armazenamento de dados pois ele é necessário para o processamento e compartilhamento de dados. O primeiro computador que se tem notícia é literalmente duro. Os Fenícios armazenavam peças cerâmicas representando coisas como estoque e grãos em vasilhames, que não eram usados apenas pelo mercador mas pelos contadores e oficiais do governo.
Este texto apresenta os fatos mais significativos no desenvolvimento do hardware do computador.
[editar] Primeiros dispositivos para facilitar o cálculo
A Humanidade tem utilizado dispositivos para auxiliar a computação há milênios. Um exemplo é o dispositivo para estabelecer a igualdade pelo peso: as clássicas balanças, posteriormente utilizadas para simbolizar a igualdade na justiça. Um dispositivo mais orientado à aritmética é o ábaco mostrado na figura ao lado.
[editar] Primeiras calculadoras mecânicas
Em 1623 Wilhelm Schickard construiu a primeira calculadora mecânica e assim, tornou-se o pai da era da computação. Como sua máquina utilizava técnicas como engrenagens inicialmente desenvolvidas para relógios, ela foi também chamada de 'relógio calculador'. Ela foi colocada em uso prático por seu amigo Johannes Kepler, que revolucionou a astronomia.
A máquina de Blaise Pascal (a Pascalina, 1642) e Gottfried Wilhelm von Leibniz (1670) se seguiram.
Leibniz descreveu também o código binário, um ingrediente central de todos os computadores modernos. Entretanto, até 1940, muitos projetos (incluindo a máquina de Babbage do século XIX e mesmo o ENIAC de 1945) foram baseados no sistema decimal, mais difícil de implementar.
John Napier notou que a multiplicação e a divisão de números poderia ser feita pela adição e subtração, respectivamente, de logaritmos destes números. Como números reais podem ser representados pelas distâncias ou intervalos em uma linha, uma simples operação de translação ou movimentação de dois pedaços de madeira, corretamente marcados com intervalos logaritmos ou lineares, foi utilizada como a régua de cálculo por gerações de engenheiros e outros profissionais de ciências exatas, ate a invenção da calculadora de bolso . Assim os engenheiros do programa Apollo para enviar o homem à lua fizeram seus cálculos em réguas de cálculo.
[editar] Leitores de cartões perfurados 1801-1940
Em 1801, Joseph-Marie Jacquard desenvolveu uma máquina têxtil em que o padrão de saída era controlado por cartões perfurados. O conjunto de cartões poderia ser alterado sem alterar a estrutura da máquina têxtil. Este foi um marco na programação.
Em 1890 o censo dos Estados Unidos utilizou cartões perfurados e máquinas de ordenação desenhadas por Herman Hollerith para controlar os dados do censo da década conforme previsto na constituição. A companhia de Hollerith tornou-se posteriormente o núcleo da IBM.
No século XX, a eletricidade foi utilizada pela primeira vez em máquinas de calcular e ordenar. Em 1940, W.J. Eckert do Thomas J. Watson Astronomical Computing Bureau da Universidade de Columbia publicou o artigo Método dos cartões perfurados na computação científica que era suficientemente avançado para resolver equações diferenciais, multiplicar e dividir números de ponto flutuante, baseado unicamente em cartões perfurados e mesas de conexão similares às utilizadas por operadores de telefonia. Os cálculos astronômicos representaram o estado da arte na computação.
[editar] Primeiros projetos de máquinas programáveis 1835-1900s
A característica que define um "Computador Universal" é a "programabilidade" que permite ao computador emular qualquer outra máquina de calcular alterando a sequência de instruções armazenadas. Em 1835 Charles Babbage descreve sua Máquina Analítica. Esta máquina tratava-se de um projeto de um computador programável de propósito geral, empregando cartões perfurados para entrada e uma máquina de vapor para fornecer energia. Enquanto os projetos estavam provavelmente corretos, conflitos com o artesão que construía as partes, e o fim do financiamento do governo, tornaram impossível a sua construção. Ada Lovelace, filha de Lord Byron, traduziu e adicionou anotações ao Desenho da Máquina Analítica de L. F. Manabrea. Ela se tornou uma parceira bem próxima de Babbage. Alguns reivindicam que ela é a primeira programadora de computadores do mundo, entretanto essa reivindicação e a validade de suas outras contribuições são disputadas por muitos. A reconstrução da Máquina Diferencial está em operação desde 1991 no Museu de Ciências de Londres, ela trabalha como Babbage projetou e mostra que ele estava certo na teoria e permite a produção de partes da precisão requerida. Babbage falhou porque seus desenhos eram muito ambiciosos, ele teve problemas com relações de trabalho, e era politicamente inapto.
[editar] Outros tipos limitados de computação mecânica 1800s-1900s
No início do século XX as primeiras calculadoras mecânicas, caixas registradoras e máquinas de cálculo em geral foram redesenhadas para utilizar motores elétricos, com a posição das engrenagens representando o estado de uma variável. Pessoas eram empregadas com o cargo de "computador", e utilizavam calculadoras para avaliar expressões. Durante o Projeto Manhattan, o futuro prêmio Nobel Richard Feynman foi o supervisor de uma sala cheia de computadores humanos, muitos deles mulheres, que entendiam as equações diferenciais que estavam sendo solucionadas para a guerra. Mesmo o renomado Stanislaw Marcin Ulam foi encarregado de trabalhar na tradução da matemática em um modelo computacional aproximado da bomba de hidrogênio, depois da guerra.
Durante a Segunda guerra mundial, Os planos de Curt Herzstark para uma calculadora mecânica de bolso literalmente salvaram sua vida. Veja: Cliff Stoll, Scientific American 290, no. 1, pp. 92–99. (Janeiro 2004)
[editar] Computadores analógicos, pré-1940
Antes da segunda guerra, computadores mecânicos e elétricos computadores analógicos foram considerados o 'estado da arte', e muitos pensavam que eles eram o futuro da computação. Computadores analógicos utilizam variações contínuas de variáveis físicas, como voltagem e corrente, ou a velocidade de rotação de um dispositivo, para representar as quantidades sendo processadas. Um exemplo ingênuo de tal máquina é o Integrator aquático construído em 1936. Ao contrário dos computadores digitais modernos, computadores analógicos não são muito flexíveis, e precisavam ser reconfigurados (reprogramados) manualmente para trocar o problema em que iriam trabalhar. Computadores analógicos tinham uma vantagem frente aos primeiros computadores digitais pois eram capazes de resolver problemas mais complexos. Desde que os programas de computador não eram ainda muito populares nesta época (apesar do trabalho pioneiro de Babbage), As soluções eram freqüentemente hard-coded na forma de gráficos e nomogramas, que podiam representar, por exemplo, uma analogia da solução de problemas como a distribuição de pressão e temperatura em um sistema de aquecimento. Mas à medida que os computadores digitais se tornavam mais rápidos e com mais memória (e.g., RAM ou armazenamento interno), eles praticamente substituíram inteiramente os computadores analógicos, e a profissão de programador surgiu.
[editar] Primeira geração dos computadores digitais 1940
A era da computação moderna começou com uma corrida de desenvolvimento antes e durante a Segunda guerra mundial, com circuitos eletrônicos, relés, capacitores e válvulas substituindo seus equivalentes mecânicos e o cálculo digital substituindo o cálculo analógico. Os computadores projetados e construídos nesta época foram chamados computadores de 'primeira geração'. Estes computadores eram normalmente construídos manualmente usando circuitos contendo relés e válvulas, e freqüentemente utilizavam cartões perfurados para a entrada e como a memória de armazenamento principal (não volátil). A memória temporária ou memória de trabalho, era fornecida por linhas de retardo acústicas (que utilizam a propagação do som no tempo como um meio para armazenar dados) ou por tubos de Williams (que utilizam a habilidade dos tubos de raios catódicos da televisão para armazenar dados). Em 1954, memórias de núcleo magnético rapidamente substituíram outras formas de armazenamento temporário, e dominaram até a metade da década de 1970.
Em 1936 Konrad Zuse iniciou a construção das primeiras calculadoras 'Z-series', calculadoras com memória e programáveis (inicialmente de forma limitada). A calculadora de Zuse totalmente mecânica, mas ainda utilizando o sistema binário foi finalizada em 1938, entretanto, nunca funcionou com confiabilidade por problemas de precisão em suas peças.
Em 1937, Claude Shannon finalizou sua tese de mestrado no MIT que implementava Álgebra booleana utilizando relés e chaves pela primeira vez na história. Intitulada Uma análise simbólica de relés e circuitos de comutação, A tese de Shannon forneceu as bases para o desenho prático de circuitos digitais.
A máquina seguinte de Zuse, o Z3, foi finalizado em 1941. Ela era baseada em relés telefônicos e funcionou satisfatoriamente. O Z3 passou a ser o primeiro computador programável. Em vários aspectos ele era muito semelhante às máquinas modernas, sendo pioneiro em vários avanços, como o uso de aritmética binária, e números de ponto flutuante. A troca do sistema decimal, mais difícil de implementar (utilizado no projeto de Charles Babbage) pelo simples sistema binário tornou a máquina de Zuse mais fácil de construir e potencialmente mais confiável, com a tecnologia disponível naquele tempo. Esta é algumas vezes vista como a principal razão do sucesso de Zuse onde Babbage falhou, entretanto, muitas das máquinas de hoje continuam a ter instruções de ajuste decimal, a aritmética decimal é ainda essencial para aplicações comerciais e financeiras e hardware para cálculos de ponto-flutuante decimais vem sendo adicionado em muitas novas máquinas (O sistema binário continua sendo utilizado em praticamente todas as máquinas).
Os Programas eram armazenados no Z3 em filmes perfurados. Desvios condicionais não existiam, mas na década de 1990 teóricos demonstraram que o Z3 ainda era um computador universal (ignorando sua limitação no seu espaço de armazenamento físico). Em duas patentes de 1937, Konrad Zuse antecipou que as instruções da máquina poderiam ser armazenadas no mesmo espaço de armazenamento utilizado para os dados - A primeira idéia do que viria a ser conhecida como a arquitetura de Von Neumann e que seria implementada no EDSAC britânico (1949). Zuse ainda projetou a primeira linguagem de alto nível, o (Plankalkül), em 1945, apesar desta não ser formalmente publicada até 1971, foi implementada pela primeira vez em 2000 pela universidade de Berlin—cinco anos após a morte de Zuse.
Zuse sofreu dramáticas derrotas e perdeu muitos anos durante a Segunda Guerra Mundial quando os bombardeamentos ingleses e americanos destruíram as suas primeiras máquinas. Aparentemente seu trabalho permaneceu em grande parte desconhecida para os engenheiros americanos e britânicos por muito tempo, no entanto pelo menos a IBM estava a par do seu trabalho e financiou sua companhia após a guerra 1946 em troca de permissões em suas patentes.
Em 1940, a calculadora de número complexos, para aritmética de números complexos baseada em relés, foi construída. ela foi a primeira máquina a ser acessada remotamente via uma linha telefônica. Em 1938 John Vincent Atanasoff e Clifford E. Berry da universidade do estado de Iowa desenvolveram o Atanasoff Berry Computer (ABC), um computador com um propósito especial: resolver sistemas de equações lineares, e que empregava capacitores para sua memória. A máquina ABC não era programável, mas era um computador em outros aspectos.
Durante a Segunda Guerra Mundial, os ingleses fizeram esforços significativos em Bletchley Park para quebrar a comunicação militar alemã. O principal sistema de criptografia germânico era feito através de uma máquina codificadora (o Enigma com vária variantes) foi atacado com bombas especialmente projetadas que ajudaram a encontrar possíveis chaves para o Enigma, depois que outras técnicas não tiveram sucesso. Os alemães também desenvolveram uma série de sistemas cifradores (chamados cifradores Fish pelos ingleses e cifradores de Lorenz pelos alemães) que eram um pouco diferentes do Enigma. Como parte do ataque contra este cifradores, o professor Max Newman e seus colegas (incluindo Alan Turing) ajudaram a projetar o Colossus. O Colossus Mk I foi feito em um curto período de tempo por Tommy Flowers no centro de pesquisa dos correios em Dollis Hill, Londres e então enviado para Bletchley Park.
O Colossus foi o primeiro dispositivo de computação totalmente eletrônico. Ele utilizava apenas válvulas e não possuía relés. Ele tinha uma fita de papel como entrada e era capaz de fazer desvios condicionais. Nove Colossus Mk II foram construídos (O Mk I foi convertido para Mk II totalizando dez máquinas). Detalhes de sua existência, projeto e uso foram mantidos em segredo até a década de 1970. Dizem que Winston Churchill ordenou pessoalmente a destruição dos computadores em peças não maiores que uma mão humana. Devido a este segredo estes computadores não foram incluídos em muitas histórias da computação. Uma cópia reconstruída de uma das máquinas Colossus existe hoje em exposição em Bletchley Park.
O trabalho de Turing antes da Guerra teve uma grande influência na teoria da computação, e após a Guerra ele projetou, construiu e programou alguns dos primeiros computadores no National Physical Laboratory na Universidade de Manchester. Seu artigo de 1936 incluía uma reformulação dos resultados de 1931 de Kurt Gödel além de uma descrição do que agora é chamado de máquina de Turing, um dispositivo puramente teórico inventado para formalizar a noção da execução de algorítmos, substituindo a complicada linguagem universal de Gödel baseada em aritmética. Computadores modernos têm a capacidade de execução equivalente a uma máquina de Turing universal), exceto por sua memória finita. Esta limitação na memória é algumas vezes vista como uma fronteira que separa computadores de propósito geral dos computadores de propósito especial anteriores.
George Stibitz e colaboradores no Laboratório Bell em Nova Iorque produziram vários computadores baseados em relés no final da década de 1930 e início da década de 1940, mas foram concebidos principalmente para o controle do sistema de telefonia. Seus esforços foram um antecedente de outra máquina eletromecânica americana.
O Harvard Mark I (oficialmente, o Calculador Controlado por Sequência) foi um computador de propósito geral eletro-mecânico construído com o financiamento da IBM e com a assistência de alguns funcionários da IBM sob a direção de um matemático de Harvard Howard Aiken. Seu projeto foi influenciado pela máquina analítica. Ele era uma máquina decimal que utilizava rodas de armazenamento em chaves rotativas juntamente com relés. Ele era programado por cartões perfurados, e continha várias calculadoras trabalhando em paralelo. Modelos posteriores continham vários leitores de fita de papel e a máquina podia trocar de leitor dependendo de uma condição. O Desenvolvimento começou em 1939 no laboratório Endicott da IBM; o Mark I foi transferido para a Universidade de Harvard e começou a operar em maio de 1944.
O ENIAC (Electronic Numerical Integrator and Computer), freqüentemente chamado o primeiro computador eletrônico de propósito-geral, validou publicamente o uso da eletrônica para a computação em larga escala. Isto foi crucial para o desenvolvimento da computação moderna, inicialmente devido à enorme vantagem em velocidade e depois pelo potencial de miniaturização. Construído sob a direção de John Mauchly e J. Presper Eckert, ele era 1.000 vezes mais rápido que seus contemporâneos. O desenvolvimento e construção do ENIAC iniciou em 1941 e entrou em operação completa 1945. Quando seu projeto foi proposto, muitos pesquisadores acreditavam que milhares de delicadas válvulas iriam queimar com uma freqüência tal que o ENIAC estaria freqüentemente desligado para reparos e não teria uso prático. Ele foi, entretanto, capaz de fazer 100.000 cálculos simples por segundo por horas entre as falhas nas válvulas.
`Programar' o ENIAC, entretanto, significava modificar a sua fiação interna - podemos dizer que isto nem se qualifica como programação, de outro modo qualquer tipo de reconstrução de algum computador limitado pode ser visto como programação. Vários anos depois, entretanto, ele se tornou capaz de executar programas armazenados em uma tabela de funções na memória.
Todas as máquinas daquela data ainda deixavam de possuir o que passou a ser conhecido como a arquitetura de von Neumann: seus programas não eram armazenados no mesmo 'espaço' de memória que os dados e assim os programas não podiam ser manipulados como os dados.
A primeira máquina com a arquitetura von Neumann foi o Manchester "Baby" ou Máquina Experimental em pequena escala, construída na Universidade de Manchester em 1948; ela foi seguida pelo Manchester Mark I em 1949 que funcionava como um sistema completo utilizando o tubo de Williams para a memória e introduziu o uso de registradores de índice. O outro candidato ao título de "primeiro computador com programas armazenados de forma digital" foi o EDSAC, projetado e construído na Universidade de Cambridge. Operacional menos de um ano depois do Manchester "Baby", ele era capaz de resolver problemas reais. O EDSAC foi inspirado nos planos do EDVAC, o sucessor do ENIAC; estes planos existiam na época que o ENIAC ficou operacional. Ao contrário do ENIAC, que utilizava processamento paralelo, O EDVAC utilizava uma única unidade de processamento. Seu desenho era simples e foi o primeiro a ser implementado em cada nova onda de miniaturização, e aumento de confiabilidade. Muitos consideram o Manchester Mark I / EDSAC / EDVAC os pais dos quais derivaram a arquitetura de todos os computadores correntes.
O primeiro computador universal programável na Europa foi criado por um time de cientistas sob a direção de Segrey Alekseevich Lebedev do Instituto de Eletrotecnologia de Kiev, União Soviética (hoje Ucrânia). O computador MESM (МЭСМ, Pequena máquina eletrônica de cálculo) tornou-se operacional em 1950. Ele tinha cerca de 6.000 válvulas e consumia 25 kW de potência. Ele podia fazer aproximadamente 3.000 operações por segundo.
A máquina da Universidade de Manchester tornou-se o protótipo do Ferranti Mark I. O primeiro Ferranti Mark I foi entregue à Universidade em fevereiro de 1951, e no mínimo nove outros foram vendidos entre 1951 e 1957.
Em junho de 1951, o UNIVAC I (Universal Automatic Computer) foi entregue para o departamento de censo dos Estados Unidos da América. Mesmo tendo sido fabricado por Remington Rand, a máquina é freqüentemente chamada indevidamente de "IBM UNIVAC". Remington Rand vendeu 46 máquinas por mais de US$1 milhão cada. O UNIVAC foi o primeiro computador 'produzido em massa'; todos os predecessores foram feitos em pequena escala. Ele utilizava 5.200 válvulas e consumia 125 kW de potência. Utilizava uma linha de retardo de mercúrio capaz de armazenar 1.000 palavras de 11 dígitos decimais mais o sinal (palavras de 72 bits). Ao contrário das máquinas anteriores ele não utilizava cartões perfurados para entrada e sim uma fita de metal.
Em Novembro de 1951, A empresa J. Lyons começou uma operação semanal de contabilidade de uma padaria com o LEO (Lyons Electronic Office). Esta foi a primeira aplicação comercial em um computador programável.
Ainda em 1951 (Julho), Remington Rand demonstrou o primeiro protótipo do 409, uma calculadora programável com cartões perfurados e plugues. Ele foi instalado inicialmente, no serviço de receita interna de Baltimore, em 1952. Veja em Rowayton Historical Society's timeline maiores detalhes. O 409 evoluiu para se tornar o Univac 60 e 120 em 1953.
[editar] Segunda geração 1947-1960
O grande passo seguinte na história da computação foi a invenção do transístor em 1948. Ele substituiu as frágeis válvulas, que ainda eram maiores e gastavam mais energia, além de serem menos confiáveis. Computadores transistorizados são normalmente referidos como computadores da 'segunda geração' e dominaram o mercado nos anos entre 1950 e início de 1960. Apesar de utilizar transistores e placas de circuito impresso estes computadores ainda eram grandes e utilizados principalmente em universidades, órgãos públicos e grandes empresas. O IBM 650 baseado em válvulas de 1954 pesava 900 Kg, a fonte de alimentação pesava cerca de 1350 Kg e ambos eram mantidos em gabinetes separados de 1,5 metros por 0,9 metros por 1,8 metros. Ele custava US$500.000 ou podia ser alugado por US$3.500 por mês. Entretanto a memória tinha originalmente apenas 2000 palavras de 10 dígitos, uma limitação que forçava uma programação difícil, para obter resultados. Este tipo de limitação dominou a programação por décadas.
Em 1955, Maurice Wilkes inventou a microprogramação, hoje utilizada universalmente na implementação dos projetos de CPU. O conjunto de instruções da CPU é definido por uma programação especial.
Em 1956, A IBM vendeu seu primeiro disco magnético, RAMAC (Random Access Method of Accounting and Control). Ela utilizou 50 discos de metal de 24 polegadas, com 100 trilhas por lado. Ele podia armazenar 5 megabytes de dados a um custo de US$10.000 por megabyte.
A primeira linguagem de programação de alto nível criada, o FORTRAN, foi também desenvolvida na IBM naquela época. (O projeto de Konrad Zuse de 1945 de uma linguagem de alto nível, Plankalkül, não estava implementado ainda.)
Em 1959 a IBM construiu um mainframe baseado em transistores, o IBM 1401, que utilizava cartões perfurados. Ele se tornou um computador de propósito geral popular e 12.000 foram vendidos, tornando-se a mais bem sucedida máquina na história dos computadores. Ele utilizava uma memória principal magnética de 4000 caracteres (mais tarde expandida para 16.000). Muitos aspectos de seu projeto foram baseados no desejo de substituir as máquinas de cartões perfurados da década de 1920 que estavam em uso.
Em 1960 a IBM vendeu o mainframe IBM 1620 baseado em transistores, originalmente utilizava somente fita de papel perfurado, mas foi logo atualizado para cartões perfurados. Ele provou ser um computador científico popular e cerca de 2.000 foram vendidos. Ele utilizava uma memória de núcleo magnético de até 60.000 dígitos decimais.
Ainda em 1960, a DEC lançou o PDP-1 sua primeira máquina destinada ao uso por pessoal técnico em laboratórios e para pesquisa.
Em 1964 a IBM anunciou o System/360, que foi a primeira família de computadores que podia executar o mesmo programa em diferentes combinações de velocidade, capacidade e preço. Ele ainda foi pioneiro no uso comercial de microprogramas, com um conjunto estendido de instruções projetado para processar muitos tipos de dados, não apenas aritméticos. Além disto, ele unificou a linha de produtos da IBM, que anteriormente incluía uma linha "comercial" e uma linha "científica" separadas. O programa fornecido com o System/360 ainda incluía outros avanços, incluindo multiprogramação, novas linguagens de programação e independência dos programas dos dispositivos de entrada e saída. Mais de 14 000 System/360 foram vendidos até 1968.
Ainda em 1964, a DEC criou o PDP-8 uma máquina muito pequena, novamente destinada a técnicos e laboratórios de pesquisa.
[editar] Terceira geração e posterior, após-1958
A explosão no uso dos computadores começou com a 'Terceira Geração' de computadores. Estes se baseiam na invenção independente do circuito integrado (ou chip) por Jack St. Claire Kilby e Robert Noyce, que posteriormente levou à invenção do microprocessador por Ted Hoff da Intel.
No final da década de 1950, pesquisadores como George Gamow notaram que longas seqüências de nucleotídeos no DNA formavam um código genético, assim surge uma outra forma de codificação ou programação, desta vez com expressões genéticas. Na década de 1960, foi identificado análogos para a instrução de parada halt, por exemplo.
Na virada do milênio, pesquisadores notaram que o modelo descrito pela mecânica quântica poderia ser visto como elementos computacionais probabilísticos, com um poder de computação excedendo qualquer um dos computadores mencionados anteriormente, a Computação quântica.
Fonte Wikipedia
Cronologia da evolução dos computadores
A.C.
~3500 a.C.: os sumérios criam a numeração e o ábaco.
~1500 a.C.: egípcios utilizam o Relógio de sol para contar o tempo.
[editar] D.C.
~200 Base binária para classificar medidas musicais.
~825 Invenção do conceito de algoritmo
[editar] 1600
1614 John Napier e os logaritmos
1623 Invenção das calculadoras
[editar] 1800
1830 Motor diferencial de Babbage
1834 A primeira programadora: Augusta Lovelace
1837 O suporte em papel e o telégrafo
1854 George Boole investiga as leis do pensamento
1856 Primeira ligação transatlântica com cabo
1861 Francisco João de Azevedo inventa uma máquina de escrever (sendo considerado por alguns, como o real criador da máquina de escrever)
1868 Utilização de teclados QWERTY
1869 O piano lógico de Jeavons
1873 Primeiro motor eléctrico
1874 Primeira máquina de escrever
1876 Graham Bell e o telefone
1881 Aperfeiçoamento de máquinas de lógica mais pequenas
1883 Thomas Edison inventa a lâmpada
1888 Friedrich Reiniitzer descobre o cristal líquido
1892 máquinas de cálculo de Burroughs
1895 Primeira transmissão de Marconi
[editar] 1900
[editar] Década de 1900
1900 Surgimento da memória magnética.
1902 As primeiras tele-impressoras.
[editar] Década de 1910
1918 Codificação Enigma da Alemanha
[editar] Década de 1920
1920 John Logie Baird (na Inglaterra) e Clarence Hansell (dos Estados Unidos patenteiam a idéia de utilizar matrizes de tubos reflectores ou transparent rods para transmitir imagens - fibra óptica básica
[editar] Década de 1930
1936 O Primeiro computador eléctrico de Atanasoff e início dos computadores ABC
[editar] Década de 1940
1940 Lógica Booleana de Claude Shannon
1940 George Stibitz interliga dois computadores via telefone, o que gerou idéias para o primeiro Modem
1942 Plankalkül (primeira linguagem de programação)
1943 Descodificação de mensagens secretas alemãs com Colossus
1945 O ENIAC torna-se operacional, inaugurando a primeira geração de computadores.
1948 MIT desenvolve Cibernética
1949 Computador EDSAC utiliza fita magnética
1949 Joseph Lyons inventa LEO
[editar] Década de 1950
1950 Primeiro transístor de junção bipolar
1950 Primeiro Modem digital
1959 O Circuito Integrado estabelece a sua marca de inovação tecnológica
[editar] Década de 1960
1960 Theodore H. Nelson e o hipertexto
1960 Surgimento do sistema Unix baseado no Mutics.
1961 A primeira folha de cálculo eletrônica
1962 O primeiro modem comercial com uma velocidade de 300 Baud
1963 Primeiro mouse
1964 Linguagem de programação Basic
1965 Leis de Moore sobre a capacidade do microchip
1969 ARPANET dá início à Internet
[editar] Década de 1970
1971 O primeiro microprocessador, o Intel 4004
1971 Redes LAN sem fios (Wireless)
1971 O primeiro e-mail é enviado
1972 Surgimento das consolas de jogos - Pong
1972 A Xerox inicia o desenvolvimento de uma interface gráfica (GUI)
1972 A Bell Laboratories desenvolve a popular linguagem de programação C
1973 Formação do clube Home Brew
1973 Gary Kildall inventa o CP/M
1973 Dennis Ritchie reescreveu o Unix na linguagem de alto nível C
1973 Primeira chamada de celular é realizada em NY
1974 A primeira rede ARPANET comercial
1975 Bill Gates e Paul Allen escrevem a primeira implementação BASIC para o MITS ALTAIR
1975 A Microsoft é fundada por Bill Gates e Paul Allen
1976 Surgem as drives de 5.25"
1977 Xerox introduz o laser 9700
1977 Lançamento da Computerland
1977 Lançamento do Commodore Pet
1977 MITS Altair vendida
1977 A AT&T começou a fornecer o Unix para instituições comerciais da época
1978 A VisiCalc dá início à explosão das folhas de cálculo
1978 A primeira mensagem de spam
1979 A Ashton Tate lança o Dbase
[editar] Década de 1980
1980 SuperCalc, a folha de cálculo para o CPM
1981 Dá-se início ao desenvolvimento do MS-DOS
1981 Xerox 810 Star, o primeiro WIMP
1981 Nasce a noção do ctrl+alt+del
1982 Commodore 64, o computador caseiro
1982 Protocolo Internet TCP/IP
1983 ARPANET actualiza-se para TCP/IP
1984 Modem 9600
1984 Impressão Postscript pela Adobe
1984 Voyetra lança o Sequencer Plus
1984 Psion lança o primeiro organiser
1984 HP pioneira na tecnologia de jacto de tinta
1984 Computador IBM 286 AT com conectores PS/2
1984 Primeiro computador caseiro Amstrad (PCW)
1984 Lançamento do Apple Macintosh
1985 Lançamento do Windows 1.0
1985 Monitor JC-1401P3A introduz CRT
1985 Aldus Pagemaker é a primeira aplicação de Desktop Publishing de grande aceitação
1985 Introdução do Tandy TRS-80
1986 Amiga lança o modelo 1000
1986 Lançamento do Amstrad PC1512
1986 SQL (Standard Query Language)
1987 VGA traz suporte para 256 cores a uma resolução de 640x480
1987 A Apple desenvolve fontes True Type
1989 Tim Berners-Lee e a World Wide Web
1989 Pornografia pela internet (talvez o início do comércio electrónico?)
1989 Kurt Arkley inicia o desenvolvimento da API do OpenGL
1989 Microsoft Word para Windows 1.0
1989 Lotus inicia desenvolvimento do Lotus Notes
[editar] Década de 1990
1990 Lançamento do WordPerfect 5.1
1990 IDE (Integrated Drive Electronics)
1990 A Adobe lança o Photoshop
1990 Windows 3.0, uma interface gráfica funcional
1990 Início da criação do GNU HURD
1991 Modems com suporte da norma V32 Bis
1991 Sound Blaster Pro aumenta a parada do áudio
1991 Tecnologia de firewall caseira da SonicWall
1991 Windows NT, uma GUI multitarefa nativa
1991 Microsoft Visual Basic estreia-se
1991 Primeira versão da Plataforma Java
1992 Lançamento do Kernel do Linux v0.12 sob a GPL
1992 O jogo Wolfenstein deleita os olhos aos jogadores
1992 Palm começa a melhorar os computadores de hand held
1993 Lançamento do processador i386 e co-processador matemático i387
1993 Mosaic desenvolve o primeiro browser gráfico
1993 Lançamento do Windows NT 3.1
1994 Lançamento do Kernel do Linux v1.0
1994 SMS traz o texto aos telemóveis
1994 NetWare Directory Services
1994 Galaxy é o primeiro directório de procura na Internet
1995 O Kernel do Linux v 1.2 é lançado com suporte a Alpha, Spark e MIPS
1995 Microsoft lança o Windows 95 com suporte Plug and Play
1995 Citrix aposta no modelo ASP
1995 E-Commerce e a Amazon
1995 Lançamento do Exchange Server 3.51
1996 Lançamento do Debian Buzz ( 1.1)
1996 Kernel do Linux v2.0 suporta SMP e outros processadores
1996 Macromedia introduz Flash
1996 Suite Office para Windows 95
1996 USB (Universal Serial Bus)
1996 Lançamento do Windows NT 4.0
1996 Lançamento do Windows CE 1.0
1996 DVD (Digital Versatile/Video Disk)
1996 Lançamento do Debian REX (v1.2)
1997 Voodoo lança a placa gráfica 3D
1998 CDs graváveis e regraváveis (CD-RW)
1998 Microsoft lança o Windows 98
1999 Lançamento do Kernel do Linux 2.2
1999 Nvidia lança a primeira GeForce
1999 Os ficheiros de música MP3
1999 Começa-se a falar em P2P (peer-to-peer) devido à Napster
[editar] 2000
2000 Surge o Compaq iPAQ, um porte do MS Windows CE para a plataforma DEC Itsy
2000 Mac OS X da Apple. Sistema operativo com interface gráfico baseado em Unix
2000 Bill Gates resigna ao cargo de CEO da Microsoft
2000 Polêmica do bug do milénio (Y2K Bug)
2001 Lançamento do Kernel do Linux 2.4
2001 Lançamento do primeiro iPod da Apple
2001 Convergência dos telemóveis e PDAs
2001 Assiste-se à criação de formas humanas realistas através da computação gráfica
2002 MS Windows XP SP1
2002 Lindows alia-se à Microtel
2002 Lançamento do Kernel do Linux 2.6
2003 Microsoft Office 2003
2003 Motherboard Intel Canterwood
2003 Lançamento do Microsoft Windows 2003 Server
2005 Microsoft apresenta o Windows Vista
2005 Mandrake compra Conectiva e vira Mandriva
2005 Apple anuncia a migração da plataforma Macintosh para processadores Intel
2005 Microsoft lança o Xbox 360, primeiro videogame da sétima geração, que promete se integrar com o PC
2006 Apple lança o iPod Nano, o menor iPod com tela LCD e o iPod Video, com capacidade de armazenamento de até 200GB
2006 Microsoft lança o Windows Vista para uso corporativo
2006 Lançado o Playstation 3 (Sony)
2007 Microsoft lança o Windows Vista a uso doméstico
2008 - 8 de Agosto um Windows responsável pelas imagens na abertura dos Olimpíadas de Pequim simplesmente apresenta uma BSOD
2008 Começa-se a construção de um vídeo sobre a história dos computadores.
fonte wikipedia




