Exercícios (Ian Foster s Book)

Tamanho: px
Começar a partir da página:

Download "Exercícios (Ian Foster s Book)"

Transcrição

1 Exercícios (Ian Foster s Book) 1) If today's workstations execute at operations per second, and performance increases at a rate of 25 percent per year, how long will it be before we have workstations capable of operations per second? 2) A climate model requires floating point operations for a ten-year simulation. How long would this computation take at floating point operations per second (10 Mflops)? 3) A climate model generates bytes of data in a ten-day simulation. How fast must data be transferred to secondary storage? What transfer rate is required if we are to search this data in ten minutes?

2 Aspectos Explorados pelo Modelo O modelo deve ser capaz de oferecer facilidades tais que seja fácil: Decompor o programa em tarefas paralelas Mapear as tarefas nos processadores físicos custo de comunicação heterogeneidade dos processadores Sincronização entre tarefas: é preciso ter conhecimento do estado global da estrutura de execução do programa (quando é necessário sincronizar?)

3 Abstraindo para Programar Maior facilidade de programação: o esforço intelectual é reduzido quando nos concentrarmos em "uma coisa de cada vez duas dimensões: dimensão espacial dimensão temporal

4 Dimensão Espacial A cada momento, conjuntos de tarefas independentes são implementadas cada tarefa ou processador não sabe o que acontecerá "a seguir" detalhamento de informações globais levam a uma programação difícil Dimensão Temporal programas são composições de ações seqüenciais que preenchem o sistema computacional como um todo: pode-se definir com maior conhecimento o que vai acontecer a seguir

5 Níveis de Paralelismo Dependendo do nível considerado, a exploração do paralelismo é diferente nível de aplicações ou fases de aplicações a nível de tarefas a nível de instruções - a execução da instrução necessita da busca, análise e execução propriamente dita dentro dos circuitos aritméticos

6 Algoritmos Quando queremos resolver um problema computacionalmente, temos que analisar a complexidade deste. No domínio seqüencial, se procura definir um algoritmo que resolva o problema em tempo mínimo. Mas quando se tratando de algoritmos paralelos, mais um parâmetro número de processadores operações independentes devem ser executadas em paralelo. qual o tamanho dos processos? noção de granulosidade (granularity) a razão entre o tempo de computação necessário para executar uma tarefa e a sobrecarga de comunicação durante essa computação.

7 Modelos de Computação Modelo de Computação Seqüencial: von Neumann plataforma base para que usuários e projetistas complexidade de tempo do pior caso: tempo máximo que o algoritmo pode levar para executar qualquer entrada com n elementos complexidade de tempo esperado: complexidade média critério de custo uniforme: qualquer instrução RAM leva uma unidade de tempo para ser executada e também o acesso a registradores Modelo de Computação Paralela O desempenho do programa paralelo depende de certos fatores dependentes da máquina: grau de concorrência; escalonamento e alocação de processadores; comunicação e sincronização.

8 Modelo PRAM modelo ideal conjunto de p processadores operando sincronamente sob o controle de um único relógio, compartilhando um espaço global de memória algoritmos desenvolvidos para este modelo geralmente são do tipo SIMD todos os processadores executam o mesmo conjunto de instruções, e ainda a cada unidade de tempo, todos os processadores estão executando a mesma instrução mas usando dados diferentes.

9 Modelo PRAM modelo ideal propriedades chaves: execução síncrona sem nenhum custo adicional para a sincronização comunicação realizada em uma unidade de tempo, qualquer que seja a célula de memória acessada comunicação é feita usando a memória global

10 Passo do algoritmo PRAM fase de leitura: os processadores acessam simultaneamente locais de memória para leitura. Cada processador acessa no máximo uma posição de memória e armazena o dado lido em sua memória local fase de computação: os processadores executam operações aritméticas básicas com seus dados locais fase de gravação: os processadores acessam simultaneamente locais de memória global para escrita. Cada processador acessa no máximo uma posição de memória e grava um certo dado que está armazenado localmente

11 Modelo PRAM análise e estudo de algoritmos paralelos definição de paradigma de programação paralela avaliação do desempenho desses algoritmos independentemente das máquinas paralelas se o desempenho de um algoritmo paralelo para o modelo PRAM não é satisfatório, então não tem sentido implementá-lo em qualquer que seja a máquina paralela se eficiente, no entanto, podemos simulá-lo em uma máquina real : simulação deve ser eficiente

