Analitcs

Pesquisar no conteúdo do blog.atlabs.com.br

quinta-feira, 24 de abril de 2014

ORACLE - Chega de SqlPlus

Reações: 


http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index-097090.html

AM - Flip-flop

Reações: 


Retirado de:

http://pt.wikipedia.org/wiki/Flip-flop

Flip-flop


Origem: Wikipédia, a enciclopédia livre.
Em (eletrônica) e circuitos digitais, o flip-flop ou multivibrador biestável é um circuito digital pulsado capaz de servir como uma memória de um bit. Um flip-flop tipicamente inclui zero, um ou dois sinais de entrada, um sinal de clock, e um sinal de saída, apesar de muitos flip-flops comerciais proverem adicionalmente o complemento do sinal de saída. Alguns flip-flops também incluem um sinal da entrada clear, que limpa a saída atual. Como os flip-flops são implementados na forma de circuitos integrados, eles também necessitam de conexões de alimentação. A pulsação ou mudança no sinal do clock faz com que o flip-flop mude ou retenha seu sinal de saída, baseado nos valores dos sinais de entrada e na equação carecterística do flip-flop.
De forma geral podemos representar o flip-flop como um bloco onde temos 2 saídas: Q e Q', entrada para as variáveis e uma entrada de controle (Clock). A saída Q será a principal do bloco. Este dispositivo possui basicamente dois estados de saída. Para o flip-flop assumir um destes estados é necessário que haja uma combinação das variáveis e do pulso de controle (Clock). Após este pulso, o flip-flop permanecerá neste estado até a chegada de um novo pulso de clock e, então, de acordo com as variáveis de entrada, mudará ou não de estado.
Quatro tipos de flip-flops possuem 8 aplicações comuns em sistemas de clock não-sequencial: flip-flop T ("toggle"), flip-flop S-R ("set-reset"), flip-flop J-K e o flip-flop D ("delay").O comportamento de um flip-flop é descrito por sua equação característica, que prevê a "próxima" (após o próximo pulso de clock) saída, Q_{next}, em termos dos sinais de entrada e/ou da saída atual, Q.
O primeiro flip-flop eletrônico foi inventado em 1919 por William Eccles e F. W. Jordan. Ele foi inicialmente chamado de circuito de disparo Eccles-Jordan. O nome flip-flop posterior descreve o som que é produzido em um alto-falante conectado a uma saída de um amplificador durante o processo de chaveamento do circuito.[carece de fontes]


Tipos de flip-flops


Flip-flop T

Se a entrada T estiver em estado alto, o flip-flop T (toggle) inverte seu estado sempre que a entrada de clock sofrer uma modificação. Se a entrada T foi baixa, o flip-flop mantém o valor do seu estado. Seu comportamento é descrito pela seguinte equação característica:


O símbolo do flip-flop T, onde > é a entrada de clock, T é a entrada de toggle e Q é informação de saída armazenada.

Q_{next} = T \oplus Q = T\overline{Q} + \overline{T}Q (expandindo o operador XOR)
e pela tabela verdade1 :

T Q Q*
0 0 0
1 1 0
0 1 1
1 0 1
Q* → Estado seguinte do Q


Flip-flop RS Sincrono



Diagrama de tempos de um flip-flop SR
Um flip-flop S-R Sincrono depende da habilitação de suas entradas por um sinal de clock para que essas possam alterar o estado do mesmo. Este sinal pode operar de duas formas: mantendo as entradas ativas durante todo o período do pulso ou apenas no instante da mudança de estado do sinal de clock. Essas duas formas de operação podem ser denominadas como modo clocked e modo triggered, respectivamente.
O flip-flop "set/reset" ativa (set, muda sua saída para o nível lógico 1, ou retém se este já estiver em 1) se a entrada S ("set") estiver em 1 e a entrada R ("reset") estiver em 0 quando o clock for mudado. O flip-flop desativa (reset, muda sua saída para o nível lógico 0, ou a mantém se esta já estiver em 0) se a entrada R ("reset") estiver em 1 e a entrada S ("set") estiver em 0 quando o clock estiver habilitado. Se ambas as entradas estiverem em 0 quando o clock for mudado, a saída não se modifica. Se, entretanto, ambas as entradas estiverem em 1 quando o clock estiver habilitado, nenhum comportamento particular é garantido. Isto é comumente escrito na forma de uma "tabela verdade"

