Desempenho de CPU e Sistemas Operacionais

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

A banda larga (bandwidth) é a quantidade total de trabalho realizado por um computador em um determinado período de tempo.

True (A)

O desempenho de um computador é medido pela razão entre ______ e o tempo de execução.

trabalho realizado

Quais dos seguintes são fatores chave que afetam o desempenho do CPU? (Selecione todos os que se aplicam)

  • N° médio de ciclos de relógio por instruction (CPI) (correct)
  • Quantidade de instruções do programa (correct)
  • Frequência do relógio do processador (correct)
  • Tamanho da memória RAM

O que é um ciclo de relógio (Clock cycle) em relação ao CPU?

<p>O ciclo de relógio é o intervalo de tempo mínimo que o CPU leva para executar uma tarefa básica. É como o batimento do coração do CPU.</p> Signup and view all the answers

Relacione os termos com as suas definições:

<p>Tempo de CPU do utilizador = Tempo que o CPU usa para executar instruções de um programa Tempo de CPU do sistema = Tempo que o CPU usa para executar instruções do sistema operacional Frequência de relógio do CPU = Número de ciclos de relógio por segundo CPI = Número de ciclos de relógio necessários para executar uma instrução</p> Signup and view all the answers

A frequência de relógio do CPU (Clock rate) é representada em Hertz (Hz).

<p>True (A)</p> Signup and view all the answers

Explique o conceito de 'barreira de energia' em relação aos CPUs.

<p>A 'barreira de energia' refere-se ao fato de que aumentar a frequência de relógio para melhorar o desempenho implica um consumo de energia significativamente maior, tornando o processador quente e caro para esfriar.</p> Signup and view all the answers

Quais das seguintes opções são alternativas à abordagem tradicional de aumentar a frequência do relógio para melhorar o desempenho do CPU?

<p>Utilizar algoritmos mais eficientes (A), Aumentar o número de 'cores' no processador (B), Utilizar linguagens de programação menos complexas (C), Otimizar o compilador (D)</p> Signup and view all the answers

A arquitetura de um processador com mais de um 'core' é chamada de ______.

<p>multiprocessador</p> Signup and view all the answers

Linguagens de baixo nível são preferíveis para escrever Sistemas Operacionais porque permitem abstrações mais complexas.

<p>False (B)</p> Signup and view all the answers

Qual das seguintes opções NÃO é uma função do Kernel do Sistema Operacional?

<p>Gestão da interface gráfica do usuário (D)</p> Signup and view all the answers

As _____ são como partes pré-feitas que os programadores podem usar para incluir funcionalidades comuns em seus programas, sem se preocupar com os detalhes da implementação.

<p>bibliotecas</p> Signup and view all the answers

Qual das seguintes é uma vantagem dos sistemas multiprocessadores?

<p>Melhoram a eficiência energética, substituindo grandes processadores por vários processadores menores. (D)</p> Signup and view all the answers

A lei de Amdahl afirma que o desempenho de um programa pode ser infinitamente melhorado com o uso de vários processadores se todas as partes do programa forem paralelizáveis.

<p>False (B)</p> Signup and view all the answers

Explique a diferença entre bibliotecas e frameworks em termos de controle de fluxo do programa.

<p>As bibliotecas permitem que o programador controle o fluxo de execução do programa, enquanto os frameworks impõem uma estrutura definida, controlando o fluxo através de uma estrutura pré-definida.</p> Signup and view all the answers

Combine cada componente de um computador com sua função principal:

<p>CPU = Processa as instruções e executa o programa Memória = Armazena temporariamente os dados e instruções durante a execução do programa. Dispositivos de entrada/saída = Permite a interação do usuário com o computador</p> Signup and view all the answers

Quais são os desafios que surgem na construção de programas paralelos?

<p>Os desafios na construção de programas paralelos incluem: o problema de dividir o programa em partes que podem ser executadas em paralelo, distribuir o trabalho equitativamente entre as threads, sincronizar as threads, minimizar a comunicação entre elas e lidar com a complexidade de gerir um número variável de processadores.</p> Signup and view all the answers

O modelo de programação ______ é uma forma comum de programar para multiprocessadores, onde um único programa é executado em vários processadores, com as diferentes partes do programa sendo atribuídas a diferentes processadores.