12 Padrões de Acesso no Modelo PRAM Exclusive Read (ER): vários processadores não podem ler ao mesmo tempo no mesmo local Exclusive Write (EW): vários processadores não pode escrever no mesmo local de memória Concurrent Read (CR): vários processadores podem ler ao mesmo tempo o mesmo local de memória Concurrent Write (CW): vários processadores podem escrever no mesmo local de memória ao mesmo tempo Combinações são usadas para formar as variantes do PRAM: EREW, CREW, ERCW e CRCW

13 Prioridades do CRCW Para resolver conflitos no caso de vários processadores tentarem escrever ao mesmo tempo no mesmo local de memória global: Comum - vários processadores concorrem a escrita no mesmo local de memória global durante o mesmo instante de relógio - todos devem escrever o mesmo valor; Arbitrário - dentre os vários processadores, um é selecionado arbitrariamente e seu valor armazenado no local de memória disputado; Prioridade - dentre os vários processadores, aquele com o menor índice é escolhido para escrever o seu valor no local concorrido.

14 Memória Global P 1 P 2 P 3 P 4 P n

15 Comunicação em uma máquina PRAM Comunicação através da memória global: Pi quer passar x para Pj Pi escreve x em um local de memória global em um determinado passo Pj pode acessar o dado naquele local no próximo passo

16 Memória compartilhada P 1 P 2 d1 d 1 d 2 P 3 d 3 P n d n Passo 1: cada processador realiza sua computação

17 Memória compartilhada d 1 P 1 P 2 d1 d 1 d 2 P 3 d 3 P n d n Passo 1: P 1 escreve na memória

18 Observações os processadores operam sincronamente: a cada passo, todas os processadores executam a mesma instrução sobre dados distintos uma instrução pode ser simplesmente uma operação aritmética ou uma comparação de dois números processadores ativos: somente um subconjunto de processadores executem uma instrução e processadores restantes ficam ociosos/inativos

19 Exemplo V vetor com n elementos. x um dado valor Problema: x V? Ambiente: P processadores tipo EREW PRAM Analisando o problema: todos os processadores tem que saber o valor de x não podem acessar a célula de x simultaneamente depois, cada processador tem que olhar os elementos de V sinalização da localização do valor x no vetor V

20 Solução todos os processadores devem saber sobre x: broadcasting ou difusão Pior caso deste procedimento log 2 P passos P1 acessa a memória global: P2 comunica com P1 ou seja, de alguma forma, P1 informa x para P2 P1 e P2 informam x para P3 e P4 assim por diante processadores não têm permissão de acesso simultâneo gravam x em lugares distintos: M i é um dos P locais de memória global Um vetor M auxiliar é utilizado

21 Solução do broadcasting (leitura) P 1 lê x P 1 escreve x em M 1 P 2 lê M 1 P 2 escreve em M 2 P 3 e P 4 lêem M 1 e M 2 P 3 e P 4 escrevem em M 3 e M 4 P 5, P 6, P 7 e P 8 lêem M 1, M 2, M 3 e M 4 P 5, P 6, P 7 e P 8 escrevem M 5, M 6, M 7 e M 8 e assim por diante a cada passo: duas vezes o número de processadores ativos do passo anterior podem ler e escrever log P passos

22 broadcasting P 1 lê de x; P 1 escreve em M[1]; Para h:= 1 até log P faça { se 2 h-1 < i 2 h então { P i lê de M[i - 2 h-1 ]; P i escreve em M[i]; } }

23 Memória compartilhada x x x x x M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 x x x x x x PASSO 1 PASSO 2 PASSO 3 PASSO 4

24 A Procura o vetor V é divido em P pedaços: S1, S2,, SP Pi procura por x em Si pior caso: n/p passos Total: log P + n/p passos, no pior caso Como o algoritmo poderia ser melhorado?? Definição de uma variável Achou Com computador mais poderoso algoritmo mais rápido.

25 PRAM mais poderoso: CREW PRAM para achar x, o algoritmo executa n/p passos leituras concorrentes são permitidas todos os processadores podem acessar x em um passo todos os processadores podem consultar Achou em um passo mas ao encontrar, o processador tem que atualizar Achou Quantos passos nas seguintes situações? somente um dos elementos tem valor x x pode ser um valor repetido em V mais de um processador pode atualizar Achou simultaneamente.

26 Relações entre Modelos EREW PRAM mais fraco CREW PRAM pode executar EREW na mesma quantidade de tempo simplesmente leituras concorrentes não são feitas CRCW PRAM pode executar EREW na mesma quantidade de tempo simplesmente leituras concorrentes não são feitas

27 Simulando Múltiplos Acessos em EREW um só processador determinado instante pode acessar a um local de memória a em um o modelo é bastante flexível pode ser executado em qualquer outra PRAM permite a simulação de múltiplos acessos mesmo que o espaço de armazenamento aumente ou o tempo de execução aumente

