Your SlideShare is downloading. ×
  • Like

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply
Published

Apostila

Apostila

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,254
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
27
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Arquitetura de hardware INTRODUÇÃO: “ Um computador é uma máquina (composta de partes eletrônicas e eletromecânicas) capaz de sistematicamente coletar, manipular e fornecer resultados das manipulações de informações para um ou mais objetivos.” “ Processamento de dados consiste em uma série de atividades ordenadamente realizadas, com o objetivo de produzir um arranjo determinado de informações a partir de outras obtidas inicialmente.” “ Dado pode ser definido como a matéria-prima originalmente obtida de uma ou mais fontes (etapa da coleta).” “ Informação é o resultado do processamento, isto é, o dado processado ou “acabado”.”
  • 2. Conceito de sistema
    • 1.1.2 Sistemas:
    • “ Um sistema é um conjunto de partes coordenadas que concorrem para a realização de um determinado objetivo.”
    • Sistemas se fazem presentes em praticamente todas as áreas do desenvolvimento: comercial, científico, industrial e social.
    • “ Sistema de processamento de dados (SPD) são aqueles responsáveis pela coleta, armazenamento, processamento e recuperação, em equipamento eletrônico, dos dados necessários ao funcionamento de um outro sistema maior: o sistema de informação .”
    • a) Sistema de computação;
    • b) Sistema de aplicação.
    • “ Sistema de informação de uma empresa pode ser conceituado como o conjunto de métodos, processos e equipamentos necessários para se obter, processar e utilizar informações dentro da empresa.”
    • Os sistemas de informações se desenvolvem segundo os níveis operacional, gerencial e alto nível da organização (estratégico).
    • “ Sistema de informações gerenciais (SIG) é o sistema que engloba todos os componentes e todos os níveis de decisão de uma organização.”
  • 3. Programas
    • Os computadores passam o tempo todo executando PROGRAMAS.
    • Os programas nada mais são que grupos de instruções e dados.
    • Por exemplo, quando você está executando um jogo no computador, está na verdade executando um programa.
    • Se você deixa o computador "parado", por exemplo, na hora do almoço, pode pensar que nessa hora o computador não está executando nenhum programa.
    • Na verdade, mesmo que você não tenha dado nenhum comando, o computador está na verdade executando um programa interno. O que este programa faz é monitorar continuamente o teclado e o
    • MOUSE, para checar se você envia um novo comando.
    • A única hora em que o computador não está executando programa nenhum é quando está desligado.
  • 4. Execução de programas pelo processador
    • Para que um programa possa ser executado, é preciso que seja transferido para a memória RAM. A maioria dos programas fica armazenada em disco mas a CPU não pode executar nenhum programa diretamente a partir do disco.
    • O programa precisa ser antes lido do disco e carregado na RAM.
    • Por exemplo, para executar o programa FORMAT (usado para formatar discos), é preciso que você forneça pelo teclado um comando como: FORMAT A:
    • Uma vez que você digita este comando, o programa que se encontra no arquivo de nome FORMAT.COM é lido do HD e carregado na RAM.
    • A CPU pode então executar o programa, que fará a formatação de um disco.
    • A operação de cópia do programa do HD para a memória principal (RAM) é chamada de CARGA. O processamento do programa pela CPU é chamado de EXECUÇÃO.
  • 5. Execução de programas pelo processador
    • Bem, e quem carrega o sistema operacional?
    • Numa memória principal do tipo ROM (read only memory) existe um sistema chamado BIOS composto de muitos programas
    • Um dos programas chamado POST – power on self test , verifica o hardware. Os programas abaixo participam da carga do windows XP. Este processo é conhecido como BOOT.
    Inicialização do kernel systemrootSystem32Drivers Device drivers (*.sys) Inicialização do kernel systemrootSystem32Config System Carga do kernel systemrootSystem32 Hal.dll Carga do kernel systemrootSystem32 Ntoskrnl.exe boot Raiz da partição de sistema C: Ntdetect.com boot Raiz da partição de sistema C: Bootsect.dos boot Raiz da partição de sistema C: Boot.ini Pré-boot e boot Raiz da partição de sistema C: Ntldr Fase Localização Arquivo
  • 6. Programa de computador
    • Sistemas de Computação:
    • “ Programa é um conjunto de instruções.”
    • Algoritmo para soma de 100 números.
    • Um programa de computador é a formalização de um algoritmo em linguagem inteligível pelo computador.
    • “ Linguagem binária é a linguagem de comunicação dos computadores.”
    • Na linguagem binária os caracteres inteligíveis não são A, B, +, 0, etc., mas apenas zero(0) e um (1).
    • Essa linguagem também chamada de linguagem de máquina, é, para os seres humanos, tediosa de manipular, difícil de compreender e fácil de acarretar erros. Por essa razão, foram desenvolvidas outras linguagens, mais próximas do entendimento dos operadores, genericamente chamadas de Linguagens de programação .
    • Instruções de máquinas entendidas pelos computadores:
    • a) executar operações aritméticas sobre dois números;
    • b) executar operações lógicas sobre dois números;
    • c) mover um conjunto de bits (um número ou parte) de um ponto para outro do computador;
    • d) desviar a seqüência do programa;
    • e) comunicação com algum dispositivo de entrada ou saída de dados.
    • “ Hardware é o conjunto formado pelos circuitos eletrônicos e partes eletromecânicas de um computador.”
    • “ Software consiste em programas, de qualquer tipo e em qualquer linguagem, que são introduzidos na máquina para fazê-la trabalhar, passo a passo, e produzir algum trabalho.”
  • 7. Compilação x Interpretação
    • Existem dois métodos de tradução de um programa escrito em linguagem de programação para a linguagem de máquina: interpretação e compilação .
    • Na interpretação , cada comando é analisado sintaticamente de forma individual, traduzido para linguagem de máquina e executado. Na prática, linguagens que adotam esta técnica são utilizadas apenas para fins de prototipagem ou testes específicos.
    • Na compilação , o programa fonte inteiro é verificado quanto à correção sintática. Quando está sintaticamente correto, o programa é traduzido, na íntegra, para a linguagem de máquina, ou seja, o programa fonte é traduzido, dando origem ao programa objeto. Só então tem início a verificação da semântica do programa, isto é, se o programa executa corretamente.
  • 8. Níveis de programação
  • 9. Microprocessadores Intel
  • 10. Conversão de base
  • 11. Adição de números binários
    • A operação de soma de dois números em base 2 é efetuada de modo semelhante à soma decimal,
    • levando-se em conta, apenas, que só há dois algarismos disponíveis (0 e 1). Assim:
    • 0 + 0 = 0
    • 0 + 1 = 1
    • 1 + 0 = 1
    • 1 + 1 = 0, com "vai 1“
  • 12. Adição Utilizando Números Com Sinal:
    • O Meio normal para representar números com sinal (+ ou -) é adicionando-se um BIT ao número,
    • chamado BIT de sinal (BIT mais representativo).
    • Convenção:
    • 0: BIT DE SINAL que representa um número positivo;
    • 1: BIT DE SINAL que representa um número negativo.
    • Ex:
    • 0 0111 = (+7)10
    • 1 0111 = (-7)10
    • Bit de sinal
  • 13. Aritmética complementar
    • Complemento Aritmético : É definido como sendo o que falta a um número para atingir o seu módulo. Módulo de um número de um dígito é a quantidade de números diferentes que podemos distinguir.
    • Ex: Sistema Decimal -> Módulo 10
    • 2 -> 8
    • 4 -> 6
    • No sistema binário, composto por dois símbolos, isto é, os BITS 0 e 1, um é complemento do outro.
    • Subtração no sistema complemento-de-2:
    • Obtenção do complemento-de-2 de um número binário:
    • - Troca-se cada 0 por 1 e vice-versa (complemento-de-1);
    • - Soma-se 1 ao resultado.
    • Ex.: 1001 ⇒ 0110 (complemento-de-1) + 1 = 0111 (complemento-de-2)
    • OBS: A principal vantagem do uso de complemento é executar a SUBTRAÇÃO pelo processo da ADIÇÃO.
  • 14. Representação em ponto flutuante
    • Consideremos o número 57,683. Este número pode ser também expresso como 0,57683 x 100. E também poderia ser expresso com 57683 x 10 -3 ou ainda 0,57683 x 10 2 . Na realidade, qualquer número - inteiro ou fracionário - pode ser expresso neste formato
    • número x base expoente , em que variamos duas coisas: a posição da vírgula (que delimita a parte fracionária) e a potência à qual elevamos a base. Essa representação é denominada representação em ponto flutuante , pois o ponto varia sua posição, modificando, em conseqüência, o valor representado.
    • Representação Normalizada:
    • Na representação normalizada, o número é preparado movendo a vírgula para a direita ou para a esquerda de forma que o número seja menor que 1, o mais próximo possível de 1, obviamente multiplicado por uma potência da base de forma a manter o valor do número. Em geral, isso significa que o primeiro dígito significativo seguirá imediatamente ao ponto (ou vírgula).
    • Por exemplo:
    • 57,68310 --> normalizando ==> 0,57683 x 102
    • 0,000462810 --> normalizando ==> 0,4628 x 10-3
    • 0,000010112 --> normalizando ==> 0,1011 x 2-4
    • De forma genérica, podemos representar a forma normalizada:
    • ± número x base ±expoente
    • A parte do número representado dessa forma normalizada (os algarismos significativos), damos o nome de mantissa .e portanto podemos representar:
    • ± 0,M x B ± e onde M é a mantissa, B é a base e e é o expoente.
  • 15. Representação de números reais
    • Pode-se notar acima que a base não é expressa. Como a base, para cada computador, será sempre a mesma, não há necessidade de apresentar a base na representação (no exemplo, a base é 2). Dizemos que a base é implícita .
    • Para cada computador, o número total M de bits para a representação, o número de bits para SN (sinal do número), para SE (sinal do expoente), para a mantissa e para o expoente, são pré-definidos em projeto.
    • Assim, podemos concluir que, quanto maior o número de bits para o expoente, maior será a faixa de números que o computador pode representar (maior alcance); e quanto maior o número de bits para a mantissa, maior a precisão da representação. Porém, reduzindo-se a mantissa, perde-se precisão e há maior a necessidade de truncar o número (truncar um número é cortar algarismos significativos que não podem ser representados).
  • 16. Overflow e underflow
    • Ocorre overflow quando o valor absoluto do dado a ser representado excede a capacidade de representação, porque o número de bits do expoente (neste caso, positivo) é insuficiente para representar o dado.
    • Um outro problema ocorre na região de números próximos de zero, que tem o maior expoente negativo possível. Ocorre underflow quando o valor absoluto do dado a ser representado é tão pequeno que fica menor que o menor valor absoluto representável. Nesse caso, o expoente é negativo mas não representa os números muito próximos de zero e ocorre uma descontinuidade na representação, com os números próximos a zero não sendo representados.
    • Underflow não é o mesmo que imprecisão. Dados na faixa de underflow não podem ser representados, ocorrendo estouro no expoente.
  • 17. Conceitos de lógica digital
    • Exatamente tudo no mundo digital é baseado no sistema numérico binário. Numericamente, isso envolve apenas dois símbolos: 0 e 1. Na lógica digital, podemos especificar que:
    • 0 = Falso = Não
    • 1 = Verdadeiro = Sim
    • Todos as complexas operações de um computador digital acabam sendo combinações de simples operações aritméticas e lógicas básicas: somar bits, complementar bits (para fazer subtrações), comparar bits, mover bits. Estas operações são fisicamente realizadas por circuitos eletrônicos, chamados circuitos lógicos ou gates - "portas" lógicas.
    • Computadores digitais (binários) são construídos com circuitos eletrônicos digitais - as portas lógicas (circuitos lógicos). Os sistemas lógicos são estudados pela álgebra de chaveamentos, um ramo da álgebra moderna ou álgebra de Boole, conceituada pelo matemático inglês George Boole (1815 - 1864).
    • A álgebra de Boole trabalha com apenas duas grandezas: falso ou verdadeiro. As duas grandezas são representadas por 0 (falso) e 1 (verdadeiro).
    • Nos circuitos lógicos do computador, os sinais binários são representados por quantidades físicas, sinais elétricos, os quais são gerados e mantidos internamente ou recebidos de elementos externos, em dois níveis de intensidade, cada um correspondendo a um valor binário.
  • 18. Exemplo de um sinal binário
  • 19. Portas e operações lógicas
    • Enquanto cada elemento lógico ou condição é representado por um valor “0” ou “1”, faz-se necessário que tenhamos meios de combinar diferentes sinais lógicos ou condições para gerar um resultado útil.
    • Uma porta lógica (“gate”) é um circuito eletrônico, portanto uma peça de hardware, que se constitui no elemento básico mais elementar de um sistema de computação. Grande parte do hardware do sistema é fabricado através da adequada combinação de milhões desses elementos.
    • Tabela Verdade
    • São tabelas que representam todas as possíveis combinações das variáveis de entrada de uma função, e os seus respectivos valores de saída.
    • Uma tabela verdade possui, então, tantas linhas de informação quantas são as possíveis combinações de valores de entrada que se tenha.
    • Operadores Lógicos
    • Uma operação lógica realizada sobre um ou mais valores lógicos produz um certo resultado (também um valor lógico), conforme a regra definida para a operação lógica.
  • 20. Portas lógicas (gates)
  • 21. Porta lógica AND - E
    • A porta AND combina dois ou mais sinais de entrada de forma equivalente a um circuito em série, para produzir um único sinal de saída, ou seja, ela produz uma saída 1, se todos os sinais de entrada forem 1; caso qualquer um dos sinais de entrada for 0, a porta AND produzirá um sinal de saída igual a zero.
  • 22. Exemplo de utilização do gate AND
  • 23. Porta lógica OR - OU
    • A porta OR é definida para produzir um resultado verdade (=1) na sua saída, se pelo menos uma das entradas for verdade.
  • 24. Porta lógica NOT – NÃO (inversor)
    • A porta NOT é um circuito lógico que requer apenas um valor na entrada: inverte o sinal de entrada (executa a negação do sinal de entrada), ou seja, se o sinal de entrada for 0 ela produz uma saída 1, se a entrada for 1 ela produz uma saída 0.
  • 25. Porta NAND – NOT AND
    • A porta NAND equivale a uma porta AND seguida por uma porta NOT, isto é, ela produz uma saída que é o inverso da saída produzida pela porta AND. Esta porta produzirá uma saída falsa se e somente se todas as entradas forem verdade.
  • 26. Porta NOR – NOT OR
    • A porta NOR equivale a uma porta OR seguida por uma porta NOT, isto é, ela produz uma saída que é o inverso da saída produzida pela porta OR. Esta porta produzirá uma saída verdade se e somente se todas as entradas forem falsas.
  • 27. Porta XOR – Exclusive OR
    • A porta (ou operação lógica) XOR, abreviação do termo EXCLUSIVE OR, pode ser considerada um caso particular da função OR, ou seja, sua definição: “a saída será verdade se exclusivamente uma ou outra entrada for verdade”. A porta XOR compara os bits: ela produz saída 0 quando todos os bits de entrada são iguais e saída 1 quando pelo menos um dos bits de entrada é diferente dos demais.
  • 28. Exemplo de emprego de circuitos XOR para teste de igualdade entre palavras
  • 29. Expressões lógicas – aplicações de portas
    • Uma expressão lógica ou função lógica pode ser definida como sendo uma expressão algébrica formada por variáveis lógicas (binárias), por símbolos representativos de uma operação lógica (+, ., etc.), por parênteses (às vezes) e por um sinal de igual.
    F = X + Y .Z - Expressão lógica da função F Diagrama lógico da função F Tabela verdade da função F
  • 30. Cálculo de expressões lógicas
    • Assim como podemos obter todos os possíveis resultados de uma expressão lógica para cada um dos valores de entrada componentes da expressão (através da construção progressiva da tabela verdade), também poderemos obter o valor da expressão para um valor específico de cada uma das entradas (usar apenas uma linha da tabela verdade).
    • Na avaliação de uma expressão lógica, as seguintes regras devem ser seguidas:
    • a) Uma expressão pode ou não conter parênteses; quando contêm, eles têm a mesma prioridade que nos cálculos da álgebra comum;
    • b) A prioridade da operação AND é maior que a do cálculo de uma operação OR, como na aritmética comum. Assim: X+Y .Z = X + (Y .Z)
    • c) A prioridade da operação OR é maior que a operação XOR
  • 31. Álgebra Booleana
    • Álgebra Booleana é uma área da Matemática que trata de regras e elementos de Lógica . O projeto de elementos digitais está relacionado com a conversão de idéias em hardware real, e os elementos encontrados na álgebra booleana permitem que uma idéia, uma afirmação, possa ser expressa matematicamente. Permitem também que a expressão resultante da formulação matemática da idéia possa ser simplificada e, finalmente, convertida no mundo real do hardware de portas lógicas e outros elementos digitais.
  • 32. Evolução da microeletrônica Os CHIPS podem ser divididos em várias categorias, dependendo da quantidade de transistores que existem em seu interior: SSI - Short Scale of Integration, ou Integração em Baixa Escala. Esse chip contém em seu interior apenas algumas dezenas de transistores. MSI - Medium Scale of Integration, ou Integração em Média Escala. Esse chip contém algumas dezenas de transistores. LSI - Large Scale of Integration, ou Integração em Alta Escala. Contém em seu interior, alguns milhares de transistores. VLSI - Very Large Scale of Integration, ou Integração em Escala Muito Alta. Esse chip contém da ordem de dezenas de milhares de transistores, ou mais. ULSI – Ultra Large Scale of integration
  • 33. Circuitos integrados - chips
    • Um circuito integrado (CI) é um pequeno dispositivo, às vezes denominado chip ou microchip, que contém em seu interior dezenas e ate milhões de componentes eletrônicos: transistores, diodos, resistores e suas interligações. Estes componentes são os formadores das portas lógicas que, interligadas, formam um determinado circuito combinatório. A pastilha é encapsulada em um pacote de cerâmica ou plástico e as conexões com o exterior são soldadas aos pinos externos para completar o dispositivo.
  • 34. Identificação dos componentes de um computador Variáveis envolvidas: LADO1, LADO2, HIPOTENUSA, Q1, Q2
  • 35. Componentes de um sistema de computação
  • 36. Função dos componentes
    • UCP -> é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos com os dados, etc.) e pelo controle de quando e o que deve ser realizado, durante a execução de um programa. Tal controle é realizado através da emissão de sinais apropriados de controle, representados na figura pelas linhas pontilhadas.
    • Memória -> é o componente de um sistema de informação cuja função é armazenar as informações que são, foram ou serão manipuladas pelo sistema. Os programa e os dados são armazenados na memória para execução imediata (memória principal) ou para execução ou uso posterior (memória secundária). Há duas únicas ações que podem ser realizadas:
    • 1)a de guardar um elemento na memória, então chamamos de armazenar e a operação associada a esta ação é de escrita ou gravação (“write”) ou
    • 2) recuperação de um elemento da memória, ação de recuperar , e operação de leitura (“read”).
    • Dispositivos de Entrada e Saída -> serve basicamente para permitir que o sistema de computação se comunique com o mundo externo, realizando ainda, a interligação, a conversão das linguagens do sistema para a linguagem do meio externo e vice-versa. Os seres humanos entendem símbolos como A, b, *, ?, etc. e o computador entende sinais elétricos que podem assumir um valor de +3Volts para representar 1 e ou outro valor, 0 Volts para representar 0. O teclado (dispositivo de ENTRADA) interliga o usuário e o computador, por exemplo, quando pressionamos a tecla A, os circuitos eletrônicos existentes no teclado “convertem” a pressão mecânica em um grupo de sinais elétricos, alguns com voltagem alta (bit 1) e outras com voltagem baixa (bit 0), que corresponde, para o computador, ao caractere A. Os dispositivos de SAÍDA operam de modo semelhante, porém em sentido inverso, do computador para o mundo exterior, convertendo os sinais elétricos em símbolos conhecidos por nós.
    • A função da UCP consiste, então, em:
    • a) buscar uma instrução na memória, uma de cada vez;
    • b) interpretar que operação a instrução está explicitando (pode ser e soma de dois números, uma multiplicação, etc.);
    • c) buscar os dados onde estiverem armazenados, para trazê-los até a UCP;
    • d) executar efetivamente a operação com os dados, guardar o resultado no local definido na instrução;
    • e) reiniciar o processo apanhando nova instrução.
  • 37. Bit e byte
    • Bit -> é a menor unidade de informação armazenável em um computador. Bit é a contração das palavras inglesas Bi nary Digi t . O bit pode ter, então, somente dois valores: 0 e 1. Evidentemente, com possibilidades tão limitadas, o bit pouco pode representar isoladamente; por essa razão, as informações manipuladas por um computador são codificadas em grupos ordenados de bits, de modo a terem um significado útil.
    • Caractere -> é o menor grupo de bits representando uma informação útil e inteligível para o ser humano. Qualquer caractere a ser armazenado em um sistema de computação é convertido em um conjunto de bits previamente definidos para o referido sistema (chama-se código de representação de caracteres ). Cada sistema poderá definir como (quantos bits e como se organizam) cada conjunto de bits irá representar um determinado caractere.
    • Byte -> é o grupo de 8 bits, tratados de forma individual, como unidade de armazenamento e transferência. Como os principais códigos de representação de caracteres utilizam 8 bits por caractere, os conceitos de byte e caractere tornam-se semelhantes e as palavras, quase sinônimas.
    • Múltiplos: Kilobyte (Kb) = 2 ^ 10 bytes = 1024 bytes
    • Megabyte (Mb) = 1 Kbyte x 1 Kbyte = 1.048.576 bytes
    • Gigabyte (Gb) = 1 Kbyte x 1 Mbyte = 1.073.741.824 bytes
    • Terabyte (Tb) = 1 Gbyte x 1 Kbyte = 1.099.511.627.776 bytes
  • 38. Classificação dos computadores
    • Microcomputadores -> surgiram comercialmente por volta de 1974, através do desenvolvimento dos microprocessadores (todos os componentes de uma UCP em uma única pastilha) e o nome foi justamente devido ao tamanho e à capacidade de processamento, ambos pequenos em relação ao que já existia no mercado. Há no mercado várias categorias de microcomputadores, classificadas quanto ao tamanho físico do equipamento e a sua portabilidade: Mesa ou desktop, Laptops, Palmtops.
    • Estação de Trabalho -> é essencialmente um microcomputador projetado para realizar tarefas pesadas, em geral na área científica ou industrial, tais como complexas computações matemáticas e a composição, manipulação e apresentação de gráficos e imagens de altíssima resolução. Especialmente no que se refere a velocidade do processador e a capacidade de memória, a potência de uma estação de trabalho é semelhante à de um minicomputador. Ex: IBM RS/6000.
    • Minicomputadores -> são máquinas projetadas para atender simultaneamente a demanda por execução de programas de vários usuários, embora a quantidade de usuário e de programas não seja tão grande quanto se pode encontrar em computadores de grande porte. A capacidade de suportar múltiplos usuários e programas requer além de velocidade de processamento e capacidade/velocidade de memória, uma extensa potencialidade para manipular diversos dispositivos de entrada e saída. Ex: IBM AS/400.
    • Computador de Grande Porte -> são sistemas projetados para manusear considerável volume de dados e executar simultaneamente programas de uma grande quantidade de usuários. Essas máquinas podem interagir com centenas de usuários em um dado instante, como, por exemplo, um sistema de reserva de passagens aéreas, bem como uma contínua solicitação de processamento por parte dos incontáveis terminais conectados diretamente ao sistema, aos quais os computadores têm que atender e responder em poucos segundos. Ex: IBM 3090 e Control Data CDC 6600.
    • Supercomputadores -> são projetados primariamente para atender a um único propósito: realizar grandes quantidades de cálculos matemáticos o mais rapidamente possível, tipo previsão do tempo, simulação, modelagem tridimensional, etc. Ex: IBM 9021 e CRAY Y-MP.
  • 39. Medidas de desempenho
    • A medida geral de desempenho de um sistema de computador depende fundamentalmente da capacidade e velocidade de seus diferentes componentes, da velocidade com que estes se comunicam entre si e do grau de compatibilidade que possa existir entre eles.
    • Desempenho dos Processadores -> é medido em termos de sua velocidade de trabalho; como seu trabalho é executar instruções, criou-se a unidade chamada MIPS – milhões de instruções por segundo e também a unidade MFLOPS – milhões de operações de ponto flutuante por segundo, que é uma medida típica de estações de trabalho e de supercomputadores, pois estes costumam trabalhar mais com cálculos matemáticos.
    • Tempo de Acesso -> é uma unidade de medida mais apropriada, estando relacionada à velocidade de cada componente e à do canal de interligação entre os dois (UCP e memória).
    • Tempo de Resposta -> é a medida ligada ao desempenho global do sistema e não de um ou outro componente. Trata-se do período de tempo gasto entre o instante em que o usuário iniciou uma solicitação ou interrogação e o instante em que o sistema apresentou ao usuário a sua resposta ou atendeu à sua solicitação. Ex: o intervalo de tempo entre a solicitação de um saldo de conta em um terminal bancário e apresentação no vídeo da resposta (o saldo da conta).
    • Vazão (throughput) -> define a quantidade de ações ou transações que podem ser realizadas por um sistema na unidade de tempo. Por exemplo, a quantidade de atualizações que podem ser feitas em um sistema de controle do estoque de uma empresa ou um sistema WEB de IRPF.
  • 40. Arquitetura básica
    • A arquitetura básica de um computador moderno segue ainda de forma geral os conceitos estabelecidos pelo Professor da Universidade de Princeton, John Von Neumann (1903-1957), um matemático húngaro (Janos Neumann) de origem judaica, naturalizado americano e um dos construtores do EDVAC.
    • Von Neumann propôs construir computadores que:
    • 1. Codificassem instruções que pudessem ser armazenadas na memória e sugeriu que usassem cadeias de uns e zeros (binário) para codificá-los;
    • 2. Armazenassem na memória as instruções e todas as informações que fossem necessárias para a execução da tarefa desejada;
    • 3. Ao processarem o programa, as instruções fossem buscadas diretamente na memória.
    • Este é o conceito de PROGRAMA ARMAZENADO .
  • 41. Cibernética
    • A palavra Cibernética (do grego, ``kybernetiké'', piloto, no sentido utilizado por Platão para qualificar a ação da alma) foi cunhada em 1948 por Norbert Wiener (1894-1964), americano de origem judaica, como o nome de uma nova ciência que visava à compreensão dos fenômenos naturais e artificiais através do estudo dos processos de comunicação e controle nos seres vivos, nas máquinas e nos processos sociais. Para tanto procura entender o tratamento da informação no interior destes processos como codificação e decodificação, retroação (feedback), aprendizagem, etc.
    • As idéias que deram origem à cibernética foram concebidas na década de quarenta, uma época extremamente fértil em novas idéias, durante a qual diversos resultados fundamentais e avanços tecnológicos foram atingidos. Até a cibernética, os fenômenos naturais eram explicados principalmente a partir da noção de energia , central na física newtoniana. A cibernética representou uma troca de tipo de explicação, adotando a noção de informação como base para a descrição dos fenômenos naturais.
    • A idéias iniciais da cibernética tiveram origem em trabalhos desenvolvidos por Wiener e seu colega Julian Bigelow, durante a Segunda Guerra Mundial. Esses trabalhos visavam ao aperfeiçoamento de canhões anti-aéreos e resultaram na formalização da noção de realimentação negativa . Esta noção foi então utilizada como base para modelos de controle de sistemas artificiais e até do sistema nervoso central.
    • A abrangência pretendida pela cibernética tornou-a um fórum adequado para a discussão sobre temas emergentes na época como a comunicação de massas e a tomada de decisão nos níveis político, econômico e social. No entanto, essa mesma abrangência acabou por esvaziar os temas propriamente científicos da cibernética, que hoje incluiriam boa parte na neurofisiologia e da ecologia, além da informática e das disciplinas de automação e controle.
  • 42. Diagrama de blocos de um computador
  • 43. Funções dos componentes
    • Unidade Central de Processamento:
    • A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP. Funções:
    • Executar instruções - realizar aquilo que a instrução determina.
    • Realizar o controle das operações no computador.
    • a) Unidade Lógica e Aritmética (ULA) - responsável pela realização das operações lógicas (E, OU, etc) e aritméticas (somar, etc).
    • b) Unidade de Controle (UC) - envia sinais de controle para toda a máquina, de forma que todos os circuitos e dispositivos funcionem adequada e sincronizadamente.
    • Memória Principal:
    • A Memória Principal tem por finalidade armazenar toda a informação que é manipulada pelo computador - programas e dados. Para que um programa possa ser manipulado pela máquina, ele primeiro precisa estar armazenado na memória principal.
    • Dispositivos de Entrada e Saída (E/S):
    • Tem por finalidade permitir a comunicação entre o usuário e o computador.
    • OBS.: Para executar um programa, bastaria UCP e MP; no entanto, sem os dispositivos de E/S não haveria a comunicação entre o usuário e o computador.
  • 44. Hierarquia de memórias
    • A MP não é o único dispositivo de armazenamento de um computador. Em função de características como tempo de acesso, capacidade de armazenamento, custo, etc., podemos estabelecer uma hierarquia de dispositivos de armazenamento em computadores.
    • Devido a essa grande variedade de tipos de memória, não é possível implementar um sistema de computação com uma única memória. Na realidade, há muitas memórias no computador, as quais se interligam de forma bem estruturada, constituindo um sistema em si, parte do sistema global de computação, podendo ser denominado sub sistema de memória
  • 45. Tecnologia de fabricação de memória
    • Ao longo do tempo, diversas tecnologias vêm sendo desenvolvidas para a fabricação de memória.
    • Atualmente algumas dessas tecnologias já são obsoletas, como as memórias de núcleo de ferrite (magnéticas), algumas das tecnologias mais conhecidas são:
    • . Memória de semicondutores -> são dispositivos fabricados com circuitos eletrônicos e baseados em semicondutores. São rápidas e relativamente caras, se comparadas com outros tipos. Registradores e memória principal são exemplos de memórias de semicondutores ou, mais simplesmente, memórias eletrônicas.
    • . Memórias de meio magnético -> são dispositivos, como os disquetes, discos rígidos e fitas magnéticas, fabricados de modo a armazenar informações sob a forma de campos magnéticos. Eles possuem características magnéticas semelhantes às das fitas cassetes de som, as quais são memórias não voláteis.
    • Memórias óticas -> são dispositivos como os CDs que são discos, sobre o qual é impressa uma longa espiral (22188 voltas, totalizando 5,6 km de extensão). As informações são gravadas em furos nessa espiral, o que cria dois tipos de irregularidades físicas: pontos brilhantes e pontos escuros. Estes pontos são chamados de bits , e compõem as informações carregadas pelo CD. A leitura destas informações é feita por dispositivos especiais, que podem ser CD players ou DVD players A superfície da espiral é varrida por um laser, que utiliza luz no comprimento infravermelho. Essa luz é refletida pela superfície do disco e captada por um detector . Esse detector envia ao controlador do aparelho a seqüência de pontos claros e escuros, que são convertidos em "1's ou 0's", os bit's (dados binários).
    • Outros tipos de memória estão sendo pesquisados, como por exemplo, a memória principal ótica.
  • 46. Tempo de acesso e capacidade de memórias
    • Tempo de Acesso -> é o período de tempo gasto decorrido desde o instante em que foi iniciada a operação de acesso até que a informação requerida (instrução ou dado) tenha sido efetivamente transferida. Pode ser chamado tempo de acesso para leitura ou simplesmente tempo de leitura. É dependente do modo como o sistema de memória é constituído e da velocidade dos seus circuitos. Ele varia bastante de acordo com o tipo de memória analisado.
    • Capacidade -> é a quantidade de informação que pode ser armazenada em uma memória; a unidade de medida mais comum é o byte , embora também possam ser usadas outras unidades como células (no caso da memória principal e cache), setores (no caso de discos) e bits (no caso de registradores). Dependendo do tamanho (tamanho refere-se a quantidade de informação que pode ser armazenada e não no tamanho físico) da memória, isto é, de sua capacidade, indica-se o valor numérico total de elementos de forma simplificada, através da inclusão de K (kilo), M (mega), G (giga) ou T (tera).
  • 47. Exemplo de nomenclatura e valores de capacidade de memória
    • O registrador R1 tem 64 bits;
    • A ROM do microcomputador A tem 128 Kbytes;
    • A RAM do computador B tem capacidade para endereçar 512 M células;
    • O disco C tem capacidade para armazenar 160 Gbytes.
    • O CD-RW do drive E tem capacidade de armazenamento igual a 700 Mbytes.
    • O DVD-RW do drive F tem capacidade de armazenamento de 4.7 Gbytes
  • 48. Endereços e células
    • Célula: é a unidade de armazenamento do computador. A memória principal é organizada em células. Célula é a menor unidade da memória que pode ser endereçada (não é possível buscar uma "parte" da célula) e tem um tamanho fixo (para cada máquina).
    • Endereço: é o localizador da célula, que permite identificar univocamente uma célula. Assim, cada célula pode ser identificada pelo seu endereço .
  • 49. Leitura e gravação na memória MAR : Memory address register ou registrador de endereço de memória MBR : Memory buffer register ou registrador de dados de memória Barramento de dados : bidirecional Barramento de endereços : unidirecional Barramento de controle : bidirecional - A UCP envia para a memória principal os pulsos de comando de leitura ou escrita. Este barramento é bidirecional porque a UCP recebe por este barramento, pulso de resposta sobre o estado ( status ) dos periféricos, quando o barramento de controle também interliga periféricos e memória principal. Processador Memória RAM Controle teclado Controle vídeo Controle HD Barramento de endereços Barramento de dados MAR MBR TECLADO Monitor HD
  • 50. UNIDADE CENTRAL DE PROCESSAMENTO
    • A Unidade Central de Processamento - UCP (em inglês, Central Processing Unit - CPU) é a responsável pelo processamento e execução dos programas armazenados na MP. As funções da UCP são: executar as instruções e controlar as operações no computador.
    • Um programa, para ser efetivamente executado pelo processador, deve ser constituído de uma série de instruções de máquina. Para que a execução tenha início, as instruções devem ser armazenadas em células sucessivas, na MP.
    • A função da UCP consiste, então, em:
    • a) Buscar uma instrução na memória (operação de leitura), uma de cada vez;
    • b) Interpretar que operação a instrução está explicitando (pode ser soma de dois números, uma multiplicação, uma operação de entrada ou de saída de dados, ou ainda uma operação de movimentação de um dado de uma célula para outra);
    • c) Buscar os dados onde estiverem armazenados, para trazê-los até a UCP;
    • d) Executar efetivamente a operação com os dados, guardar o resultado (se houver algum) no local definido na instrução; e, finalmente;
    • e) Reiniciar o processo apanhando nova instrução.
  • 51. Instruções de máquina
    • Uma instrução de máquina é a especificação de uma operação básica (ou primitiva) que o hardware é capaz de realizar diretamente. Podemos, p. ex., fabricar um processador com uma ULA capaz de somar ou de multiplicar dois números, mas ainda não se fabricou uma ULA capaz de executar:
    • X = A + B * C
    • de uma só vez. A ULA tem que ser instruída para executar, separadamente:
    • T = B * C e A + T
    • O projeto de um processador é centrado no conjunto de instruções de máquina que se deseja que ele execute. Uma das mais fundamentais análise e decisões do projeto envolve o tamanho e a complexidade do conjunto de instruções. Quanto menor e mais simples o conjunto de instruções, mais rápido é o ciclo de tempo do processador.
    • Atualmente, há duas tecnologias de projeto de processadores empregadas pelos fabricantes de mini, microcomputadores e de estações de trabalho:
    • Sistemas com conjunto de instruções complexo (complex instruction set computers – CISC); e
    • Sistemas com conjunto de instruções reduzido (reduced instruction set computers – RISC).
  • 52. Instruções de máquina
    • Fisicamente falando (do ponto de vista do hardware), uma instrução de máquina é um grupo de bits que indica ao processador uma operação ou ação que ele deve realizar. Um processador é fabricado com a capacidade de realizar uma certa quantidade de operações bem simples (primitivas), cada uma delas associada a uma instrução de máquina.
    • Funcionalmente, um processador possui instruções capazes de realizar os seguintes tipos de operações:
    • Operações matemáticas (aritméticas, lógicas, de complemento, de deslocamento);
    • Movimentação de dados (memória – UCP e vice-versa);
    • Entrada e saída (leitura e escrita em dispositivo de E/S); e
    • Controle (desvio da seqüência de execução, parar etc.).
    • Quando se escreve “conjunto de instruções”, estamos nos referindo a todas as possíveis instruções que podem ser interpretadas e executadas por um processador.
  • 53. Formato das Instruções:
    • De modo geral, podemos separar o grupo de bits que constitui a instrução em dois campos:
    • Um campo (um subgrupo de bits) chama-se código de operação ;
    • O restante grupo de bits (se houver) denomina-se campo do(s) operando(s) ou, simplesmente, operando(s).
    • Código de operação – C.Op – é o campo da instrução cujo valor binário é a identificação (ou código) da operação a ser realizada. Assim, cada instrução possui um único código, o qual servirá de entrada no decodificador da área de controle.
    • Campo operando – Op – é(são) o(s) campo(s) da instrução cujo valor binário indica a localização do dado (ou dados) que será(ão) manipulado(s) durante a realização da operação.
  • 54. CARACTERÍSTICAS DE UM PROCESSADOR SIMPLES E HIPOTÉTICO
    • 1. Palavra: 12 bits
    • 2. Endereços: 8 bits (256 células de memória)
    • 3. Células de 12 bits
    • 4. Instruções de 1 operando apenas, com C.Op. = 4 bits e campo operando = 8 bits
    • 5. O campo operando sempre indica o endereço de memória do dado, exceto em instruções de desvio
    • 6. A UCP possui apenas um registrador de dados - o ACC com 12 bits de tamanho, assim como, o RI, e o RDM cada um, o CI e o REM, com 8 bits cada um.
    • 7. Formato das instruções : C.Op. Operando - 4 bits 8 bits
    • 8. Instruções disponíveis:
    • C.Op. SIGLA DESCRIÇÃO
    • 0 HLT Parar a execução do programa *** Halt, em Inglês
    • 1 LDA Op ACC ← (Op) *** Load, em Inglês
    • 2 STR Op (Op) ← ACC *** Store, em Inglês
    • 3 ADD Op ACC ← ACC + (Op)
    • 4 SUB Op ACC ← ACC – (Op)
    • 5 MPY Op ACC ← ACC * (Op)
    • 6 JZ Op Se ACC = 0, então CI ← Op
    • 7 JP Op Se ACC > 0, então CI ← Op
    • 8 JN Op Se ACC < 0, então CI ← Op
    • 9 JMP Op CI ← Op
    • A GET Op Ler dado da porta de entrada e armazená-la em (Op)
    • B PRT Op Colocar na porta referente à impressora o valor armazenado em (Op).
  • 55. Exemplo de programas em linguagem de máquina
    • Qual o tamanho da memória do computador em bits?
    • Qual o tamanho do barramento de dados?
    • Qual o tamanho do barramento de endereços?
    • Faça um programa para ler dois valores e imprimir a sua soma
    • Faça um programa para ler dois valores e imprimir o maior deles
    • Faça um programa para acumular a soma de números digitados no teclado. Quando 0 for digitado, o programa imprime a soma acumulada e para.
  • 56. Solução do primeiro programa
    • GET op – Lê o primeiro número
    • LDA op – Carrega cont(op) no acum ACC
    • GET op – Lê o segundo número
    • ADD op – Soma cont(ACC) + cont(op)
    • STR op – Carrega resultado da soma em op
    • PRT op – Imprime o cont(op)
  • 57. Exemplo de programa em linguagem de máquina
    • Obtenha a equação que resultou no seguinte programa:
    • LDA A
    • ADD C
    • STA X
    • LDA B
    • MPY D
    • SUB E
    • STA Y
    • LDA X
    • ADD Y
    • DIV F
    • STA X
  • 58. Sistemas operacionais
    • Um sistema operacional é formado por um conjunto de programas e rotinas computacionais que têm como objetivo criar uma camada de abstração entre o usuário e o hardware propriamente dito. Entende-se por usuário todo e qualquer objeto que precise de acesso aos recursos de um computador (seja ele um usuário &quot;real&quot; ou aplicativo).
    • Os sistemas operacionais podem ser classificados de três maneiras: pelo tipo do núcleo de sistema (ou kernel , como é conhecido no jargão técnico), pelo método adotado ao gerenciar os programas em execução ou pelo número de usuários que podem operá-lo simultaneamente.
  • 59. Camadas de software
  • 60. ESTRUTURA DO SO
    • Formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários do sistema e suas aplicações, bem como a outras rotinas do próprio sistema. Esse conjunto de rotinas é chamado núcleo do sistema ou kernel (cérebro).
  • 61. Funções do Sistema
    • Tratamento de interrupções e exceções.
    • Criação e eliminação de processos: função responsável por alocar em memória todos os recursos necessários à execução do processo. É esta função que aloca em memória, além do executável, o contexto do processo, o buffer de leitura/gravação (se necessário), além de listas e estruturas de controle utilizadas pelo sistema operacional. Nesta função também são estabelecidos vínculos físicos a arquivos em disco, fitas e outros periféricos que serão usados no processamento. Quando do fim da execução do programa, é esta função que desaloca todos os espaços em memória ocupados pelo processo, liberando-os para futuras alocações a outros processos;
    • Escalonamento e controle de processos: função responsável por organizar a fila de acesso ao processador. Utiliza parâmetros do sistema e do perfil do usuário para estabelecer a ordem em que os processos permanecerão à espera pela liberação da CPU, para então entrarem em execução;
    • Gerência de memória: função responsável por fornecer à função de criação/eliminação de processos os endereços em memória disponíveis para alocação;
    • Gerência de sistemas de arquivos: responsável pelo gerenciamento dos arquivos, bem como seu compartilhamento pelos diversos usuários, implementando mecanismos de controle da segurança e direitos de acesso às áreas utilizadas pelos usuários nos diversos dispositivos;
  • 62. Funções do Sistema
    • Gerência de dispositivos de E/S: responsável por gerenciar os dispositivos, prestando auxílio à criação/eliminação de processos e á gerência de sistemas de arquivos no que diz respeito ao endereçamento e associação de arquivos em periféricos;
    • Suporte a redes: é esta função que executa todos os serviços de rede, fazendo o empacotamento das mensagens vindas dos terminais para a CPU central (servidor) e vice-versa, além de controlar e confirmar o envio e recebimento de todas as mensagens que trafegam pela rede;
    • Contabilização de uso do sistema: responsável por contabilizar o uso de todos os recursos do sistema consumidos pelos usuários e suas aplicações. São registrados: tempo de CPU, tempo corrido, quantidade de área alocada em memória, em disco, linhas impressas, páginas de papel, entre outros. Isto se faz necessário para servir de subsídio para análise de performance, estatísticas de gastos com material de consumo e também para definição de custos de processamento.;
    • Auditoria e segurança do sistema: função extremamente importante, pois detecta e registra (num arquivo especial de LOG) todas as ocorrências de erro e violação de direitos de acesso ao sistema, aos arquivos, à memória e a todos os recursos do sistema. O arquivo de LOG é usado pela gerência de sistemas, com o intuito de verificar e aperfeiçoar os mecanismos de segurança e proteção ao sistema.
  • 63. TIPOS DE SISTEMAS OPERACIONAIS Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa Sistemas Multiprogramáveis / Multitarefa Sistemas com Múltiplos Processadores
  • 64. Sistemas Multiprogramáveis
    • Um Sistema Operacional pode ser visto como um conjunto de rotinas que executam concorrentemente de forma ordenada. A possibilidade de um processador executar instruções em paralelo com operações de entrada e saída permite que diversas tarefas sejam executadas concorrentemente. É este conceito de concorrência o princípio fundamental para o projeto e implementação de sistemas multiprogramáveis.
    • Os sistemas multiprogramáveis surgiram a partir das limitações dos sistemas monoprogramáveis onde os recursos computacionais como processador, memória e dispositivos de E/S eram utilizados de maneira muito pouco eficiente, limitando seu desempenho, com muitos destes recursos permanecendo ociosos por longos períodos de tempo.
    • Nos sistemas monoprogramáveis somente um programa pode estar em execução de cada vez, permanecendo o processador dedicado exclusivamente a uma tarefa, ficando ocioso enquanto uma operação de leitura em disco é realizada. O tempo de espera é relativamente longo, já que as operações de E/S são muito lentas se comparadas à velocidade de operação do processador.
    • Outro aspecto a ser considerado é a sub-utilização da memória principal, onde um programa nem sempre ocupa todo o espaço disponível, ficando o restante inutilizado. Nos sistemas multiprogramáveis vários programas podem ser alocados na memória, concorrendo pelo uso do processador. Dessa forma, quando um programa solicita uma operação de E/S, outros programas poderão utilizar o processador, deixando a CPU menos ociosa e tornando o uso da memória mais eficiente, pois existem vários residentes e se revezando na utilização do processador.
  • 65. Sistemas Multiprogramáveis
    • A utilização concorrente da CPU deve ser feita de maneira que, quando um programa perde o uso do processador e depois retorna para continuar sua execução, seu estado deve ser idêntico ao do momento em que foi interrompido. O programa deverá continuar sua execução exatamente na instrução seguinte àquela onde havia parado, aparentando ao usuário que nada aconteceu. Em sistemas de tempo compartilhado existe a impressão de que o computador está inteiramente dedicado ao usuário, ficando esse mecanismo totalmente transparente aos usuários.
    • Quanto ao uso dos periféricos, é comum nos sistemas monoprogramáveis é comum termos, por exemplo, impressoras paradas por um grande período de tempo e discos com acesso restrito a um único usuário. Esses problemas são minimizados nos sistemas multiprogramáveis, onde é possível compartilhar os dispositivos de E/S, como impressoras e discos, entre diversos usuários e aplicativos.
  • 66. Interrupção e Exceção
    • Durante a execução de um programa, alguns eventos inesperados podem ocorrer, ocasionando um desvio forçado no seu fluxo normal de execução. Esses eventos são conhecidos como interrupção ou exceção, e podem ser resultado de sinalizações de algum dispositivo de hardware externo ao ambiente memória/processador. A interrupção é o mecanismo que permitiu a implementação da concorrência nos computadores, sendo o fundamento básico dos sistemas multiprogramáveis/multitarefa.
    • Uma interrupção é sempre gerada por um evento externo ao programa e, sendo assim, independe da instrução que está sendo executada. Um exemplo de interrupção é quando um dispositivo avisa ao processador que alguma operação de E/S está completa. Neste caso, o processador deve interromper o programa para tratar o término da operação.
    • Ao término de cada instrução a Unidade de Controle (situada dentro do processador) verifica a ocorrência de algum tipo de interrupção. Desta forma, o programa em execução é interrompido e seu controle é desviado para uma rotina do sistema responsável por tratar o evento ocorrido, denominada rotina de tratamento de interrupção . Para que o programa interrompido possa retornar posteriormente à sua execução é necessário que, no momento da interrupção, um certo conjunto de informações sobre sua execução seja preservado.
    • Essas informações consistem basicamente no conteúdo dos registradores internos da CPU, que deverão ser restaurados para a continuação do programa.
  • 67. Interrupção e Exceção
    • Para cada tipo de interrupção existe uma rotina de tratamento associada, para onde o fluxo do programa é desviado. A identificação do tipo de evento ocorrido é fundamental para determinar o endereço da rotina adequada ao tratamento da interrupção.
    • As interrupções podem ser geradas:
    • - Pelo programa do usuário (entrada de dados pelo teclado ou mouse)
    • - Pelo hardware (operações de E/S)
    • - Pelo sistema operacional (ao término da fatia de tempo do processador destinada ao programa)
    • As interrupções sempre são tratadas pelo Sistema Operacional.
    • A exceção é um evento semelhante à interrupção, pois também de fato interrompe um programa.
    • A principal diferença é que a exceção é o resultado da execução de uma instrução dentro do próprio programa, como a divisão por zero ou a ocorrência de um overflow (estouro de capacidade de um campo) numa operação aritmética.
    • Na maioria das vezes, a exceção provoca um erro fatal no sistema, causando o término anormal do programa. Isto se deve ao fato de que a exceção é melhor tratada dentro do próprio programa, com instruções escritas pelo programador.
  • 68. Direct Memory Access - DMA
    • No caso de grandes transferências de dados (HD, por exemplo) o overhead associado pode ser grande
    • DMA é um método que permite aliviar o processador, realizando a transferência entre o dispositivo e a memória através de um controlador auxiliar que funciona como bus master
    • O processador programa o controlador de DMA
    • A transferência é realizada sem a intervenção do processador
    • O controlador DMA envia uma interrupção ao processador para sinalizar a finalização ou eventuais erros
  • 69. Threads
    • É comum, em sistemas multiprogramáveis, vários usuários utilizarem os mesmos aplicativos simultaneamente, como editores de texto, compiladores e outros utilitários. Nesta situação, se cada usuário que utilizasse um destes aplicativos trouxesse o código executável para a memória, haveria então diversas cópias de um mesmo programa ocupando espaço na memória, o que causaria um grande desperdício de espaço.
    • Thread é a capacidade de um código executável ser compartilhado por vários usuários, exigindo apenas uma cópia do programa em memória. As threads permitem que cada usuário esteja executando um trecho diferente do programa, manipulando dados próprios, exclusivos de cada usuário.
    • Threads são utilizadas em utilitários do sistema, como editores, compiladores e linkers, promovendo um uso mais eficiente da memória e um desempenho maior do sistema. Alguns sistemas operacionais permitem a possibilidade de se implementar o conceito de thread em aplicações desenvolvidas pelo próprio usuário.
  • 70. Segurança e Proteção do Sistema
    • A eficiência proporcionada por um ambiente multiprogramável implica em maior complexidade do sistema operacional, já que alguns problemas de proteção surgem como decorrência deste tipo de implementação.
    • Considerando-se que diversos usuários estão compartilhando os mesmos recursos, como memória, processador e dispositivos de E/S, faz-se então necessário existir mecanismos de proteção para garantir a confiabilidade e a integridade dos dados e programas dos usuários, além do próprio sistema operacional.
    • Como vários programas ocupam a memória principal simultaneamente, cada usuário possui uma área reservada onde seus programas e dados são armazenados durante o processamento. O sistema operacional deve possuir mecanismos de proteção a essas áreas, de forma a preservar as informações nela contidas. Caso um programa tente acessar uma posição de memória fora de sua área, um erro indicando a violação de acesso deve ocorrer, sendo responsabilidade do sistema operacional o controle eficiente do compartilhamento dos recursos e a sincronização da comunicação, evitando problemas de consistência.
  • 71. SO Linux
    • Linux é um sistema operacional criado inicialmente como passatempo de um estudante de Ciências da Computação da Universidade de Helsinki, na Finlândia, em 1991. Seu nome é Linus Torvalds. Ele não imaginava que esse &quot;passatempo&quot; seria um sucesso tão grande. Graças a uma arquitetura aberta (que permite a qualquer programador fazer alterações no sistema - software livre) e o controle rigoroso sobre o kernel (estrutura do sistema operacional), o Linux vem ganhando cada vez mais adeptos.
    • Requisitos para rodar o Linux:
    • Uma característica muito importante do Linux, é que você não precisa ter um computador poderoso para poder rodá-lo. O requerimento mínimo é de acredite, um processador 486, 16 MB de memória RAM e 200MB de espaço no HD. Mas neste caso, somente será possível utilizá-lo em modo texto, ou seja, sem recursos gráficos. Para isso, ele exige a mesma capacidade de hardware que o Windows ou o Mac.
  • 72. SO Linux
    • O Linux é gratuito. Você pode até fazer download dele pela Internet sem pagar nada. E não é só ele que é de graça. A maioria de seus programas também. Você pode, por exemplo, usar o pacote OPEN OFFICE gratuitamente e alterá-lo como quiser (desde que saiba programar). Pelo fato do Linux ser um software livre, muitos programadores de todo o mundo se interessaram (e se interessam) em melhorá-lo. Uns contribuem programando drivers (arquivos que ensinam o sistema operacional a lidar com um hardware específico), outros adicionam funções extras, outros melhoram o acesso à Internet, etc. Com isso, o Linux vem ganhando cada vez mais espaço.
    • Companhias como a Sun e a IBM investem cada vez mais em produtos com o Linux. Graças ao trabalho constante de experientes programadores e empresas distribuidoras de Linux (como Conectiva, SUSE, Red Hat, etc.), o Linux vem cada vez mais se tornando fácil de instalar e de usar. Atualmente, o Linux está mais voltado para ser usado como servidor ou em computadores corporativos, em vista de seu excelente desempenho e estabilidade.
  • 73. UBUNTU
    • Ubuntu é um sistema operacional Linux baseado na distribuição Debian . É patrocinado pela Canonical Ltd (dirigida por Mark Shuttleworth ) e o seu nome deriva do conceito sul africano Ubuntu , diretamente traduzido como &quot;humanidade para com os outros&quot;. Diferencia-se do Debian por ser lançado semestralmente, por disponibilizar suporte técnico nos dezoito meses seguintes ao lançamento de cada versão (em inglês) e pela filosofia em torno de sua concepção.
    • A proposta do Ubuntu é oferecer um sistema operativo que qualquer pessoa possa utilizar sem dificuldades, independente de nacionalidade, nível de conhecimento ou limitações físicas. A distribuição deve ser constituída totalmente de software gratuito e livre , além de isenta de qualquer taxa. Atualmente uma organização cuida para que cópias sejam remetidas em CDs para todo o mundo sem custos.
    • A Comunidade Ubuntu ajuda-se mutuamente, não havendo distinção de novatos ou veteranos; a informação deve ser compartilhada para que se possa ajudar quem quer que seja, independentemente do nível de dificuldade.
    • Há vários meses a distribuição Ubuntu está em primeiro lugar no Distrowatch, site especializado em catalogar o desempenho e uso das distribuições Linux.
  • 74. Sistemas de Gerenciamento de Bancos de Dados - SGBD
    • Banco de Dados: é uma coleção de dados inter-relacionados, representando informações sobre um domínio específico.
    • Exemplos: Lista Telefônica, Fichas do acervo de uma biblioteca
    • SGBD: consiste em uma coleção de dados inter-relacionados e uma coleção de programas para prover o acesso a esses dados.
    • O objetivo principal de um sistema de banco de dados é possibilitar um ambiente que seja adequado e eficiente para uso na recuperação e armazenamento de informações.
    • Exemplos: Access, Oracle, db2, MySQL, SQL Server
  • 75. Modelo de Dados
  • 76. Exemplos de modelos de dados
  • 77. Características de um SGBD
    • Integridade
    • Restrições
    • Segurança
    • Privacidade
    • Restauração
    • Reorganização
    • Eficiência
  • 78. Tabelas
    • Objeto criado para armazenar os dados fisicamente
    • Os dados são armazenados em linhas (registros) e colunas (campos)
    • Os dados de uma tabela normalmente descrevem um assunto tal como clientes, vendas, etc.
  • 79. Tabela e chave primária A chave primária permite a classificação única de cada registro de uma tabela, como por exemplo: RG, CPF, Matrícula
  • 80. Redes
  • 81. Meios de transmissão
    • Linhas telefônicas discadas ou para comunicação de dados, cabos de cobre (par trançado), rádio freqüência (redes sem fio) e fibras óticas.
  • 82. Rede cliente - servidor SERVIDOR MAIOR CAPACIDADE DE DISCO E CPU MAIS RÁPIDA CLIENTE MENOS POSSANTES CLIENTE MAIS BARATOS CLIENTE LIGADOS EM REDES
  • 83. Tipos de servidores
    • Servidor de arquivos
    • Servidor Web
    • Servidor de e-mail
    • Servidor de impressão
    • Servidor de banco de dados
    • Servidor DNS: Resolve nomes de servidores em endereços de rede
    • Servidor Proxy: conecta clientes a outros servidores
    • Servidor de imagens
  • 84. LAN s : L ocal A rea N etwork, &quot;rede de área local
    • WAN : W ide A rea N etwork , Rede de área alargada
    • Outras: MAN (Metropolitan Area Network)
      • RAN (Regional Area Network)
      • CAN (Campus Area Network)
    Tipos de redes quanto a abrangência
  • 85. Placa ou Adaptador de Rede
    • Padrão Ethernet - o mais popular, arquitetura aberta
    • Token Ring - a alternativa, tecnologia proprietária (IBM)
    • On-board ou off-board
    • Velocidades: 10/100/1000Mbps
  • 86. Cabeamento
    • Cabo UTP ou par-trançado
    • Características:
    • Conector RJ45
    • Alcance: 100 mts
    • Velocidade: até 1000Mbps (cat 6) ou 100Mbps (cat 5)
  • 87. Hub e Switch
    • Devem seguir o padrão da placa de rede ( ethernet, token, etc...)
    • Velocidade: 10/100/1000Mbps, 100Mbps o mais comum
    • Hub quase não é mais encontrado devido ao baixo custo do Switch, que possui performance superior
    • Os equipamentos profissionais são escalonáveis e gerenciáveis
    Dispositivos que interligam os computadores, impressoras e servidores em rede.
  • 88. Roteador
    • Uso:
    • Conexão entre redes remotas (ex Matriz e filial, internet e LAN )
    • Segmentação de grandes LANs, com objetivo de melhorar o gerenciamento e otimizar a performance
    Os roteadores são componentes avançados de rede que podem dividir uma rede em duas redes lógicas independentes
  • 89. TOPOLOGIAS
    • Forma como os micros são interligados
    • São três tipos de topologia física, conhecidas como topologia de barramento, de estrela e de anel.
  • 90. Topologia de barramento
  • 91. Topologia de estrela
  • 92. Topologia de anel
  • 93. PROTOCOLOS
    • São um conjunto de padrões usados para permitir que os micros “falem a mesma língua” e possam se entender.
    • Protocolos de rede: TCP/IP
    • Transferência de arquivos
    • HTTP
    • SNMP
  • 94. GERENCIAMENTO
    • O que é gerenciamento de rede?
    • É a habilidade de gerir de forma eficiente o aumento das exigências dos usuários da rede,com cada vez menos recursos,através de algumas ações,políticas e procedimentos.
    • Padrão SNMP