<p>SPMD</p> Signup and view all the answers

A largura da arquitetura de um computador é medida em bits e define a quantidade de dados que o processador pode ler da memória em uma única instrução.

<p>True (A)</p> Signup and view all the answers

Qual é o elemento mais importante da arquitetura de um computador?

<p>Conjunto de instruções da máquina (D)</p> Signup and view all the answers

Relacione os seguintes modelos de computação paralela com as suas características:

<p>SISD = Um único processador executa um único fluxo de instruções e um único fluxo de dados. MIMD = Vários processadores executam múltiplos fluxos de instruções e múltiplos fluxos de dados. SIMD = Um único fluxo de instruções é aplicado a vários fluxos de dados. SPMD = Um único programa é executado em vários processadores, com diferentes partes do programa sendo atribuídas a diferentes processadores.</p> Signup and view all the answers

O Sistema Operacional é um software que gerencia diretamente o _____ do computador, fornecendo uma interface para os aplicativos e bibliotecas.

<p>hardware</p> Signup and view all the answers

Explique a função do Sistema Operacional na comunicação entre aplicativos e dispositivos externos.

<p>O Sistema Operacional atua como um intermediário, permitindo que os aplicativos se comuniquem com dispositivos externos, como teclado, impressora, etc., através do Kernel.</p> Signup and view all the answers

A maioria dos Sistemas Operacionais modernos já vêm com aplicativos básicos pré-instalados, como editores de texto e calculadoras.

<p>True (A)</p> Signup and view all the answers

Qual é a função principal de um servidor no modelo cliente-servidor?

<p>Receber solicitações e devolver dados aos clientes. (B)</p> Signup and view all the answers

Em uma rede peer-to-peer, todos os computadores são iguais em termos de funções e responsabilidades.

<p>True (A)</p> Signup and view all the answers

Quais são as duas formas principais de fornecimento de serviços em redes peer-to-peer?

<p>Pesquisar em um serviço centralizado ou transmitir (broadcast) para todos os nós.</p> Signup and view all the answers

Em um modelo cliente-servidor, qual é o papel principal do servidor?

<p>Processar informações e enviar dados para os clientes (B)</p> Signup and view all the answers

Em redes peer-to-peer, todos os computadores têm o mesmo poder de processamento.

<p>False (B)</p> Signup and view all the answers

O que é um gargalo em um sistema?

<p>Um gargalo é uma parte do sistema que limita a eficiência ou o desempenho do sistema.</p> Signup and view all the answers

O paralelismo em nível do processador visa melhorar o desempenho do sistema executando ______ independentes ou simultâneos em processadores diferentes.

<p>programas</p> Signup and view all the answers

Combine os termos com as suas definições:

<p>Cliente = Máquina que acessa dados no servidor Servidor = Sistema que fornece serviços centralizados Rede = Conexão entre máquinas cliente e servidor Administrador = Pessoa responsável pela gestão do servidor Solicitação = Mensagem enviada pelo cliente ao servidor Resposta = Mensagem enviada pelo servidor ao cliente Gargalo = Parte do sistema que limita a eficiência</p> Signup and view all the answers

Qual das seguintes opções NÃO é uma característica de uma rede peer-to-peer?

<p>Os serviços são fornecidos por um servidor centralizado (A)</p> Signup and view all the answers

Um microprocessador multicore possui vários processadores (cores) em um único circuito integrado.

<p>True (A)</p> Signup and view all the answers

Em sistemas SMP (processadores e memória partilhada), todos os processadores compartilham ______ único.

<p>um espaço de endereços de memória física</p> Signup and view all the answers

Explique como o paralelismo pode aumentar a velocidade de execução de um programa.

<p>O paralelismo divide uma tarefa em várias subtarefas que são executadas simultaneamente em diferentes processadores. Isso permite que as subtarefas sejam concluídas mais rapidamente, reduzindo o tempo total de execução do programa.</p> Signup and view all the answers

Um programa de processamento paralelo pode ser executado em vários processadores, com cada processador executando uma parte diferente do programa simultaneamente.

<p>True (A)</p> Signup and view all the answers

Qual das seguintes opções descreve melhor o conceito de 'pipelining'?