28 Simulando Múltiplos Acessos em EREW Por que a simulação? O simulação pode ser necessária caso uma das razões aconteça: se os computadores paralelos disponíveis são do tipo EREW - então executar algoritmos tipo: CREW e CRCW através de simulação para computadores paralelos com um grande número de processadores: o número de processadores que podem acessar a um mesmo local de memória simultaneamente é limitado

29 Simulando CW comum em um EREW N acessos simultâneos por um EREW PRAM por N processos no mesmo local leituras simultâneas: valor difundido, conforme já descrito: log N passos escritas simultâneas: procedimento simétrico à difusão CW comum: todos processadores podem escrever no mesmo local de memória global se o valor for o mesmo. Suponha que P i queira escrever o valor a i (1 i N) variável auxiliar para cada processador P i : b i

30 Simulando CW comum em um EREW!????! É que vamos chamar de redução: comparamos vários para chegar a uma resposta! Precisamos de uma variável auxiliar?

31 Modelos Fortes e Fracos O que quer dizer mais forte? Se um algoritmo é simulado em um modelo mais fraco, o número de passos pode aumentar CR N leituras podem ser feitas concorrentemente ER uma leitura é feita por mais de uma passo [EcKstein,1979][Vishkin,1983] p processadores CRCW com prioridade, é simulado por um EREW PRAM com complexidade de tempo aumentado por um fator Θ (log p). em um CRCW com prioridade, os acessos simultâneos seria imediatos, mas não no EREW

32 Algoritmos PRAM para um problema: se um algoritmo PRAM tem complexidade de tempo menor que a do algoritmo seqüencial ótimo, então o paralelismo pode ser usado Como iniciar um algoritmo PRAM: ativar os P processadores que farão parte da computação os processadores serem ativados um a um através do algoritmo de difusão: log P passos depois da ativação, o algoritmo paralelo pode ser executado

33 Identificando Paralelismo paradigmas de computação paralela algoritmos aqui falados consideram o modelo PRAM. Exemplos: Árvore Binária: o fluxo de dados (e controle) se dá da raiz até as folhas Difusão: a partir de um processador, o fluxo (controle ou dados) passa para dois processadores e assim, dobrando a cada iteração. Divisão e Conquista: um problema é subdividido em subproblemas cada vez menores ou contrário, das folhas até a raíz: Redução: dado n valores, a operação X é uma binária associativa

34 Redução: Soma soma de n elementos: A = < 4, 3, 8, 2, 9, 1, 0, 5, 6, 3, 10, 2, 4, 7, 11, 3> Soma_PRAM_Pi (){ Para ( 1 h log n ) faça se ( i n/2 h ) faça A[i] := A[2i] + A[2i -1]; } A[i] := A[2i] + A[2i -1]; leitura: A[2i] e A[2i -1]; computa: A[2i] + A[2i -1]; escreve: A[i]

35 Memória compartilhada P 1 P 2 P 3 P 4 P 5 P 6 P 7 P

36

37 Redução: Soma primeiro loop: não há necessidade de mais do que n/2 processadores processadores acessam dois locais de memória simultaneamente, mas distintos processadores escrevem em um local de memória (cada) simultaneamente, mas distintos para somar, log n iterações são necessárias, cada uma tem tempo constante Complexidade do Algoritmo: O ( log n) com O ( n/2 ) processadores

38 Exercícios Capitulo I do Jájá exercícios 1.5 e 1.8

39 Noções de Complexidade Existem algoritmos PRAM cuja complexidade de tempo é menor do que o algoritmo correspondente seqüencial ótimo, mas podem desempenhar mais operações do que o seqüencial Complexidade de tempo do pior caso em função do tamanho da entrada. Cada passo corresponde: uma fase de computação uma fase de comunicação é importante especificar o número máximo de processadores usados, como função da entrada o modelo arquitetural sendo usado

40 Noções de Complexidade Paralelismo Limitado algoritmo p-paralelo se implementado em um modelo com p processadores, fixo T(n) e P(n): o tempo de execução e a quantidade de processadores do algoritmo paralelo se o número de passos é T(n) considerando p processadores, então esse algoritmo é p computável neste tempo se T(n) é polinomial e p é limitado superiormente por polinômio, então o número de processadores é limitado polinomialmente, senão, ilimitado

