Programação Concorrente e Paralela. Noemi Rodriguez
|
|
|
- Rachel de Paiva Barros
- 7 Há anos
- Visualizações:
Transcrição
1 2016
2 o que é programação concorrente e paralela? programação concorrente: composição de linhas de atividades independentes programação paralela: execução simultânea de linhas de atividades Go blog (Rob Pike) Concurrency is about dealing with lots of things at once. Parallelism is about doing lots of things at once.
3 Programação Concorrente não necessariamente envolve diferentes linhas de execução alternativas para modelos de servidores concorrentes mas modelo mais comum de concorrência é multitarefa necessidade de comunicação entre diferentes linhas de execução
4 programação concorrente e paralela comunicação entre processos acesso compartilhado a dados concorrência: bases de dados, informações sobre conexões,... paralelismo: dados de problemas científicos,... espera por estados desejáveis concorrência: nova requisição de cliente,... paralelismo: novos resultados, novos dados para processamento,... sincronização!
5 Programação Concorrente linhas de controle independentes ativas simultaneamente o que é atividade? um processador X múltiplos processadores estudo nasceu com sistemas operacionais importância hoje: atendimentos concorrentes disputa por recursos!
6 Programação Paralela execução realmente simultânea linhas de execução que colaboram (ou não) em busca de solução paralelismo para melhoria de desempenho (ou viabilidade de execução) paralelismo e concorrência em ambos os casos necessidade de coordenação entre atividades cooperação x competição
7 Objetivos da disciplina princípios e técnicas de programação concorrente multiprocessadores memória compartilhada troca de mensagens memória distribuída troca de mensagens padrões de programação paralela exemplos clássicos: multiplicação de matrizes, resolução de sistemas casos mais irregulares: espaços de busca
8 que princípios e técnicas são esses? notações para controle de fluxo criação de processos e threads, ou outras formas de expressão de paralelismo abstrações de comunicação sincronização em sistemas de memória compartilhada... mas problemas também existem sem memória compartilhada... propriedades: safety e liveness avaliação de desempenho balanceamento de carga
9 Referências M. Herlihy, N. Shavit. The Art of Multiprocessor Programming. Morgan Kaufmann, M. Quinn. Parallel Programming in C with MPI and OpenMP. McGraw-Hill, P. Pacheco. An Introduction to Parallel Programming. McGraw-Hill, artigos técnicos.
10 Fluxos de Execução classificação
11 Fluxos de Execução processos, threads preemptivos, threads cooperativos pilha de execução dados globais? espaços de endereçamento protegidos? preempção?
12 Fluxos Independentes transferência globais arquivos abertos... pilha 1 pilha 2 pilhas independentes? acesso a globais?
13 Processos transferência descritores globais globais globais pilha 1 pilha 2 descritores locais descritores locais pilhas independentes globais independentes descritores podem ser compartilhados preempção
14 Threads Preemptivas transferência globais descritores pilha 1 pilha 2 pilhas independentes globais compartilhadas descritores compartilhados preempção
15 Preempção I/O completado bloqueado pronto escalonado preempção requisição i/o fim em execução finalizado
16 Threads Cooperativas transferência globais descritores pilha 1 pilha 2 pilhas independentes globais compartilhadas descritores compartilhados sem preempção
17 Concorrência: modelo mais comum threads preemptivos com memória compartilhada pthreads
18 Exemplo: Busca de primos com memória compartilhada imprimir primos entre 1 e máquina de 10 processadores um thread por processador
19 Busca de Primos com Memória Compartilhada void primeprint (void) { long int j; for (j = 1, j< ; j++) { if (isprime(j)) printf("%ld\n", j); } }
20 Busca de Primos com Memória Compartilhada idéia 1: cada thread testa um intervalo pré-definido cada thread executa: void primeprint (void){ long int j; int i = ThreadID.get(); // IDs in {0..9} for (j = i*109+1, j<(i+1)*109; j++) { if (isprime(j)) printf("%ld\n", j); } } nem todos os intervalos têm números iguais de primos números grandes: maior dificuldade computacional desbalanceamento
21 Busca de Primos com Memória Compartilhada idéia 2: contador compartilhado int counter = new Counter(1); cada thread executa: void primeprint { long j = 0; while (...) { j = counter.getandincrement(); if (isprime(j)) print(j); } }
22 Contador Compartilhado o objeto counter é único para todos os threads public class Counter { private long value; } public long getandincrement() { return value++; }
23 Contador Compartilhado o objeto counter é único para todos os threads e o problema é que podemos ter: public class Counter { private long value; public long getandincrement() { return value++; } } temp = value; value = value + 1; return temp
24 Memória Compartilhada e Preempção muitos entrelaçamentos são possíveis... thread 1: thread 2: temp = value temp = temp + 1 value = temp temp = value temp = temp +1 value = temp que mundo é esse em que value++ não tem o efeito que esperamos...?
25 Memória Compartilhada e Preempção e mais do que isso... não basta pensar nos entrelaçamentos possíveis!
26 Memória Compartilhada e Preempção You don t know Jack about shared variables or memory models. Hans-J. Boehm and Sarita V. Adve Commun. ACM 55, 2 (February 2012),
27 Memória Compartilhada e Preempção imagine que o programa usa valores maiores do que a palavra do hardware x++ traduzido para algo como: tmp_hi = x_hi; tmp_lo = x_lo; (tmp_hi, tmp_lo)++; x_hi = tmp_hi; x_lo = tmp_lo;
28 Memória Compartilhada e Preempção ler artigo Boehm para a próxima aula
29 Concorrência: programador sempre terá que lidar com dificuldades de programação? mecanismos e técnicas mecanismos para lidar com memória compartilhada semáforos e locks monitores mecanismos não bloqueantes memória transacional eliminar memória compartilhada troca de mensagens e outras abstrações utilizar multithreading cooperativo soluções mais recentes propriedades garantidas pelo compilador D, DPJ,...
30 Paralelismo: questões como paralelizar a solução de um problema? objetivo maior normalmente é obter menor tempo de execução desenho da solução paralela normalmente é dependente da plataforma de execução que plataformas facilitam o desenvolvimento e depuração? como medir o tempo de execução e comparar soluções? tolerância a falhas: como garantir que o trabalho feito até o momento da falha não seja perdido?
31 Inicialmente: Sincronização como criar mecanismos que garantam acesso exclusivo aos dados em ambientes de memória compartilhada...? propriedades de safety e liveness
32 Seções Críticas conceito clássico em sistemas de memória compartilhada seção crítica: trecho de código que apenas uma thread pode estar executando em determinado momento public class Counter { private long value; private Lock lock; public long getandincrement() { int temp = value; value = value + 1; return temp; } }
33 Garantia de Exclusão Mútua protocolos de entrada e saída de regiões críticas public class Counter { private long value; private Lock lock; public long getandincrement() { lock.lock(); try { int temp = value; value = value + 1; } finally { lock.unlock(); } return temp; } } se executado em threads 0 e 1: RC 0 RC 1 ou RC 1 RC 0
34 Exclusão Mútua Propriedades garantia da exclusão mútua ausência de deadlock entrada em algum momento (ausência de starvation) ausência de esperas desnecessárias thread não espera quando não há competição pela RC
35 Classes de Propriedades safety programa nunca entra em estado ruim liveness programa em algum momento entra em estado bom
36 Soluções de exclusão mútua utilizando espera ocupada estudo clássico alguma utilidade com múltiplos processadores algoritmos interessantes (!) complexidade: caso com 2 threads é o mais inteligível Peterson Filtros Padaria
37 Exclusão Mútua Propriedades garantia da exclusão mútua safety ausência de deadlock safety entrada em algum momento (ausência de starvation) liveness ausência de esperas desnecessárias nível de concorrência
38 Exclusão mútua: algoritmo de Peterson
39 Exclusão Mútua public void lock(0) { flag[a] = true; victim = A; while (flag[b] && victim == A) {}; public void lock(0) { flag[b] = true; victim = B; while (flag[a] && victim == B) {}; funciona? vamos supor, por contradição, que ambos estão na seção crítica
40 ... funciona? prova por contradição do código: write A (flag[a]=true)! write A (victim=a)! read A (flag[b])! read A (victim)!cs A write B (flag[b]=true)! write B (victim=b)! read B (flag[a])! read B (victim)!cs B vamos assumir: write B (victim=b)! write A (victim=a) como A entrou na RC: write A (victim=a)! read A (flag[b] == false) mas então write B (flag[b]=true)! write B (victim=b)! write A (victim=a)! read A (flag[b] == false) public void void lock(1) lock() { { flag[a] flag[i] = true; = true; victim = i; victim = A; Art of Multiprocessor while (flag[j] && victim == i) {}; while (flag[b] && victim Programming == A) {}; 55
41 Exclusão Mútua: problemas! soluções baseadas em variáveis dependem de ordenação que pode se perder na compilação... public void lock(0) { victim = 0; [2] flag[0] = true; [3] while (flag[1] && victim == 0) [4] {}; public void lock(1) { victim = 1; [1] flag[1] = true; [5] while (flag[0] && victim == 1) [6] {};
Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos
Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação
Programação Concorrente
INE 5410 Programação Concorrente Professor: Lau Cheuk Lung (turma A) INE UFSC [email protected] Conteúdo Programático 1. 2. Programação Concorrente 3. Sincronização 1. Condição de corrida, região critica
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
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.
Ferramentas para Programação em Processadores Multi-Core
Ferramentas para Programação em Processadores Multi-Core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Arquiteturas multi-core Ferramentas de programação Prática
Sistemas Operacionais
Sistemas Operacionais Processos Exclusão Mútua Mecanismos para se Obter Exclusão MútuaM Mecanismos de Hardware: Inibição de Interrupções Instrução TSL (Test and Set Lock) Mecanismos de Software: Com Espera
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 4: Programação Concorrente Diego Passos Últimas Aulas Processos Compostos por: Código (programa). Estado (memória, registradores). Em um sistema com multiprogramação:
Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core
RSS-Verão-01/08 p.1/36 Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7 Escola de Verão 2008 Arquiteturas Multi-Core Renato S. Silva LNCC - MCT Janeiro de 2008 RSS-Verão-01/08 p.2/36 Objetivo:
INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5)
INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5) 1.1 (Verdade/Falso) Itens próprios de processos são: Espaço de endereçamento,
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
1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU?
1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 2 O que é ambiente de execução? 3 Qual a finalidade da PCB? 4 Quais os componentes básicos da PCB? 5 Quais os 3 grupos de elemento
Sistemas Distribuídos e Paralelos
Sistemas Distribuídos e Paralelos Aula #6: Programação paralela em sistemas de memória compartilhada. ISUTIC - 2016 Eng. Alexander Rodríguez Bonet Aula de hoje Regiões paralelas. Cláusulas de âmbito. Partilha
Sincronização e Comunicação entre Processos. Adão de Melo Neto
Sincronização e Comunicação entre Processos Adão de Melo Neto 1 MOTIVAÇÃO 2 INTRODUÇÃO Em um sistema multiprogramado (concorrente) os processos alternam sua execução (ou seja, são executados alternadamente
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 12: Revisão para a P1 Diego Passos Capítulo 1 Sistemas Operacionais São programas. Duas funções: Gerenciar os recursos do hardware. Dividir entre os vários processos.
Aula 6: Comunicação entre processos. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela
Aula 6: Comunicação entre processos Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela (-- motivação --) Processos em execução no sistema operacional podem ser: Independentes:
OpenMP: Variáveis de Ambiente
Treinamento OpenMP C/C++ 1 TREINAMENTO OpenMP C/C++ Módulo 1 Computação de Alto Desempenho Módulo 2 OpenMP: Construtores Paralelos Módulo 3 OpenMP: Diretivas de sincronização Módulo 4 OpenMP: Funções de
Programação Paralela e Distribuída
Curso de Informática DCC-IM / UFRJ Programação Paralela e Distribuída Um curso prático Mario J. Júnior Gabriel P. Silva Colaboração: Adriano O. Cruz, Julio S. Aude Ementa Paradigma de Troca de Mensagens
Programação Concorrente e Paralela
Semáforos e Monitores 2010.2 Notação Andrews: atomicidade e await para definir ações atômicas, Andrews introduz a notação e para especificar sincronização, Andrews introduz a notação: await(b)s; que significa
Sistemas Distribuídos Aula 3
Sistemas Distribuídos Aula 3 Aula passada Processos IPC Características Ex. sinais, pipes, sockets Aula de hoje Threads Kernel level User level Escalonamento Motivação: Servidor Web Considere Servidor
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I - 1 0 SEM/12 PROVA I Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos Aluno: G A B A R I T O Escore: Responda às perguntas de forma
Sistemas Distribuídos Aula 7
Sistemas Distribuídos Aula 7 Aula passada Atomicidade Test-and-set Locks revisitado Semáforos Dois problemas Aula de hoje Limitação dos semáforos Monitores Variáveis de condição Semântica do signal Sincronização
Sistemas Distribuídos
Sistemas Distribuídos Transações atômicas Conteúdo O modelo transacional Armazenamento estável Primitivas transacionais Propriedades das transações Transações aninhadas Implementação Área de trabalho privada
Thread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ fevereiro, / 41
Thread Sistemas Operacionais Leonard B. Moreira UNIVERSIDADE ESTÁCIO DE SÁ e-mail: [email protected] fevereiro, 2013 1 / 41 Sumário 1 Introdução 2 Ambientes Monothread 3 Ambientes Multithread
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
Processamento Paralelo
Processamento Paralelo por Helcio Wagner da Silva Introdução Tradicionalmente, o computador tem sido visto como uma máquina seqüencial Esta visão nunca foi completamente verdadeira No nível das µo, vários
Sistemas Operacionais. Condição de corrida e Região crítica
Sistemas Operacionais Condição de corrida e Região crítica Região Crítica Parte do código que acessa a área compartilhada Condição em que dois processos lêem e escrevem um dado compartilhado e o resultado
PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência
Aula 11 - Threads e Concorrência Conteúdo Programático desta aula Apresentar os Conceitos de Threads, Concorrência e Sincronização. Verificar a aplicabilidade destes conceitos no mercado, bem como sua
Algoritmos Computacionais
UNIDADE 1 Processador e instruções Memórias Dispositivos de Entrada e Saída Software ARQUITETURA BÁSICA UCP Unidade central de processamento MEM Memória E/S Dispositivos de entrada e saída UCP UNIDADE
Introdução à Programação Paralela através de Padrões. Denise Stringhini Calebe Bianchini Luciano Silva
Introdução à Programação Paralela através de Padrões Denise Stringhini Calebe Bianchini Luciano Silva Sumário Introdução: conceitos de paralelismo Conceitos básicos sobre padrões de programação paralela
Programação Concorrente e Paralela
projeto de programas paralelos 2016 PCAM problema particionamento comunicacao aglomeracao mapeamento desenhada para memória distribuída mas muitas idéias em comum Particionamento idéia é expor oportunidades
ENADE 2011 SISTEMAS OPERACIONAIS
ENADE 2011 SISTEMAS OPERACIONAIS SOs: conteúdos comuns Gerência de processos/processador Comunicação Concorrência e Sinc. de Processos Gerenciamento de Memória Alocação de Recursos e Deadlocks Sistemas
Sistemas Operacionais (SO)
Sistemas Operacionais (SO) Fundamentos Prof. Eduardo Abordagens SO Moderno (importância) Funções básicas Definição Componentes de um SC Objetivos de um SO Serviços de um SO Abstrações Tipos de SO Estudo
Sincronização e comunicação entre processos
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Sincronização e comunicação entre processos Em um sistema multiprogramável com
Programação Paralela e Distribuída
INE 5645 Programação Paralela e Distribuída Professor: Lau Cheuk Lung (turma A) INE UFSC [email protected] Conteúdo Programático 1. Introdução 2. Programação Paralela 3. Controle de Concorrência 4.
Introdução Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Exclusão Mútua Sincronização
Sincronização e Comunicação entre Processos Introdução Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Exclusão Mútua Sincronização Condicional
Programação concorrente (processos e threads)
Programação concorrente (processos e threads) Programação concorrente Por que precisamos dela? Para utilizar o processador completamente Paralelismo entre CPU e dispositivos de I/O Para modelar o paralelismo
Sistemas Operacionais. Comunicação entre processos
Sistemas Operacionais Comunicação entre processos Comunicação entre Processos Os SO s hoje são multi-tarefa Alguns processos precisam cooperar para cumprir seus objetivos Sugestões de implementação? Exemplos
Multiprogramação leve em arquiteturas multi-core
Multiprogramação leve em arquiteturas multi-core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Arquiteturas multi-core Programação multithread Ferramentas de programação
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
Processos Concorrentes
Processos Concorrentes Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04008 Sistemas de Tempo Real Copyright
exercício 1 Piscar o LED a cada 1 segundo Parar ao pressionar o botão, mantendo o LED aceso para sempre Programa interativo!
Concorrência exercício 1 Piscar o LED a cada 1 segundo Parar ao pressionar o botão, mantendo o LED aceso para sempre void loop () { delay(1000); digitalwrite(led_pin, LOW); delay(1000); int but = digitalread(but_pin);
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
Sistemas Operacionais Aula 3
Sistemas Operacionais Aula 3 Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer
Threads. O que é uma Thread? Paralelismo
Threads em Java 1 O que é uma Thread? Paralelismo Threads Multi- threading é o mecanismo de concorrência suportado explicitamente pela linguagem Java. Os mecanismos de gerenciamento e sincronização de
Paralela e Distribuída. com o MPI e o OpenMP
Programação Paralela e Distribuída Programação Híbrida com o e o OpenMP e OpenMP Uma forma de executar um programa em paralelo num cluster multiprocessor é criar um processo por cada processador. Nesse
1B Conceitos Básicos: Indique Verdade/Falso
INE5645 - Programação Paralela e Distribuída - Prova 1B 24/04/2017 Nome 1B Conceitos Básicos: Indique Verdade/Falso a) (Verdade/Falso) Threads distintas em um processo não são tão independentes quanto
Sistemas Operacionais II
O problema da seção crítica... Instituto de Informátic ca - UFRGS Sistemas Operacionais II Exclusão mútua (implementação) Aula 04 Seção crítica Porção de código que não pode ser executado por dois ou mais
Programação Orientada a Objetos. Concorrência
Programação Orientada a Objetos Concorrência Cristiano Lehrer, M.Sc. Níveis de concorrência: Introdução Nível de instrução de máquina: Executando duas ou mais instruções de máquina simultaneamente. Nível
Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios
1ª Questão : Com base na figura ao lado, extraída do livro SISTEMAS OPERACIONAIS MODERNOS, de Andrew S. Tanenbaum, assinale cada uma das afirmações abaixo como (C)erta ou (E)rrada. No caso da afirmativa
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
Concorrência. Sistemas Distribuídos e Tolerância a Falhas. Lia Ribeiro 1
Concorrência Sistemas Distribuídos e Tolerância a Falhas Lia Ribeiro 1 Índice Consistência Atómica e sequencial Serializability Controle de concorrência One copy Serializability 2 Exclusão Mútua Técnica
Ruby e JRuby em... Paralelos e Distribuídos. Felipe Barden Lucas Fialho Zawacki
Ruby e JRuby em... Paralelos e Distribuídos Felipe Barden 151343 Lucas Fialho Zawacki 172072 Sobre o que vamos falar? A linguagem Ruby e suas aplicações em programação paralela e distribuída. A implementação
SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU
SOP - TADS Threads Prof. Ricardo José Pfitscher [email protected] Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula Processos [1/3] Conceito:
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
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
Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF
Exercícios Cap I 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) 1.5 1.7, 1.8 e 1.12 Sistemas Operacionais Visão geral e evolução dos SOs Sistema Operacional? Um programa que controla a execução dos programas
Introdução a Sistemas Operacionais. Adão de Melo Neto
Introdução a Sistemas Operacionais Adão de Melo Neto 41 Definição de SO Sistema Operacional É um conjunto de rotinas (programa) executado pelo processador que controla o funcionamento do computador como
Estratégias de Escalonamento de Processos
Estratégias de Escalonamento de Processos Rossano Pablo Pinto, MSc. FATEC - Americana 15/02/2008 Prof. Ms. Rossano Pablo Pinto - FATEC Ame 1 O que é um sistema multiprogramável? compartilha a CPU entre
Escalonamento de Processos Estratégias de Escalonamento de Processos
Estratégias de Escalonamento de s Rossano Pablo Pinto, MSc. FATEC - Americana 15/0/008 O que é um sistema multiprogramável? compartilha a CPU entre diversos processos é desejável que os processos obtenham
Gerenciamento de Transações em Banco de Dados
Gerenciamento de Transações em Banco de Dados Daniela Barreiro Claro MAT A60 Aula 13 Introdução à Transação 2 Transação É uma coleção de operações que formam uma única unidade lógica As transações acessam
Parallel Computing Paradigms
João Luís Ferreira Sobral www.di.uminho.pt/~jls jls@... Web: Elearning 1 At the end of the course, students should be able to: Design and optimise parallel applications that can efficiently run on a wide
Sistemas Distribuídos Capítulo 3 - Aula 3
Sistemas Distribuídos Capítulo 3 - Aula 3 Aula passada Arquitetura de SDs Estilo Arquitetônico Arquitetura de Sistemas Sistemas Autogerenciáveis Aula de hoje Threads Threads em SDs Processos Clientes Processos
Linguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
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
Prof. Silvana Rossetto 9 de julho de DCC/IM/UFRJ
Computação Concorrente (MAB117) Gabarito Segunda Prova Prof. Silvana Rossetto 9 de julho de 2015 1 DCC/IM/UFRJ Questão 1 (2,5 pts) O código Java abaixo implementa uma solução para o problema do barbeiro
Sistemas Operacionais
Sistemas Operacionais Programação Concorrente Sincronização entre processos Edson Moreno edsonmoreno@pucrsbr http://wwwinfpucrsbr/~emoreno Sumário Conceituação Princípios de concorrência Região crítica