<p>Dividir uma tarefa em etapas que passam informação entre si. (A)</p> Signup and view all the answers

No topo da hierarquia de memórias encontramos memórias mais lentas e mais baratas.

<p>False (B)</p> Signup and view all the answers

O que é um compilador?

<p>O compilador é um programa que traduz código escrito em uma linguagem de alto nível em instruções que o hardware pode executar.</p> Signup and view all the answers

O __________ é o menor elemento de imagem individual em um ecrã LCD.

<p>pixel</p> Signup and view all the answers

Associe cada componente de saída de dados com sua descrição:

<p>Ecrã = Dispositivo que apresenta visualmente a informação Impressora = Dispositivo que produz cópias físicas de documentos Altifalante = Dispositivo que reproduz som Microfone = Dispositivo que captura som para entrada de dados</p> Signup and view all the answers

Qual é um dos principais objetivos do sistema operativo?

<p>Assegurar a partilha de recursos de computador pelas aplicações. (D)</p> Signup and view all the answers

As camadas de abstração dependem unicamente do hardware.

<p>False (B)</p> Signup and view all the answers

Flashcards

Pipelining

Form of parallelism where tasks with stages run sequentially and pass information among themselves.

Hierarquia de Memórias

Estrutura onde memórias rápidas e caras estão no topo, e memórias lentas e baratas estão embaixo.

Confiabilidade através da Redundância

Uso de componentes redundantes para aumentar a confiabilidade e minimizar falhas do sistema.

Software do Sistema

Programas que fazem a interface entre o usuário e o hardware, como sistemas operativos e compiladores.

Signup and view all the flashcards

Compilador

Traduz código de alto nível em instruções básicas que o hardware pode executar.

Signup and view all the flashcards

Entrada de Dados

Métodos como teclado e microfone usados para inserir informações em um sistema.

Signup and view all the flashcards

Pixel

Menor elemento de imagem individual em um display, como em um LCD.

Signup and view all the flashcards

Vantagens dos multiprocessadores

Substituem grandes processadores ineficientes por muitos menores e eficientes, aumentando a eficiência energética e desempenho escalável.

Signup and view all the flashcards

Melhoria de disponibilidade

Em um sistema multiprocessado, a falha de um processador não interrompe os serviços oferecidos.

Signup and view all the flashcards

Desafio do paralelismo

Criar hardware e software que facilitem a execução paralela de programas.

Signup and view all the flashcards

Lei de Amdahl

O aumento de desempenho é limitado pela parte do programa que não pode ser paralelizada.

Signup and view all the flashcards

Categorização do hardware paralelo

Classificação baseada em fluxos de instruções e dados: SISD, MIMD, SIMD e SPMD.

Signup and view all the flashcards

Largura de Band

Quantidade total de trabalho realizada por um computador em um intervalo de tempo.

Signup and view all the flashcards

Desempenho do CPU

Capacidade do CPU de executar tarefas, relacionada ao tempo e ciclos de relógio.

Signup and view all the flashcards

Ciclo de relógio

Intervalo de tempo mínimo em que o CPU opera.

Signup and view all the flashcards

Frequência de relógio

Número de ciclos de relógio por segundo que o CPU pode realizar.

Signup and view all the flashcards

CPI (Ciclos por Instrução)

Número médio de ciclos de relógio necessários para executar uma única instrução.

Signup and view all the flashcards

Tempo de execução do CPU

Tempo total que o CPU leva para executar um programa.

Signup and view all the flashcards

Fatores que afetam o desempenho do CPU

Frequência do processador, quantidade de instruções e CPI.

Signup and view all the flashcards

Barreira de Energia

Limitações no aumento da frequência do CPU devido ao alto consumo de energia.

Signup and view all the flashcards

Microprocessadores

Processadores que podem ter múltiplas 'cores' para executar tarefas simultaneamente.

Signup and view all the flashcards

Linguagens de baixo nível

Ideais para escrever Sistemas Operacionais, oferecem controle direto sobre hardware.

Signup and view all the flashcards

Bibliotecas

Conjunto de funções pré-feitas que o programador usa em seu código.

Signup and view all the flashcards

Frameworks

Oferecem uma estrutura definida onde o programador deve se adaptar.

Signup and view all the flashcards