41 Algumas Definições A - algoritmo paralelo n - o tamanho da entrada Custo do Algoritmo Paralelo produto tempo-processador T(n) P(n) ignora ociosidade de processador Algoritmo paralelo de custo ótimo: T s = T(n) P(n) T s o tempo de execução do melhor algoritmo seqüencial p < P(n) processadores: cada processador executa sequencialmente o que P(n)/ p processadores executam T(n) P(n)/p unidades de tempo

42 Algumas Definições Speedup, dado o número de processadores p Se o S(A(n),p) é linear então todos os processadores são efetivamente utilizados difícil de ser alcançado devido a natureza dos algoritmos e do ambiente computacional paralelo difícil decompor o algoritmo em tarefas completamente independentes, onde cada tarefa leva T s /p unidades de tempo para ser executada

43 Algumas Definições Eficiência do algoritmo paralelo razão entre S(A(n),p) e o número de processadores p E(A(n),p) = S(A(n),p)/p mostra como os processadores são efetivamente utilizados: quanto maior, melhor a utilização de cada processador se E(A(n),p) = 1 o algoritmo paralelo é de custo ótimo (por que?)

44 Algumas Definições Eficiência do algoritmo paralelo razão entre S(A(n),p) e o número de processadores p E(A(n),p) = S(A(n),p)/p mostra como os processadores são efetivamente utilizados: quanto maior, melhor a utilização de cada processador se E(A(n),p) = 1 o algoritmo paralelo é de custo ótimo (por que?) E(A(n),p) = S(A(n),p)/p E(A(n),p) = (Ts/Tp)/p " sendo de custo ótimo, Ts = Tp p, então: E(A(n),p) = (Tp p /Tp)/p = 1

45 Algumas Definições Trabalho de um Algoritmo Paralelo um algoritmo é descrito como uma seqüência de unidades de tempo, onde em cada unidade um conjunto de instruções concorrentes trabalho de um algoritmo paralelo é o número total de operações executadas, não incluindo os tempos ociosos de certos processadores são somadas, a cada unidade de tempo, o número de operações concorrentes podem estar sendo executadas

46 Exemplo: soma de n elementos T(n) e P(n): n/2 processadores executam em O(log n) unidades de tempo Custo de O(n log n) em O(log n) unidades de tempo Usando p < P(n) processadores: O(n log n/p) 1a unidade de tempo - n/2 operações (somas em paralelo) 2a unidade de tempo - n/4 operações (somas em paralelo) 3a unidade de tempo - n/8 operações (somas em paralelo)... j-ésima unidade de tempo - n/2j operações Total de operações: O(log n) n/2 j = O(n)

47 Reduzindo o número de processadores Princípio de Brent Qualquer algoritmo paralelo com complexidade de tempo T(n) usando um número suficientemente grande de processadores e que ainda consistindo de O(e) operações elementares, pode ser implementado em p processadores com complexidade de tempo O( e/p + T(n)) Prova??

48 Unidade de Tempo Total de Operações: e Total de Processadores: p P 1 P P 2 k P p Número de Operações 1 e 1 2 e e e 4... T(n) e T Tempo Total

49 Fixando o número de processadores: soma de n elementos Seja um modelo PRAM com p = 2 q n = 2 k processadores: P 1,..., P p proponha um algoritmo paralelo para p processadores