Q Q* S R
0 0 0 X
0 1 1 0
1 0 0 1
1 1 X 0
Q* → Estado seguinte do Q


Estrutura de um Flip-Flop S-R
Exemplo com a tabela verdade mostrando o estado anterior:

S R Qant Qfim Qfim* DESCRICAO
0 0 0 0 1 Fixa Qfim = Qant
0 0 1 1 0 Fixa Qfim = Qant
0 1 0 0 1 Fixa Qfim = 0
0 1 1 0 1 Fixa Qfim = 0
1 0 0 1 0 Fixa Qfim = 1
1 0 1 1 0 Fixa Qfim = 1
1 1 0 1 1 Não Permitido
1 1 1 1 1 Não Permitido
Legenda: S (Set), R (Reset), Qant (Estado anterior da saída Q), Qfim (Estado em que a saída deve assumir "estado futuro" após a aplicação das entradas), Qfim* (Qfim Linha)

Flip-flop J-K



Diagrama de tempos do flip-flop J-K
O flip-flop J-K aprimora o funcionamento do flip-flop R-S interpretando a condição S = R = 1 como um comando de inversão. Especificamente, a combinação J = 1, K = 0 é um comando para ativar (set) a saída do flip-flop; a combinação J = 0, K = 1 é um comando para desativar (reset) a saída do flip-flop; e a combinação J = K = 1 é um comando para inverter o flip-flop, trocando o sinal de saída pelo seu complemento. Fazendo J = K o flip-flop J-K se torna um flip-flop T(Toggle).


O símbolo do flip-flop J-K, onde > é a entrada de clock, J e K são as entradas de dados, Q é a saída de dados armazenada e Q' é o complemento de Q.
A equação característica do flip-flop J-K é:
Q_{seguinte} = J\overline Q + \overline KQ
e sua tabela verdade é:

Operação do Flip Flop JK
Tabela Verdade
J K Qpróx Comentário
0 0 Qanterior mantém (hold)
0 1 0 reseta
1 0 1 seta
1 1 Qanterior alterna (Toggle)
Q* → Estado anterior do Q
O flip-flop J-K recebeu este nome em homenagem a Jack Kilby, o homem que inventou o circuito integrado, em 1958, pelo qual ele recebeu o prêmio Nobel em Física no ano 2000. "Jump-kill", também é utilizado como analogia a "set-reset".

Flip-flop D (Data)

O flip-flop D ("data" ou dado, pois armazena o bit de entrada) possui uma entrada, que é ligada diretamente à saída quando o clock é mudado. Independentemente do valor atual da saída, ele irá assumir o valor 1 se D = 1 quando o clock for mudado ou o valor 0 se D = 0 quando o clock for mudado. Este flip-flop pode ser interpretado como uma linha de atraso primitiva ou um hold de ordem zero, visto que a informação é colocada na saída um ciclo depois de ela ter chegado na entrada.


O símbolo esquemático de um flip-flop D, onde > é a entrada de clock, D é a entrada de dados e Q é a saída de dados.
A equação característica do flip-flop D é:
Q_{seguinte} = D \,
A sua tabela verdade é:

D Q Q*
0 0 0
0 1 0
1 0 1
1 1 1
Q* → Estado posterior do Q
O flip-flop pode ser utilizado para armazenar um bit, ou um digito binário de informação. A informação armazenada em um conjunto de flip-flops pode representar o estado de um seqüenciador, o valor de um contador, um caractere ASCII em uma memória de um computador ou qualquer outra parte de uma informação.
Um uso é a construção de máquinas de estado finito a partir da lógica eletrônica. O flip-flop lembra o estado anterior de máquina, e a lógica digital utiliza este estado para calcular o próximo estado.
O flip-flop "T" é útil para contagens. Sinais repetidos à entrada de clock farão com que o flip-flop mude seu estado a cada transição de nível alto-para-baixo da entrada de clock, se sua entrada T for "1", a saída de um flip-flop pode ser ligada à entrada clock de um segundo flip-flop e assim por diante. A saída final do circuito, considerada com o conjunto de todas as saídas dos flip-flops individuais, é uma contagem, em sistema binário, do número de ciclos da primeira entrada de clock, até um limite máximo de 2n-1, onde n é o número de flip-flops utilizados no circuito.
Um dos problemas com este tipo de contador (chamado de contador de ripple ou contador de pulsos) é que a saída é brevemente inválida conforme ocorre a mudança de pulso através da lógica. Existem duas soluções para este problema. A primeira é retirar uma amostra da saída apenas quando a mesma for válida. A segunda, mais utilizada, é utilizar um tipo diferente de contador chamado de contador síncrono. Este utiliza uma lógica mais complexa para garantir que as saídas do contador mudem todas a um mesmo período previsível.
Divisão de frequência: uma "corrente" de flip-flops "T" utilizados da maneira descrita acima irá funcionar de modo a dividir a frequência da entrada por 2n na saída do último flip-flop, aonde n é o número de flip-flops utilizados entre a entrada e a saída.
Os registradores podem ser utilizados para armazenar dados nos computadores. Um flip-flop "D" pode representar um dígito de um número binário. A unidade de controle do computador envia o sinal de clock no momento certo para poder capturar estes dados.
Pela família CMOS o flip-flop D é representado pelo integrado 4013 na série 4000 e pelos integrados versão HC da série 74XX.

