Componentes e Paradigmas Computacionais PDF

Summary

These notes cover computer components and paradigms, including topics such as computer types, Moore's Law, abstraction, parallelism, memory hierarchies, compilers, and more. The document provides an overview of fundamental concepts in computer science.

Full Transcript

Componentes e Paradigmas Computacionais Tipos de computadores : computadores pessoais (pc)- normalmente inclui ,...

Componentes e Paradigmas Computacionais Tipos de computadores : computadores pessoais (pc)- normalmente inclui , ecrá teclado, Rato ~ Cálculo ( ) + intenso com IA Servidores e supercomputadores Computadores embebidos (embedded) Dispositivos móveis (PMD) ↳ bateria autonoma Servidores estão a crescer + clusters de servidores/centro de dados ↓ Computação em nuvem SaaS - software as a service IDEIAS DE ARQ DE COMP : Lei de Moore - circuitos integrados , componentes básicos de comput tadores , duplicam a sua capacidade a cada 18-24 meses ( ajuda arquitetos a prever novos chips quando estao a construir um novo computador ABSTRACÃO - > as várias camadas são abstraidas entre si ex n tem : um programador de saber sobre hardware Rapidez de casos comuns - investir nos casos (+ ) frequentes Paralelismo- efetuar operações independentes em paralelo ↳ de uso pipelines Antecipação - antecipar situacao futura do q esperar a aconteça #caras (4) Rápidas (-) capacidade Hierarquia de memórias e baratas (+ ) (+ ) lentas it capacidade Confiaveis- tolerantes a Falhas redundancia nos componentes Camadas de Abstração das Aplicações > - Application Software Software > - Systems Sist operativos, compilador. > Hardware - Compilador - programa que traduz Linguagens de alto nivel como C, C++... em tarefas que o computador possa executar Assemblador e Assembly pl cód. maquina Computador : 1 - Entrada de dados , teclado (input) Rato : 2-Saída de dados (output) ecrã impressora, altifalante : , 3- Memória Caminho de Dados (datapath) /CPU , 4 processador - 5- Controlo Cache-acesso muito Rápido - Memória acesso mt frequente dentro do processador SRAM ↓ cache Acesso Aleatório - Frequente (-a a ( rápita dRAM dados desta memória Ond se desliga o pa perde-se os & pl Guardar dados : discos rigidos , sod ete Memória volátil - n volátil secundária primária CPU-mecanismos de controlo e caminho de dados Entrada Dados Instrucões ↓ Controlo Caminho Control de Status Path Dados ↓ Saída Dados Arquiteturas PowerPo (Mac novos RISC- cisc * S Mac - ARM tablets (portateis , Hm , DESEMPENHO COMPUTACIONAL Medidas de Desempenho: > - Tempo de Resposta ou de execução de banda (bandwidth through put) > Largura o - ↳ at de trabalho realizada por um pc Desempenhou = 1/ Tempo de execução Tempo de CPU - usado na execuçã de um prog. ↳ do utilizador : usado a exectar intrucoes do prog ↳ do. sistema : usado a executar instruções do sistema operativo (invocadas pelo programa) Ciclo de Relógio-tempo mínimo de una operaçã básica no opu Frequência do Relógio-inverso do ciclo de Relógio mede-se em Hz ( = 1 ciclo por seg) 10 MHz 10 milhões de ciclos do Relógio = por segundo f Tempo de CPU = No Ciclos de do Relógio X Ciclo de Relógio progra Tempo de CPU = NociclosdeRelógio/Frequência do pelo eo CPI (cycles instruction) per> no ciclos de Relógio necessários / completar uma instrução máquina ↳ ciclos por instructed Tempo de execução do _ Ninstruções do I Freq do Rele a programa Fatores chaves pl Desempenho : > Freq de relógio do processador -. > - Quantidade de instruções do programa médio de ciclos de Relógio por instrucao (CPI) = > N - Fatores Indiretos > - afetam os fatores - chave > Algoritmo - > Linguagem programação - > - Compilador > - Arquitectura do cryto de intruções Barreira de Energia- freg do Relogia está diretamente rela- cionada necessária CPU funcionar el energia / Custo energético de processadores el mais relógio ( ) + temperatura faz e que se precise de alternativas Uniprocessadores/Mutiprocessadores E ↓ · garantir de tanefas distribuiç processadores cores de vários equivalente pelos cones Minimizar comunicad entre · cones Benchmark+ cnjto programas que representa utilização a comum de um computador servindo p/ medir desempenho e o vários compará-lo entre computadores SPEC (system performance Evaluation Cooperative ↳ benchmarks normalizadas pl sistemas de projecto p/criar modernos computadores SPECratio ↳ medida normalizada 12 benchmarks sobre n: que agrega inteiros Speciatio = tempo de execução Referencia Tempo execução médio Lei de Amdahl ↳ Aumento determinada melhoria desempenho possível com uma sistema e limitada de dessa melhoria no sempre pelo grau uso Tmp melhoria execafetadopelamelhore execapósmp -- Fator multiplicativo Instruções por Frequência do Relógio Segundo CPI Ciclos = Frequência do Relógio (Hz) Tempo x (s) Instruções CP= Cido o dos Instruções MÁQUINAS DE ESTADO Maq de Estado finito : > - modelam um sistema com um no limitado de modos/estados Dependendo do como a máq está comporta-se de uma forma ou outra -Diagramas de transição de estados são uma boa forma de visualizar um sistema particular > Estados Representados - ou por : > - Estado inicial : Representado por (p/o au correspondente) Transições, representado setas entre estados I > por - o Mudanças de Estado da Mag -Regras plativam uma transição são mostradas junto da respectiva Sete (estado inicial) OFF estados transições Regras "OFE pressed Bake-pressed ~ too-hot % OFF-pressed Heating-2-> Idling -2- too-cold Estados Finais ↳ algumas maq podem ter estados finais onde a maq pode parar quando chega aqui, terminou operação a Máquinas Deterministas ↳ partir de cada estado se aplica e uma so a uma regra a outro estado para chegar Máquinas Não-Deterministas ↳ transições que saem de um estado ambiguas pode-se aplicar mais que uma transicad ↳ podem sempre ser convertidas numa determinista Formalismos mais complexos (computações não expressas / maq estado > - Expressões Regulares Representam padrões de : símbolos de Pilha : > Máq Maq de estado el dispositivo de memória (pilha - resultados que Guarda temporários > - Gramáticas independentes de contexto : Cristo deRegras que deter- de símbolos minam padrões > - Máquinas de Turing Na : de estado com memórias de acesso aleatório Tem. a mesma expressividade dos computadores atrais ABSTRAÇÃO E COMUNICAÇÃO ENTRE CAMADAS Níveis de Abstracao niveis/ computadores organizam-se em : camadas de abstração dominios , organizadas em () perto & + Aplicações Dominio do software abst dosalizadores · : pensa · Linguagens de programação que permitem manipular o Bibliotecas comautador sem entender · · Sistemas Operativos Os e Is Arquitetura & · · Componentes Domínio digital : abst Sobre. Circuitos integrados funcionamento do · it) perto organização e Portas computador d Lógicas computador info binária Os 1s · e Transistores Y Abstração Analógico : funciona V Domínio : sobre o funcional eletrónico do comp(níveis de tensão eléctrica) (Domínio do Software Aplicações: programasdecomputadordesenhadossere ma ka construídas com linguagens de programação Linguagens de Programação : expressam lógica subjacente a ao cada aplicação. funcionamento pretendido em ↳ a descrição da aplicação chama-se código-fonte · deve ser legível (readability ( · deve funcionar como uma "Receita" que o computador automaticamente executa > - existem diferentes níveis de abstraca : abstratas mais · Linguagens de alto nível são mais , afastadas de conceitos como circuitos e bits baixo nivel, tem · Linguagens de uma correspondência direta com as operações elementares do hardware quase ex : assembly , linguagens-máquina Bibliotecas e Frameworks : são partes de programas pré-feitos que ajudam o programador a incluir funcionalidades comuns sem ter de se preocupar com a implementacap. detalhes Permitem abstrair de certos Bibliotecas : e usadas na estrutura do código que o programador definiu ; fluxo -Programador tem o controlo do do programa Frameworks : > - Estrutura definida ; o programador tem que preencher algumas areas com as funcionalidades específicas da aplicaca - controlam o fluxo através de uma estrutura pré-definida, que o programador tem de completar Sistemas Operativos (50) : camada de software que as aplicações e bibliotecas dependem para ↳comunicar com já incluem várias o computador aplicações editor básicas "prontas-a-usar ex : calculadora, , ete de texto núcleo do SO (Kernel) é escrito - numa linguagem · de baixo controlar diretamente hardware nível pl o · efetua funções importantes que o programador não tem de se preocupar : memória RAM - gestão - controlo tempo do programa no Chu - comunicaca com dispositivos input/ output (Domínio Digital ( Arquitetura é abstração do funcionamento a do computador : no seu nível mais elementar (neste dominio 1 ↳ O seu elemento (+ ) importante é conjunto de instruções o máquina ou as operações básicas que hardware o executa Arquitetura de 64 bits : processador pode escrever e ler informação da memória 64 bits de cada vez Componentes : o computador consiste em vários componentes integrados num único objecto. Todos tem CPU, memória, b dispositivos de entrada/saída. Organização do computador Componentes que : se interligam entre Si , mesmo que não sejam visíveis/percetiveis Circuito Integrado (chip) dispositivo : eletrónico que agrega milhões or biliões de unidades elétricas básicas e tem uma funcionalidade especifica. Ex : processador pode ser um chip memória podem ser vários chips (capacidade de memória é a soma das capacidades dos chips) > - O próprio chip tem um design com camadas de abstracao. várias unidades Designers juntam pequenas numa maior de tamanho médio e assim sucessival até atingirem a funcionalidade do circuito como um todo Portas Lógicas : concretizações eletrónicas de operações Lógicas/booleanas com valores verdadeiro/falso ou 0/1. Operações Lógicas : > - AND : Resultado verdadeiro (1) se ambas entradas 1 OR Resultado 1 entradas 1 pelo das > : se menos uma > - NOT : Resultado 1 se a (única) entrada for O - Qualquer computação é redutível a combinações de portas lógicas ) qualquer programa seja composto milhões biliões de por or portas (Domínio Analógico) Transistores : dispositivos eletrónicos básicos que constituem portas Lógicas os arcuitos ! as e ↳ integrados já não. operam no domínio dos bits mas sim dos valores de tensão elétrica, analógicos (contínuos , Físicos elétrica Interruptor controlado por uma corrente Se atensão de entrada ultrapassar o limite o interruptor fecha , se descer abaixo do limite fica aberto. São estes limites de tensão que determinam > - o zero e o um Ex : nos circuitos mais comuns (TTL) : abaixo de 0 , 4 volts : O acima de 2 , 6 volts : 1 Modelos de Aplicações Distribuídas : Apps podem centralizadas ser numa máquina ou · correr de forma distribuída em várias · Com os computadores ligados em Rede , as apps podem utilizar dados e funcionalidades localizados Noutro Sítio Modelo cliente-servidor * depende serviço computador cliente do MODELOS DE de um computador servidor DISTRI Modelo peer-to-peer Todos estão os computadores ao mesmo trocando nível , serviços e dados entre si Modelo Cliente - Servidor Servidor dados · : Sistema poderoso que guarda os ou a informação > - Cliente : máquina que permite aos utilizadores aceder à informação no servidor > - Cliente envia um pedido (request) ao servidor que devolve uma resposta > - Muitos clientes podem aceder a um servidor : tem capacidade pl todos os pedidos em tempo util Redes Peer-to-Peer > - Todos os computadores são pares (peers) funcionando , como clientes ou como servidores, consoante a necessidade -Cada computador é um no indiferenciado na Rede No Fornecedor regista os seus serviços num serviço centralizado de lookup e que os outros podem consultar No Requerente anuncia (broadcast) o pedido de serviço seu a todos os outros sendo o no fornecedor responde em conformidade -A distribuição é mais equitativa entre máquinas > - É mais sensível ao no de nós : demasiados/muito porcos nos podem ter impacto nível de da no desempenho ou disponibilidade da informacao. PARALELISMO Multiprocessadory sistema computacional com pelo menos 2 processadores Paralelismo processo/tarefa nível do correm programas independentes ao e diferentes Forma de melhorar em processadores ; mais comum o desempenho Programa processamento paralelo de e programa único que corre Simultaneamente vários processadores Cluster e conjunto computadores ligados rede funcionam com um que em único grande multiprocessador Microprocessador multicore > - contém vários processadores/cores) num único circuito integrado. SMP processadores sistema memória partilhada- multiprocessador : com com um único espaço de endereço de memória Física Construção de Programas Paralelos L Tem ter atenção que se : em partição do programa em pedaços (threads) que possam correr · paralelamente divisão equitativa · da quantidade de trabalho pelos threads sincronização dos threads para · que os processadores não esperem um pelos outros minimização da comunica entre · os vários threads - Quantos mais processadores, maior o desafio Lei de Andahl obstáculo : pequenas partes do programa - mostra um mesmo devem ser paralelizadas pl vários maior partido dos cores Hardware Paralelo Categorização de : SISD single instruction stream single data stream : , ↳ uniprocessador, sem paralelismo MIMD multiple instruction streams : multiple data stream multiprocessador ↳ um SPMD single program multiple data stream : , ↳ forma habitual de programar um NIMD ↳ construído um único programa e as ramificações atribuídas a processadores diferentes SIMD instruction stream data streams Single multiple : , ↳ mesma instrução é aplicada a várias streams de dados Vetor do SIMD ↳ intrepretaçã ↳ dados organizados num conjunto de registos sobre os quais de execução em pipeline. operam unidades ↳ Dentro das unidades de execução o , processamento sequencial é mas cada unidade corre em paralelo sobre os vários registos Multithreading por Hardware é otimizar execução dos threads · possível a num único processador Thread leve e processo ↳ partilha um mesmo espaço de endereçamento de memória Processo - inclui um ou mais threads ↳ tem de enderecamento um espaço próprio, bem como o estado do sistema operativo Moltithreading por Hardware ↳ forma de otimizar a utilização de um processador muda ploutra thread quando a presente está parada Fine-grained multithreading ↳ implica mudança de thread após cada instrucal Coarse-grained multithreading ↳ mudança de thread só quando há esperas significativas Processadores Multicore e Memória Partilhada Processador Processador Processad e I I.. I cace cace & Interconnection Network ↑ ↑ Memória 1/0 memória, torna - partilhar o espaço de o processo mais eficiente UMA s unified memory address ↳ latência de acesso memória é à a mesma , qualquer que realizar a seja o processador a operaçã NUMA-non-unified address memory ↳ tem o mesmo espaço de enderecamento , mas as memórias físicas vários' estão ligadas a processadores As latências diferentes ↳ podem ser física do endereço de memória consoante o processador e a localização em acesso Unidades de Processamento Gráfico (GPU) > - são aceleradores que complementam o cpu Não realizam todas as tarefas, mas são rápidas nas fazem > - que -Usam multithreading por hardware plotimizar o processamento Memória otimizada para de banda em vez de latência largura > - e epu tem muitos processadores paralelos (MIMD) de Grande escala Clusters e computadores (wSC) prático que acedam não é memória > - a partilhada porque acedem rede por paralelismo Fácil > - e alargado > - contabilização de custos operacionais oportunidades relacionados problemas com > - e a escala Modelos de Computação em Nuvem ↳ tira partido deste sistema de paralelismo Saas , Paas , I as Benchmarks ↳ testam sistemas de hardware com tarefas programas que exigentes ↳ resultados dão indicação do desempenho dos processadores Modelos de Desempenho ↳desempenhode operações de virgula futa a se ↳ desempenho de memória INTRO ADMINISTRAÇÃO DE SISTEMAS O que faz um admin de sistemas : > - planear e desenhar redes > - planear e desenhar sistemas de backup criar contas de utilizador apagar > - e > - ajudar e resolver problemas dos utilizadores - instalar e atualizar pacotes de su (principal/ os essenciais) e zelar pela segurança do sistema Superutilizador ↳ conta tarefas privilegiada que permite ao admin realizar comando sudo 3 formas de acesso método : efetuar login conta admin root e aconselhado > - com ou e "Su Root" a partir da conta normal "sudo" pl executar tarefa superutilizador e usar como Estas tarefas podem ser realizadas em 2 tipos de interface : S ↳ Linha de comandos interface gráfica (GUI · maior versatilidade · mais Rápida e prática · menos Flexível Ferramentas de Administraca · Consulta de info de utilizadores/rede/ Recursos do sistema, históricos ou em tempo Real · Realização de tarefas de forma integrada · Podem assumir forma de GUI ou comandos/scripts Comunicação com Utilizadores os : e aplicar e reforçar políticas de segurança e de gestad de Recursos proporcionar condições plos utilizadores Realizarem o > - se trabalho Código de Ética : e profissionalismo > - integridade e privacidade -atualização de conhecimentos (educação e responsabilidade social

Use Quizgecko on...
Browser
Browser