50 Fixando o número de processadores: soma de n elementos Seja um modelo PRAM com p = 2 q n = 2 k processadores: P 1,..., P p Seja l = n/p = 2 s é responsável por A[l(s - 1) + 1],., A[ls] cada elemento é um vértice de uma árvore binária o número de computações concorrentes corresponde ao número de vértices em cada nível dividido pelos processadores disponíveis Análise do Algoritmo Seja o algoritmo em que n elementos são somados usando p processadores (Obs.: O algoritmo só considera o trabalho de um dado processador P s : primeiro passo: O(n/p) unidades de tempo segundo passo?

51 Soma de n Elementos (JáJá) algoritmo do processador Ps Soma_Paralela_Ps ( A, p ){ for j =1 to l do /* l = n/p */ B(l(s - 1) + j): =A(l(s - 1) + j); for h = 1 to log n do if (k - h - q 0) then for j = 2 k-h-q (s - 1) + 1 to 2 k-h-q s do B(j): = B(2j - 1) + B(2j); else if (s 2 k-h ) then B(s): = B(2s - 1) + B(2s); if (s = l) then S: = B(1); }

52 O que acontece com N = 8 e p = 2? (passo a passo) Soma_Paralela_Ps ( A, p ){ for j =1 to l do /* l = n/p */ B(l(s - 1) + j): =A(l(s - 1) + j); for h = 1 to log n do if (k - h - q 0) then for j = 2 k-h-q (s - 1) + 1 to 2 k-h-q s do B(j): = B(2j - 1) + B(2j); else if (s 2 k-h ) then B(s): = B(2s - 1) + B(2s); if (s = l) then S: = B(1); }

53 Memória compartilhada P 1 P 2 P 3 P

54 Modelando soma paralela de n números

55 Perguntas: qual o número de operações? qual o trabalho? qual o custo complexidade? tipo do PRAM? teria alguma outra versão com um menor de trabalho ou custo? qual o número de comunicações? 1 Responda as perguntas considerando as duas versões discutidas na sala de aula 2 especificar o pseudo-algoritmo da segunda versão discutida.

56 Implementação I soma de n números através de threads, implementar a soma de n números - em um número qualquer de processadores - em um número fixo de processadores vantagens e desvantagens?

Modelo de Programação Paralela

Modelo de Programação Paralela Modelo de Programação Paralela As arquiteturas paralelas e distribuídas possuem muitos detalhes Como especificar uma solução paralela pensando em todos esses detalhes? O que queremos? Eecutar a solução

Leia mais

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina

Leia mais

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5 Cristina Boeres Introdução! Diferença de velocidade entre Processador e MP O processador executa uma operação rapidamente e fica em

Leia mais

Arquiteturas Paralelas

Arquiteturas Paralelas ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Arquiteturas Paralelas Medidas de desempenho Alexandre Amory Edson Moreno Índice 2 1. Introdução 2. Medidas de Desempenho Introdução 3 Aumento de desempenho dos

Leia mais

Análise de complexidade

Análise de complexidade Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 13: Ordenação: MergeSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: [email protected]

Leia mais

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS 1/18 ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS Algoritmos 2/18 Algoritmos Algoritmo - sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador)

Leia mais

Algoritmos Paralelos usando CGM/MPI: Uma Introdução. Edson Norberto Cáceres e Siang Wun Song DCT/UFMS e DCC/IME/USP DCC-IME-USP - Aula 02

Algoritmos Paralelos usando CGM/MPI: Uma Introdução. Edson Norberto Cáceres e Siang Wun Song DCT/UFMS e DCC/IME/USP DCC-IME-USP - Aula 02 Algoritmos Paralelos usando CGM/MPI: Uma Introdução Edson Norberto Cáceres e Siang Wun Song DCT/UFMS e DCC/IME/USP DCC-IME-USP - Aula 02 Aula 2 - Objetivos Introduzir o conceito de um sistema de computação

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Aula 01 Complexidade de Algoritmos Edirlei Soares de Lima O que é um algoritmo? Um conjunto de instruções executáveis para resolver um problema (são

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora

Leia mais

Arquitetura e Organização de Processadores. Aula 4. Pipelines

Arquitetura e Organização de Processadores. Aula 4. Pipelines Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 4 Pipelines 1. Introdução Objetivo: aumento de

Leia mais

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES Tecnologia da informação e comunicação UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES CICLO DE INSTRUÇÕES OU DE EXECUÇÃO Arquitetura de computadores 2 CICLO DE EXECUÇÃO No inicio de cada ciclo de instrução,

Leia mais

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão [email protected] Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de

Leia mais

Computadores e Programação (DCC/UFRJ)

Computadores e Programação (DCC/UFRJ) Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo

Leia mais

Memória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP

Memória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP Departamento de Ciência da Computação - UFF Memória Cache Profa. Débora Christina Muchaluat Saade [email protected] Memória Cache Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade

Leia mais

Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache

Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade Funcionamento da memória cache Elementos de projeto de memória cache Mapeamento de dados MP/cache Algoritmos de substituição de dados

Leia mais

Pointer Jumping. odg(v) e idg(v): graus de saída e entrada do vértice v V. um vértice r tal que. O vértice r é dita raíz de T

Pointer Jumping. odg(v) e idg(v): graus de saída e entrada do vértice v V. um vértice r tal que. O vértice r é dita raíz de T Pointer Jumping T = (V,E) : árvore direcionada odg(v) e idg(v): graus de saída e entrada do vértice v V um vértice r tal que v V-{r}, odg(v) = 1, odg(r)=0 v V-{r}, um caminho de v a r O vértice r é dita

Leia mais

Introdução à Ciência da Computação II

Introdução à Ciência da Computação II Introdução à Ciência da Computação II 2semestre/200 Prof Alneu de Andrade Lopes Apresentação com material gentilmente cedido pelas profas Renata Pontin Mattos Fortes http://wwwicmcuspbr/~renata e Graça

Leia mais

Computação Paralela 1

Computação Paralela 1 Computação Paralela 1 Nivio Ziviani 1 Conjunto de transparências elaborado por Nivio Ziviani e João Caram Projeto e Análise de Algoritmos - Nivio Ziviani 1 Computação Paralela Processo de resolver problemas

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java Aula 12 - Threads e Concorrência em Java Conteúdo Programático desta aula Aplicar os conceitos e threads, processos concorrentes e sincronização em pequenos programas. Aplicar e verificar os conceitos

Leia mais

Programação Estruturada Aula - Introdução a Linguagem de Programação

Programação Estruturada Aula - Introdução a Linguagem de Programação Programação Estruturada Aula - Introdução a Linguagem de Programação Prof. Flávio Barros [email protected] www.flaviobarros.com.br ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR 2 ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR

Leia mais

SSC510 Arquitetura de Computadores. 6ª aula

SSC510 Arquitetura de Computadores. 6ª aula SSC510 Arquitetura de Computadores 6ª aula PARALELISMO EM NÍVEL DE PROCESSOS PROFA. SARITA MAZZINI BRUSCHI Tipos de Paralelismo Instrução (granulosidade fina) Paralelismo entre as instruções Arquiteturas

Leia mais

Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo

Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo [email protected] www.tiagodemelo.info Observações O conteúdo dessa aula é parcialmente proveniente do Capítulo 11 do livro Fundamentals of

Leia mais

Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais. Adão de Melo Neto Sistemas Operacionais Adão de Melo Neto 1 Computador Digital (Hardware) 2 Computador Digital Constituído por um conjunto de componentes interligados (hardware): processadores, memórias, registradores,

Leia mais

Aula 16: UCP: Conceitos Básicos e Componentes

Aula 16: UCP: Conceitos Básicos e Componentes Aula 16: UCP: Conceitos Básicos e Componentes Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 1 / 34

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani) Arquitetura de Computadores Professor: Vilson Heck Junior (Material: Douglas Juliani) Agenda Conceitos Componentes Funcionamento ou tarefas Otimização e desempenho Conceitos Componente de Hardware que

