Fundamentos de Arquitetura e Organização de Computadores Dois conceitos fundamentais no estudo dos sistemas de computação são o de Arquitetura e Organização de computadores. O termo arquitetura refere-se aos atributos do ponto de vista do programador, e portanto, têm impacto direto sobre sobre a execução lógica de um programa. O termo organização, refere-se às unidades operacionais e suas interconexões. Desta forma, uma mesma arquitetura pode ser implementadas por meio de diferentes organizações. A arquitetura de um sistema computacional estabelece o modelo da organização e funcionamento de um sistema de processamento, com todas suas partes, divididas em seções, interagindo entre si. Os componentes e suas relações são representados através de sistemas hierárquicos, o que mostra-se ideal para o estudo de conjuntos complexos e que atuam em diferentes níveis; separados por suas características, estudaremos o funcionamento de cada um destes componentes. As funções básicas de um computador são o processamento de dados, armazenamento de dados, transferência de dados e controle. Para desempenhar essas funções o computador precisa executar um conjunto de instruções (programa). Os computadores que conhecemos são baseados no conceito de programa armazenado, introduzido por Von-Neuman. As instruções do programa e os dados são armazenados em uma memória, de forma que a alteração de um programa consiste na alteração de um endereço de memória. O ciclo de execuçã de cada uma das instruções de um programa é dividido nos seguintes estados: Cálculo do Endereço de Instrução; Busca da Instrução (Instruction Fetch); Decodificação da Instrução; Cálculo do Endereço do Operando; Busca do Operando (Operand Fetch); Execução da Operação; Armazenamento do Resultado. No entanto, os computadores modernos utilizam o conceito de interrupção para diminuir o tempo de ociosidade dos processadores, o ciclo de execução das instruções ganham mais alguns estados. As classes de interrupções mais comuns são interrupções de software, de relógio, de E/S e de falha de hardware. Componente computador básicos de um Unidade Central de Processamento (CPU) – Módulo que realiza as operações necessárias; Memória Principal – Uma área de trabalho para o armazenamento das informações que serão processadas; Dispositivos de E/S – Dispositivos para o recebimento de informações e retorno/armazenamento dos resultados; Sistemas de Interconexão – Um meio através do qual os dispositivos possam se comunicar e transmitir dados; Ao estudarmos qualquer assunto complexo e/ou com grande riqueza de detalhes, a estratégia mais natural para facilitar o processo de aprendizado é subdividir o tema principal em partes menores, e então, preocupar-se somente com uma porção por vez. Após estudadas todas as partes, o passo final é enxergar como estas se encaixam, tratando agora o objeto de estudo como um todo e abstraindo, se possível, os detalhes mais específicos de cada uma das partes. Para o desenvolvimento de aplicações mais eficientes, programadores devem se familiarizar com novos aspectos da organização de computadores. Hierarquia de memória (memória principal, cache L1, cache L2, etc.). Paralelismo de execução de instruções. Novas tecnologias de processamento (processadores multicore, etc.). Para interconectar dois ou mais dispositivos em um sistema são utilizados os chamados barramentos. Os barramentos são compostos por linhas que podem ser de Dados, Endereço ou Controle. Os barramentos de controle podem ser utilizados, por exemplo, para controlar direito de leitura ou escrita em memória ou E/S, interrupções, confirmações, relógio e reset. O projeto dos barramentos que compõe um sistema são de grande importância no desempenho do sistema. Questões importantes no projeto de barramentos são: Tipo – dedicado ou multiplexado; Método de Arbitração – Centralizado ou Distribuído; Temporização – Síncrona ou Assíncrona; Largura – número de linhas; Tipo de Transferência – leitura, escrita, leitura/modificação/escrita, escrita/leitura, em bloco. Para aumentar o desempenho do sistema, os barramentos são organizados de forma hierárquica, de forma a isolar o tráfego de dados entre CPU e memória do tráfego proveniente de operações de E/S. Os chamados barramentos de expansão proporcionam maior flexibilidade ao sistema (ex: SCSI), enquanto os barramentos de alta velocidade sã utilizados para dispositivos de alta capacidade (ex: FireWire). Funcionamento e a Estrutura de uma CPU Os principais elementos da CPU são a Unidade de Controle, a Unidade Lógica e Aritmética (ULA) e os Registradores. Esses elementos se conectam internamente através do barramento interno da CPU. Unidade de Controle Responsável por buscar as instruções na memória e determinar o seu tipo e pode ser pensada como uma máquina de estados finitos. Controla não só a transferência de dados e instruções para dentro e parafora da CPU, como também a operação da ULA. Unidade Lógica e Aritmética Responsável pelo processamento de dados como executar operações de adição, e AND booleano, entre outras, e para executar as instruções. Registradores Os registradores presente na CPU são memórias pequenas e de alta velocidade para armazenar resultados temporários e controle de informações. Existem vários tipos de registradores de uso geral ou específico. O mais importante deles é o contador do programa (PC – Program Counter). Este contador indica a próxima instrução a ser buscada para execução. Outro de grande importância é o Registrador de instrução (Instruction Register), que contém a instrução executada no momento em questão. A CPU se comunica com o mundo externo através dos barramentos do sistema. Ao longo da execução de um programa, os barramentos constituem os chamados caminho dos dados. No topo da organização hierárquica de memória em um sistema se encontram os registradores. Esses se dividem em dois tipos: Registradores visíveis ao Usuário e Registradores de Controle e de Estado. Os registradores visíveis ao usuário são aqueles que podem ser referenciados pela linguagem de montagem. Eles podem ser registradores de dados, endereço ou então de propósito geral. Os registradores de Controle e de Estado são utilizados para controlar a operação da CPU. Na maioria das vezes não são visíveis aos usuários. Exemplos de registradores de Controle e de Estado são o Program Counter (PC), Instruction Register (IR), Memory Address Register (MAR), Memory Buffer Register (MBR), Program Status Word (PSW), Stack Pointer (SI), Page Table Base Register (PTBR), Page Table Base Limit (PTBL). A sequência de eventos ao longo de um ciclo de instrução depende do projeto da CPU, no entanto, em termos gerais, podese indicar o que acontece em nos subciclos de busca, indireto e interrupção. O ciclo de execução depende do código da operação que será executada. Durante o ciclo de busca, o contador de programa contém o endereço da próxima instrução a ser buscada na memória. Esse endereço é movido para o registrador MAR e a unidade de controle requisita uma leitura na memória. O resultado da leitura e colocado no registrador MBR, que em seguida é copiado para o registrador IR. Enquanto isso o PC é incrementado de 1 para preparar a busca da próxima instrução. Ao fim do ciclo de busca, o unidade de controle examina se a instrução especifica algum operando com endereçamento indireto. Os n bits mais a direita de MBR são colocados em MAR, e então a unidade de controle requisita uma leitura a memória para carregar o valor do operando para MBR. No ciclo de interrupção, o conteúdo do registrador PC dever ser salvo, para que mais tarde a CPU possa retornar sua atividade normal depois de processar a interrupção. O conteúdo do PC é transferido para MBR. A endereço de memória reservado para guardar o valor de PC (ex: topo da pilha) é carregado para MAR, e então a unidade de controle solicita uma escrita na memória. Por fim o PC é carregado com o endereço da rotina de interrupção, para que o no próximo ciclo de instrução seja feita a busca da instrução apropriada. Fontes: – http://pt.scribd.com/doc/7028962/4Estrutura-e-FuncionamentoDa-Cpu – http://www.professores.uff.br/mquinet/01_FAC.pdf – Handbook de TI Como evitar que alguém se passe por você na internet Imagine a situação: você está realizando suas atividades normais na internet quando emails suspeitos começam a aparecer na sua caixa de entrada, pedindo para que você pare de “fazer bagunça” em fóruns que você nunca entrou. Ao entrar no dito site, você percebe que o seu nome e as suas credenciais têm participado ativamente no fórum, enviando mensagens que você jamais escreveu. Infelizmente, muitas pessoas que já passaram por isso não precisam fazer muito esforço para visualizar a situação acima. Trata-se de um roubo de identidade, quando alguém se esconde atrás de um nome e até de um rosto que não é dele para “aprontar” no mundo virtual. Se você já foi vítima de um desses falsários, continue acompanhando esta matéria do Tecmundo e descubra algumas maneiras de contornar a situação. Identificando o problema Primeiramente, é importante lembrar que um falsário não precisa roubar suas senhas de emails ou credenciais das redes sociais para conseguir se passar por você. Basta apenas que ele “assine” as mensagens usando o seu nome. Geralmente, os falsários realizam o cadastro em sites e fóruns nos quais você não tem interesse, usando um apelido que já vem sendo usado por você em outros locais, além de cadastrar o seu email e até linkar o seu perfil das redes sociais em vez do dele próprio. Portanto, não é preciso se preocupar com a invasão das suas contas neste primeiro momento. Perceba também que existem situações em que tudo não passa de um grande engano, quando o nome do usuário cadastrado acabou ficando igual ao seu por mera coincidência. Se este for o caso, tente entrar em contato com a pessoa e explique a situação. É bem provável que ela entenda e faça algo para contornar o problema. Mas se o indivíduo está usando dados que não poderiam ser confundidos, como seu email ou link para o seu perfil no Facebook, então se trata realmente de um falsário. Levantando os possíveis motivos Agora que você já sabe que está realmente lidando com alguém que está usando seu nome de propósito, chegou a hora de tomar algumas medidas. Existem duas razões principais para a pessoa estar fazendo isso. O mais provável é que seja alguém que pegou o seu nome por acaso apenas para esconder a verdadeira identidade, tendo a intenção de fazer algo que, geralmente, os sites participativos não aprovam. Já a segunda possível razão é um pouco mais séria, quando alguém próximo está realmente se esforçando para sujar a identidade que roubou de você. Em qualquer um dos casos, procurar as vias legais pode ser sim uma solução, já que falsidade ideológica é crime. Porém, conseguir que a lei tome as providências pode acabar se tornando um problema ainda maior do que o sujeito que está usando o seu nome para postar mensagens inocentes em um fórum qualquer. Por isso, confira algumas medidas mais brandas e simples que podem instigar o falsário a parar de usar o seu nome. Possíveis soluções Pedir ajuda para o site em questão Para começar, você pode entrar em contato com os próprios moderadores do site que o sujeito tem participado e explicar a situação. Você pode pedir para que eles desativem o usuário falso ou que, pelo menos, permitam que você tome controle da conta criada por ele usando o seu nome. Infelizmente, muitos dos moderadores de sites pequenos ou grandes podem não se importar o bastante para agir em seu favor ou mesmo não ter pessoal suficiente para tratar cada caso específico. Ainda assim, vale a pena tentar. Já as redes realmente grandes, como Facebook, Google+ e Twitter, proíbem que seus usuários impersonifiquem outras pessoas. Sites desse porte podem até demorar para tomar alguma atitude, mas é quase certo que algo será feito. Apenas certifique-se de que você pode realmente provar que o falsário está usando a sua identidade no seu lugar. A maior rede social do mundo, o Facebook, até conta com uma opção específica para denunciar alguém que está usando um perfil falso. Para isso, basta acessar a página da pessoa em questão, clicar na lista de opções e, em seguida, selecionar “Report and/or Block This person”. Boa parte das maiores redes sociais também possui opções semelhantes. Enfrentar o problema diretamente Outra solução que costuma trazer resultados mais imediatos é falar diretamente com a pessoa que está se passando por você. Caso você tenha tempo e paciência, cadastre-se no mesmo fórum em que o falsário está participando e mostre que você sabe dos atos dele. Na maioria dos casos, o sujeito pegou o seu nome ao acaso e deixará de se passar por você sem resistência para não se meter em maiores confusões. Outra medida é comentar nos posts que ele fez e mostrar ao público que aquela pessoa não é você. Uma dica é fazer o cadastro usando um nome que deixa isso bem claro, como “FulanoVerdadeiro”. Escrever uma história sobre como, onde e quando o falsário está se passando por você pode dar ainda mais suporte na hora de provar a situação. Blogs pessoais ou simples posts no Facebook podem servir a este propósito. É possível evitar? Infelizmente, não há muito que você possa fazer para impedir alguém de tomar o seu nome com a intenção de se passar por você, já que essa informação está sempre exposta em qualquer site que você ingressar. Porém, isso não significa que você não precisa ser cuidadoso ao expor seus dados na internet. Redes sociais como o Facebook permitem que você personalize seu perfil para ocultar ou limitar o acesso a certas informações, como o seu email pessoal ou sua idade. Sempre procure usar ferramentas como essa para dificultar o trabalho dos falsários. Manter “amizades” apenas com pessoas que você realmente conhece e confia também é uma ótima dica. Fonte: TecMundo