Temporização e metaestabilidade

Um flip-flop em combinação com um Schmitt Trigger pode ser utilizado para a implementação de um arbitro em circuitos assíncronos.
Os flip-flop com clock estão predispotos a um problema chamado de metaestabilidade, que ocorre quando um dado ou uma entrada de controle está mudando no momento do pulso de clock. O resultado é que a saída pode se comportar imprevisivelmente, levando muito tempo mais que o seu normal para se estabilizar no seu estado correto, ou mesmo oscilando uma série de vezes antes de se estabilizar.Gerando por exemplo a queima de um equipamento dentro de um sistema de um computador, isto pode levar a uma corrupção dos dados ou travamento.
Em muitos casos, a metaestabilidade nos flip-flops pode ser evitada garantindo-se que as entradas de dados e controle sejam mantidas constantes para períodos especificados antes e após o pulso de clock, este períodos são chamados de tempo de setup (tsu) e tempo de hold (th) respectivamente. Estes tempos são especificados na documentação (data sheet) do dispositivos, e são tipicamente entre alguns nanosegundos e algumas centenas de picosegundos nos dispositivos modernos.
Infelizmente, não é sempre possível atingir os critérios de setup e hold, pois o flip-flop pode estar conectado a um sinal em tempo real que pode mudar a qualquer momento, fora do controle do projetista. Neste caso, o melhor que se pode fazer e reduzir a probabilidade de erro a um certo nível, dependendo da fidelidade requerida do circuito. Uma técnica para reduzir a metaestabilidade é conectar-se dois ou mais flip-flops em uma corrente, de modo que a saída de um alimenta a entrada de dados do outro, e todos os dispositivos compartilham um clock comum. Com este método, a probabilidade de um evento metaestável pode ser reduzida a um valor desprezível, mas nunca a zero.
Existem flip-flop com metaestabilidade reduzida, os quais trabalham reduzindo os tempos de setup e hold o máximo possível, porém mesmo estes não podem eliminar o problema completamente. Isto ocorre porque a metaestabilidade é mais que uma consequência do projeto do circuito. Quando as transições no clock e nos dados estão em um intervalo de tempo próximo, o flip-flop é forçado a escolher qual dos eventos ocorrerá primeiro. Entretanto devido às altas velocidades de processamento, existe sempre a possibilidade de que os eventos da entrada estejam tão próximos que ele não possa detectar qual ocorreu primeiro. Desta forma é logicamente impossível construir um flip-flop totalmente livre de metaestabilidade.
Outro valor importante para um flip-flop é o atraso de clock-a-saída (clock-to-output delay, o símbolo comum é tCO) ou atraso de propagação (tP), que é o tempo que o flip-flop leva para mudar a sua saída após o sinal de clock. O tempo de uma transição de alto-para-baixo (high-to-low transition, tPHL) é algumas vezes diferente do tempo de uma transição de baixo-para-alto (low-to-high transition, tPLH).
Quando se conectam flip-flop em uma corrente, é importante se assegurar que o tCO do primeiro flip-flop é maior que o tempo de hold (hold time, tH) do segundo flip-flop, caso contrário o segundo flip-flop não irá receber os dados confiavelmente. A relação entre tCO e tH é normalmente garantida se ambos os flip-flops são do mesmo tipo.

Circuitos integrados de Flip-Flops