Leia mais

Processador: Conceitos Básicos e Componentes

Processador: Conceitos Básicos e Componentes Processador: Conceitos Básicos e Componentes Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF)

Leia mais

Arranjo de Processadores

Arranjo de Processadores Um arranjo síncrono de processadores paralelos é chamado arranjo de processadores, consistindo de múltiplos elementos processadores (EPs) sob a supervisão de uma unidade de controle (UC) Arranjo de processadores

Leia mais

Complexidade de algoritmos Notação Big-O

Complexidade de algoritmos Notação Big-O Complexidade de algoritmos Notação Big-O Prof. Byron Leite Prof. Tiago Massoni Engenharia da Computação Poli - UPE Motivação O projeto de algoritmos é influenciado pelo estudo de seus comportamentos Problema

Leia mais

Organização de Sistemas Computacionais Processadores: Organização da CPU

Organização de Sistemas Computacionais Processadores: Organização da CPU Universidade Paulista UNIP Curso: Ciências da Computação Turma: CCP30 Turno: Noturno Disciplina: Arquitetura de Computadores Professor: Ricardo Loiola Alunos: Thiago Gomes dos Santos Matrícula: C63873-0

Leia mais

Arquiteturas de Sistemas de Processamento Paralelo. Arquiteturas SIMD

Arquiteturas de Sistemas de Processamento Paralelo. Arquiteturas SIMD Universidade Federal do Rio de Janeiro Pós-Graduação em Informática DCC/IM - NCE/UFRJ Arquiteturas de Sistemas de Processamento Paralelo Arquiteturas SIMD Arquiteturas SIMD Processadores Vetoriais Arquiteturas

Leia mais

Complexidade de Tempo e Espaço

Complexidade de Tempo e Espaço Complexidade de Tempo e Espaço Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Complexidade de Tempo e Espaço junho - 2018 1 / 43 Este material é preparado usando

Leia mais

Técnicas de Projeto de Algoritmos

Técnicas de Projeto de Algoritmos UNIVERSIDADE NOVE DE JULHO - UNINOVE Pesquisa e Ordenação Técnicas de Projeto de Algoritmos Material disponível para download em: www.profvaniacristina.com Profa. Vânia Cristina de Souza Pereira 03 _ Material

Leia mais

Aula 10: Tratabilidade

Aula 10: Tratabilidade Teoria da Computação DAINF-UTFPR Aula 10: Tratabilidade Prof. Ricardo Dutra da Silva Na aula anterior discutimos problemas que podem e que não podem ser computados. Nesta aula vamos considerar apenas problemas

Leia mais

2. Complexidade de Algoritmos