Sistemas Operativos (SO)

Software que gerencia hardware e permite comunicação entre apps e o computador.

Signup and view all the flashcards

Kernel

Núcleo do sistema operativo que controla diretamente o hardware.

Signup and view all the flashcards

Escalonamento

Função do kernel que gere a execução de programas e o tempo de utilização do hardware.

Signup and view all the flashcards

Segurança (no kernel)

Organiza a memória RAM durante a execução, garantindo que programas não interfiram.

Signup and view all the flashcards

Entrada e Saída (I/O)

A comunicação direta do kernel com dispositivos de input/output.

Signup and view all the flashcards

Arquitetura de Computador

Abstração que define como o hardware e software interagem em nível básico.

Signup and view all the flashcards

Conjunto de instruções (máquina)

Instruções de nível baixo executadas diretamente pelo hardware.

Signup and view all the flashcards

Servidor

Sistema poderoso que aguarda pedidos de dados.

Signup and view all the flashcards

Cliente

Máquina que permite acesso aos dados do servidor.

Signup and view all the flashcards

Rede

Conexão entre máquinas cliente e servidor.

Signup and view all the flashcards

Congestionamento do servidor

Diminuição da eficiência quando muitos clientes acessam.

Signup and view all the flashcards

Peer-to-peer

Rede onde cada computador funciona como cliente e servidor.

Signup and view all the flashcards

Gargalos

Partes do sistema que limitam eficiência.

Signup and view all the flashcards

Paralelismo

Executar tarefas simultaneamente em diferentes processadores.

Signup and view all the flashcards

Processadores multicore

Microprocessadores com vários núcleos em um único chip.

Signup and view all the flashcards

Sistema multiprocessador SMP

Sistema com um único espaço de memória física compartilhada.

Signup and view all the flashcards

Elusten

Conjunto de computadores conectados em rede como um único multiprocessador.

Signup and view all the flashcards

Study Notes

Tipos de Computadores

  • Computador Pessoal (PC): display gráfico, teclado, software de terceiros, uso individual
  • Servidores: executam programas simultaneamente, acessados via rede, múltiplos utilizadores
  • Super Computadores: alto desempenho, múltiplos processadores, acesso a programas computacionalmente "pesados", custo elevado, configurados como servidores para vários utilizadores
  • Computadores Embedded (incorporados): computadores dentro de outro dispositivo, executam aplicações pré-determinadas, integrados em automóveis, televisões, máquinas de lavar, etc.
  • Dispositivos Móveis (PMD): dispositivos portáteis, conectividade à internet, softwares instalados por download (apps), ex: smartphones , tablets.

Clusters de Servidores

  • Clusters de servidores: formados por vários servidores, usado em centros de dados
  • Computação em nuvem: distribui aplicações por vários computadores do cluster.
  • Saas (Software as a Service): softwares executados na nuvem, acesso pela internet, poupando espaço

Unidades de Informação

  • Bits: dígitos binários (0's e 1's)
  • Bytes: 8 bits
  • KB (Kilobyte), MB (Megabyte), GB (Gigabyte), TB (Terabyte), PB (Petabyte): unidades de informação usadas na conveniência de cálculos, na base binária, usadas por programadores

Oito Grandes Ideias em Arquitetura de Computadores

  • 1ª Lei de Moore: os circuitos integrados duplicam sua capacidade a cada 18-24 meses.
  • Abstração: camadas superiores abstraem os detalhes das camadas inferiores, o software torna-se mais tratável.
  • Rapidez dos casos comuns: investir em casos frequentes e fáceis.
  • Desempenho através do paralelismo: realizar várias operações simultaneamente para maior desempenho.
  • Pipelining: separar uma tarefa em etapas sequenciais e processar as etapas simultaneamente.

Camadas de Abstração

  • Aplicações / Software
  • Sistema operativo Sistemas
  • Compilador
  • Linguagem "assembly"
  • Linguagem máquina

Entrada & Saída

  • Output: ecrã de cristal líquido (LCD), pixel, resolução (pixels na horizontal x verticais), cada pixel com 3 bytes (24 bits).
  • Input: teclado, rato, microfone, ecrã, impressora, altifalantes, caminho de dados, memória, CPU (processador).