Podem ser encontrados circuitos integrados (CIs) com um ou dois flip-flop na mesma pastilha. Como exemplo temos o 7473 com um Flip-Flop J-K james-Slave Dual, na série 7400.

domingo, 20 de abril de 2014

AM - Sistemas Digitasis - Aula de Eletrônica Digital - Circuitos Sequenciais

Reações: 


Achei bem legal a explicação.


Video 01
http://www.youtube.com/watch?v=hqvef0rMJLM



 Video 02

http://www.youtube.com/watch?v=v9dbP1j-rKk


E para parte de clock no diagrama de tempo:
(acho que é originário de curso de eletrônica)
O video é novo e n consegui adicionar aqui na tela, segue o link
 Título do video:
Módulo 03 2013-1 Parte 1: Circuitos sequenciais 
Autor: dcc001ufmg

quinta-feira, 10 de abril de 2014

NOTÍCIA - Falha 'Heartbleed' é uma catástrofe

Reações: 

http://g1.globo.com/tecnologia/blog/seguranca-digital/post/falha-heartbleed-e-uma-catastrofe.html
Quarta-feira, 09/04/2014, às 18:45, por Altieres Rohr 


Falha 'Heartbleed' é uma catástrofe

heartbleedEntre tantas vulnerabilidades que são corrigidas e noticiadas, e aparentemente o mundo sempre consegue seguir seu curso normal, perde-se a noção do que é realmente uma brecha grave. Parte disso é a dificuldade de se entender o problema. Mas quero deixar algo claro: a falha corrigida nesta segunda-feira (7), batizada de "Heartbleed", é coisa de cinema, um desastre de segurança na forma como chegou ao público e pela forma que comprometeu a segurança de, estima-se, 500 mil sites.

A situação é a seguinte: navegar em um site "seguro", com cadeado e HTTPS, se ele for afetado por essa falha, é na verdade menos seguro do que navegar em um site sem segurança alguma. Essa brecha, embora desconhecida do público, ficou aberta por dois anos, em um software que é de código aberto. Ou seja, em teoria, qualquer programador poderia ver esse código e identificar o problema. Mas durante dois anos, apesar de esse código ser usado por gigantes da internet e da tecnologia, ninguém fez isso. (E não há muito o que o usuário comum possa fazer, veja mais abaixo)

O problema existe em um código que os programadores chamam de "biblioteca". É um software que não se usa diretamente, mas que um programa que usamos "chama" para realizar funções que ele precisa. Ou seja, em vez de centenas de programas "reinventarem a roda", eles "chamam" essa biblioteca e usam um código já pronto para fazer aquilo que precisam.

Nesse caso, a biblioteca vulnerável, a OpenSSL, é a responsável por realizar funções criptográficas ligadas ao SSL e ao TLS. São os protocolos usados em sites com cadeado e também para a conexão segura a servidores de e-mail e outros serviços. Embora existam bibliotecas alternativas, a OpenSSL, criada em 1998, é ainda a mais popular, especialmente para o uso em servidores. Em computadores domésticos, outras bibliotecas são mais usadas (o Windows tem uma, por exemplo; o Mac OS X tem outra, que também teve uma falha absurda divulgada recentemente, e o Firefox faz uso de uma biblioteca própria).

Dados originais apontavam que dois em cada três sites da web estariam vulneráveis. Esse número foi baseado na soma dos sites que fazem uso dos softwares Apache e Nginx - dois servidores populares que usam o OpenSSL. Dados da Netcraft, no entanto, apontam apenas 17% dos sites estão vulneráveis. "Apenas", nesse caso, são cerca de 500 mil sites seguros, que incluem ou incluíam bancos e também serviços como Yahoo Mail, Flickr, 500px, Dropbox, Steam, Twitter e Tumblr. O Netcraft também não considera servidores de e-mail vulneráveis e outros serviços que também podem fazer uso do OpenSSL e estão potencialmente vulneráveis.
(Cabe exclusivamente aos sites que estavam vulneráveis o envio de um recado para seus usuários informando quais passos devem ser seguidos, como a alteração da senha e informações sobre medidas de proteção adicional (como envio de código para celular). Não é dever dos internautas usar ferramentas para tentar determinar, com alta chance de erros, se um site está vulnerável ou não. E também de nada adianta trocar suas senhas em um site antes que ele tenha eliminado o problema. O Tumblr, por exemplo, já se pronunciou. A Valve, dona do Steam, confirmou que resolveu o problema, mas não deu orientações aos usuários até o momento.)