2. Complexidade de Algoritmos Introdução à Computação II 5952011 2. Complexidade de Algoritmos Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2.1. Introdução 2.1.1. Revisão de Pseudo-Código 2.1.2.

Leia mais

Teoria da Computação Aula 9 Noções de Complexidade

Teoria da Computação Aula 9 Noções de Complexidade Teoria da Computação Aula 9 Noções de Complexidade Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Análise de um Algoritmo em particular Qual é o custo de usar um dado algoritmo para resolver um

Leia mais

Algoritmos Paralelos Introdução (Jaja)

Algoritmos Paralelos Introdução (Jaja) Algoritmos Paralelos Introdução (Jaja) Programação distribuída e paralela (C. Geyer) Algoritmos Paralelos 1 Autoria! Autores " C. Geyer! Local " II-UFRGS " Disciplina: Programação Distribuída e Paralela

Leia mais

Aula 12: Memória: Barramentos e Registradores

Aula 12: Memória: Barramentos e Registradores Aula 12: Memória: Barramentos e Registradores Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Memória: Barramentos e Registradores FAC 1 / 34

Leia mais

Teoria da Computação. Computabilidade e complexidade computacional

Teoria da Computação. Computabilidade e complexidade computacional Teoria da Computação Computabilidade e complexidade computacional 1 Computabilidade e Complexidade Computabilidade: verifica a existência de algoritmos que resolva uma classe de linguagens trata a possibilidade

Leia mais

Cálculo da árvore binária de busca ótima usando MPI

Cálculo da árvore binária de busca ótima usando MPI Cálculo da árvore binária de busca ótima usando MPI 1. O Algoritmo Adriano Medeiros 1, André Murbach Maidl 1 1 Programação Concorrente/Paralela - PUC-Rio 1 [email protected], [email protected] O

Leia mais

Linguagens de Programação

Linguagens de Programação Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.

Leia mais

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é 1. A pastilha do processador Intel 80486 possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é organizado com mapeamento associativo por conjuntos de quatro

Leia mais

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo

Leia mais

Construção de Algoritmos II Aula 06

Construção de Algoritmos II Aula 06 exatasfepi.com.br Construção de Algoritmos II Aula 06 André Luís Duarte Porque mil anos são aos teus olhos como o dia de ontem que passou, e como a vigília da noite. Salmos 90:4 Recursividade e complexidade

Leia mais

Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa

Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa Ordenação Externa Ordenação Externa Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação

Leia mais

Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP

Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo estudo

Leia mais

Unidade de Controle. UC - Introdução

Unidade de Controle. UC - Introdução Unidade de Controle Prof. Alexandre Beletti (Cap. 3 Weber, Cap.8 Monteiro, Cap. 10,11 Stallings) UC - Introdução Para gerenciar o fluxo interno de dados e o instante em que ocorrem as transferências entre

Leia mais

Caracterização de Sistemas Distribuídos

Caracterização de Sistemas Distribuídos Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes

Leia mais