CPU

  • Frequência de relógio, Ciclo do CPU, tempo de execução.

Barreira de Energia

  • Frequência do relógio está diretamente relacionada à energia necessária para o funcionamento do CPU.
  • Uniprocessadores vs. Multiprocessadores: dificuldade em processar tudo em simultâneo.
  • Benchmark: conjunto de programas, para testes e comparação do desempenho de computadores.

Leis de Amdahl

  • Aumento do desempenho possível em um sistema é limitado pelo grau de uso dessa melhoria.

Máquinas de Estados

  • Representam sistemas com um número limitado de estados.
  • Diagramas de transição de estados: mostram as mudanças de estados e as transições entre eles.

Abstração e Comunicação entre Camadas

  • Níveis de abstração em um computador.
  • Aplicações, linguagens, bibliotecas, sistemas operativos.
  • Aplicações, circuitos integrados, portas lógicas.

Aplicações (Software)

  • Programas utilizados pelos utilizadores.
  • Linguagens de programação: permitem aos programadores criar programas e softwares.
  • Linguagens de alto nível: abstração, conceitos afastados dos detalhes do hardware.
  • Linguagem de baixo nível: proximidade ao hardware.

Bibliotecas Vs. Frameworks

  • Bibliotecas: o programador tem o controlo (flexibilidade).
  • Frameworks: o framework controla a estrutura (menos flexibilidade).

Sistemas Operativos (SO)

  • Gerencia o computador.
  • A maior parte dos SO já inclui aplicações básicas, como editor de texto e calculadora.
  • Kernel: núcleo do sistema operativo.
  • Escalonamento: garante que as tarefas sejam executadas de forma eficiente.

Paralelismo

  • Multiprocessador: Sistema com dois ou mais processadores.
  • Paralelismo em nível de processamento/tarefa: executar programas simultaneamente em processadores diferentes.
  • Programação paralela: programar um programa para ser executado simultaneamente.
  • Cluster: conjunto de computadores ligados em rede.

Construção de Programas Paralelos

  • Divisão do programa em partes que podem ser executadas em paralelo.
  • Sincronização de threads: evitar que os processadores interfiram uns nos outros.
  • Minimizar a comunicação: reduzir a necessidade de troca de dados.

Multithreading no Hardware

  • Threads partilham as unidades funcionais do processador.
  • Threads mais leves do que processos, partilham o mesmo contexto de memória.
  • Multithreading: forma de otimizar o processador e reduzir o tempo de espera quando threads sofrem interrupções.
  • Multithreading, variações quanto a tempo de interrupções
  • SMP (Shared memory multiprocessor): Espaço de memórias partilhado.

Organização CLÁSSICA de um SMP

  • Processadores, caches, conectividade, memória, I/O.
  • Modelos de memória: UMA, NUMA (acessível a todos).
  • Comunicação entre processadores: uso comum de memória (e caches associados).

Unidades de Processamento Gráfico (GPU)

  • GPU é altamente paralela, com diversos processadores.
  • Mais velozes em tarefas específicas que requerem muitos cálculos, como jogos e processamento de imagens.
  • Complementam a CPU, não substituem.
  • Multithreading como forma de aumentar seu desempenho.

Clusters e Computação de Grande Escala

  • Clusters são formados por vários computadores trabalhando em conjunto,
  • Geralmente com um sistema de comunicação eficiente e partilham memória.

POS – Computação na Nuvem

  • Diferentes modelos de computação na nuvem são oferecidas a diversos níveis.
  • Infraestrutura, plataforma e aplicativo.
  • Benchmarks de Desempenho: programas para testar os sistemas.
  • Modelos de Desempenho: usados para medir os resultados, com diferentes parâmetros e pontos de medição.

Introdução: Administração de Sistemas

  • Planear, criar redes e garantir backups.
  • Administrar contas de utilizador, softwares, segurança.
  • Objetivos: garantir um ambiente de trabalho eficaz, seguro e eficiente para os utilizadores.

O Suporte de Utilizador

  • Acesso à informação e recursos do sistema, para as tarefas dos utilizadores.
  • Diferença entre contas normais e de superutilizador.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Resumo SC Efolio Global PDF

More Like This

Use Quizgecko on...
Browser
Browser