A brecha permite que a memória do programa que está usando o OpenSSL seja lida em blocos de 64 KB (o que é bastante). Na prática, o hacker pode ver o que o servidor está processando. Isso inclui um formulário de login que outro internauta qualquer acabou de preencher, expondo a senha e o nome de usuário, ou mesmo uma mensagem de e-mail que alguém está visualizando, expondo o conteúdo da mesma. O hacker não tem controle sobre o que será revelado, mas ele pode explorar a falha repetidamente, obtendo 64 KB de dados por vez.

Imagine, no cinema, a cena: um personagem digita sua senha em um terminal de acesso. No outro lado do mundo, o hacker, sem poder interceptar os dados ou invadir o computador, consegue ler a memória do servidor que recebeu os dados de acesso. No meio de tanto "lixo" na memória, o hacker dá um zoom na senha e no nome de usuários, expostos em plena vista. É exatamente assim que o "heartbleed" funciona.

Para internautas, ter a senha e dados expostos já é o pior dos mundos. Para donos de servidores, algo ainda pior pode acontecer: o roubo da chave privada do certificado de segurança. A "chave privada" é o nome que especialistas em criptografia dão para uma sequencia de dados que é usada para codificar e decodificar o conteúdo de uma conexão segura. É como se fosse uma senha bastante longa, mas ela tem propriedades especiais que permitem que essa "senha" jamais precise ser compartilhada com a outra parte da conexão para que possa decodificar os dados - diferente de uma senha, que ambas as partes precisam conhecer.
Ou seja, essa chave jamais pode cair na mão de outra pessoa. E essa brecha pode permitir exatamente isso, sem deixar qualquer rastro, e minando completamente a segurança fornecida pelo "cadeado" e pelos sites seguros. E ela ficou aberta por dois anos. Qualquer agência de inteligência que conhecia esse problema, sem dúvida, fez uma "festa".

A vulnerabilidade foi corrigida na segunda-feira (7), mas apenas o time do OpenSSL disponibilizou uma correção. Distribuições de Linux não tinham conhecimento adequado da falha, o que significa que, mesmo horas após uma atualização estar disponível e códigos para explorá-la já estarem circulando na web, não havia uma versão atualizada para eliminar o problema em alguns servidores.

Agora, a situação é a seguinte: nenhum dono de site tem como saber se alguma chave privada foi roubada. Nenhum usuário tem como saber se uma senha foi comprometida. Se o mundo seguir seu curso normal, provavelmente muitas coisas inexplicáveis, como contas de e-mail roubadas e acessos indevidos, vão acontecer. Especialistas em segurança, como de costume, colocarão a culpa "nos usuários", com seus cliques indevidos e preenchimento de dados em páginas falsas, sugerindo a instalação de softwares que nada puderam fazer contra isso.
E como toda tragédia, ela foi anunciada. Em setembro de 2012, um perfil no Twitter apontava bizarrices do código do OpenSSL. Essas bizarrices nascem do legado presente no código, bem como dos limitados recursos com o qual o software é mantido. Poucas pessoas ou empresas realmente se importam com esses programas que constituem os bastidores da internet. E bastidor costuma ganhar o palco por um de dois motivos: erro ou comédia. É uma pena que esse caso não se trata da segunda opção.

sexta-feira, 4 de abril de 2014

JAVA - Apostila de Java Web

Reações: 

http://www.caelum.com.br/apostila-java-web/


Apostila do curso FJ-21 Java para Desenvolvimento Web

O mercado Web é o mais forte no Java e o com mais oportunidades. Aprenda a criar uma aplicação Web completa com tecnologias importantes como Servlets, JSP, Spring e Hibernate, além de técnicas como Design Patterns, Ajax e MVC. Este material gratuito é o que usamos no curso de Java da Caelum e esperamos que seja útil no seu aprendizado. Não deixe também de compartilhar essa apostila com seus amigos.
A Caelum oferece cursos de TI desde 2004 em todo o Brasil. É conhecida por seus cursos nas áreas de Java, Ruby, mobile, front-end, .NET e agile, além de cursos online. Temos diversas apostilas abertas para download e consulta gratuita. E, se estiver interessado em nossos cursos, não deixe de entrar em contato.

Max Gehringer