Análise de Problemas Recursivos. Algoritmos e Estruturas de Dados Flavio Figueiredo (

Análise de Problemas Recursivos. Algoritmos e Estruturas de Dados Flavio Figueiredo ( Análise de Problemas Recursivos Algoritmos e Estruturas de Dados 2 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Lembrando de Recursividade Procedimento que chama a si mesmo Recursividade permite

Leia mais

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação MULTIPROCESSADORES

Leia mais

Unidade 3. Controle de Concorrência. Primitivas de Programação Concorrente Clássica

Unidade 3. Controle de Concorrência. Primitivas de Programação Concorrente Clássica Unidade 3 Controle de Concorrência Primitivas de Programação Concorrente Clássica Programação Concorrente A abstração de programação concorrente é o estudo de sequênciasde execução intercaladas, de instruções

Leia mais

Sistemas Multiprogramáveis/Multitarefa

Sistemas Multiprogramáveis/Multitarefa Sistemas Multiprogramáveis/Multitarefa - Programas submetidos são armazenados em fitas/discos onde são executado sequencialmente -A UCP pode processar seqüencialmente cada job (tarefa), diminuindo o tempo

Leia mais

MC-102 Aula 01. Instituto de Computação Unicamp

MC-102 Aula 01. Instituto de Computação Unicamp MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2016 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira [email protected] INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável

Leia mais

Juliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação

Juliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação Universidade Federal de Santa Maria Disciplina de Teoria da Computação Quais são as capacidades e limitações fundamentais dos computadores? Funções Computáveis Algoritmo: descrição finitade uma computação

Leia mais

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos Sistemas operacionais modernos criam vários processadores virtuais, cada um para executar um programa. Para monitorar

Leia mais

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 02 Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação QUAIS SÃO OS COMPONENTES BÁSICOS DO HW DE UM SISTEMA COMPUTACIONAL?

Leia mais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada [email protected], [email protected] Grafos e Algoritmos Preparado a partir do texto: Rangel, Socorro.

Leia mais

Estruturas de Dados 2

Estruturas de Dados 2 Estruturas de Dados 2 Técnicas de Projeto de Algoritmos Dividir e Conquistar IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/83 Projeto de Algoritmos por Divisão

Leia mais

ALGORITMOS AVANÇADOS. UNIDADE III Algoritmo de Ordenação por Intercalação (Mergesort) Luiz Leão

ALGORITMOS AVANÇADOS. UNIDADE III Algoritmo de Ordenação por Intercalação (Mergesort) Luiz Leão UNIDADE III Algoritmo de Ordenação por Intercalação (Mergesort) Luiz Leão [email protected] http://www.luizleao.com Conteúdo Programático 3.1 - Definição 3.2 - Dividir para conquistar 3.3 - Problema da

Leia mais

COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1

COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1 COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1 Márcia Da Silva 2, Igor Gamste Haugg 3, Eliézer Silveira Prigol 4, Édson L. Padoin 5, Rogério S. M. Martins

Leia mais

ESTRUTURAS DE DADOS E ALGORITMOS APRESENTAÇÃO DO CURSO E INTRODUÇÃO

ESTRUTURAS DE DADOS E ALGORITMOS APRESENTAÇÃO DO CURSO E INTRODUÇÃO ESTRUTURAS DE DADOS E ALGORITMOS APRESENTAÇÃO DO CURSO E INTRODUÇÃO Adalberto Cajueiro ([email protected]) Departamento de Sistemas e Computação Universidade Federal de Campina Grande 1

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Parte 1 Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 04 Algoritmos e Estruturas de Dados I Qual a diferença entre um algoritmo e um programa? Como escolher o algoritmo

Leia mais

Aula 13: Memória Cache

Aula 13: Memória Cache Aula 13: Memória Cache Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Memória: Memória Cache FAC 1 / 53 Memória Cache Diego Passos (UFF) Memória:

Leia mais

Parte I Multiprocessamento

Parte I Multiprocessamento Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez [email protected] 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento

Leia mais

Estruturas de Dados Estruturas de Dados Fundamentais

Estruturas de Dados Estruturas de Dados Fundamentais Estruturas de Dados Estruturas de Dados Fundamentais Prof. Eduardo Alchieri Estruturas de Dados Fundamentais Todos os tipos abstratos de dados (pilhas, filas, deques, etc.) podem ser implementados usando

Leia mais

4. Algoritmos de Busca em Vetores

4. Algoritmos de Busca em Vetores Introdução à Computação II 5952011 4. Algoritmos de Busca em Vetores Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 4.1. Introdução 4.2. Busca Linear 4.2.1.

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

Leia mais

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho Ciência da Computação Arq. e Org. de Computadores Avaliando e Compreendendo o Desempenho O Que Veremos Avaliando e compreendendo o desempenho: Introdução Definindo desempenho Medindo o desempenho e seus

Leia mais

SSC546 -Avaliação de Desempenho de Sistemas

SSC546 -Avaliação de Desempenho de Sistemas Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC546 -Avaliação de Desempenho de Sistemas Parte 1 -Aula 2 Sarita Mazzini Bruschi Material

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais CAP 2: Conceitos de Hardware e Software Prof. MSc. Diego R. Moraes [email protected] Download de todo conteúdo da disciplina https://sites.google.com/site/diegorafaelmoraes/downloads

Leia mais

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

Programação de Alto Desempenho - 2. Prof: Carla Osthoff Programação de Alto Desempenho - 2 Prof: Carla Osthoff E-mail: [email protected] 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda

Leia mais

Análise de Algoritmos Estrutura de Dados II

Análise de Algoritmos Estrutura de Dados II Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Análise de Algoritmos Estrutura de Dados II COM10078 - Estrutura de Dados II Prof. Marcelo Otone Aguiar [email protected]

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

NEANDERWIN. Algumas características do processador Neander são:

NEANDERWIN. Algumas características do processador Neander são: NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui

Leia mais

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5 Cristina Boeres Mapeamento Associativo por Conjunto! Tenta resolver o problema de conflito de blocos na mesma linha (mapeamento

Leia mais

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais DCA-108 Sistemas Operacionais Capítulo 2 Luiz Affonso Guedes www.dca.ufrn.br/~affonso [email protected] Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno

Leia mais