Programação Concorrente
|
|
- Olívia Bergler Prada
- 6 Há anos
- Visualizações:
Transcrição
1 + XV Jornada de Cursos CITi Programação Concorrente Aula 7 Benito Fernandes Fernando Castor João Paulo Oliveira Weslley Torres
2 + Como se executa uma thread?
3 + Roteiro Executors Thread Pools Executors Interfaces
4 + Executors Separar o gerenciamento e a criação de threads do resto da aplicação Executors encapsulam essas funções Interfaces Definem os três tipos de objetos executors Thread Pools o tipo mais comum de implementação de executor
5 + Interfaces java.util.concurrent Executor Cria e gerencia um grupo de threads( thread pool) ExecutorService Subinterface de Executor Adiciona gerenciamento de ciclo de vida, para tarefas individuais ou para o executor em si ScheduledExecutorService Subinterface de ExecutorService Suporta a execução de tarefas futuras e/ou programadas
6 + Executor Interface Provê um só método Execute() Substitui o idioma de criação de threads Runnable object Executor object Executa um comando, objeto runnable, em algum tempo futuro Pode executar nas mesma thread, numa nova thread ou numa pool;
7 + Implementação de um Executor Exemplo
8 +
9 + Exercício Implemente uma tarefa runnable que imprime o nome dela Implementar dois executor Executor A : Executa uma tarefa assincronamente Executor B : Executa uma tarefa sincronamente Pegar o objeto SerialExecutor Execute o as tarefas usando o SerialExecutor Dica: Execute várias tarefas do mesmo tipo para visualizar melhor os resultados
10 + Thread Pools Coleção de threads disponíveis para realizar tarefas A maioria das implementações de executores em Java usa thread pools Consiste de worker threads As threads existem separadamente dos objetos Runnable e Callable que ela executa Executa múltiplas tarefas
11 + Thread Pools, porque usar? Worker threads minimiza o overhead da criação de threads Threads usam uma quantidade significante de memória Melhor desempenho quando se executam um grande número de tarefas devido a um overhead reduzido de chamadas por tarefa Em sistema larga escala alocar e desalocar muitas threads gera um overhead significativo no gerenciamento da memória Uma forma de limitar recursos consumidos incluindo threads
12 + Tolerância a falhas Caso a quantidade de requisições seja muito alta a aplicação não quebra As threads irão servir a aplicação na velocidade que ela mesma suportar Por exemplo Um web server onde cada request é manipulado por uma thread separadamente Criar nova thread para cada HTTP request ou limitar a criação de threads, processando os requests quando possível
13 + Tamanho do pool É comum utilizar uma quantidade fixa de threads na pool Usando e reutilizando as worker threads quando disponível Caso uma thread é terminada ainda em uso ela é reposta por uma nova thread Tarefas submetidas a pool são enviadas para uma fila interna Essa fila armazena as tarefas quando existem mais tarefas ativas do que threads
14 + Implementações de Pool ThreadPoolExecutor ScheduledThreadPoolExecutor Implementação permitem que se estabeleça: O numero de threads O tipo de estrutura que irá armazenar nas tarefas Como criar e finalizar as threads Porém é mais comum utilizar a factory Executors
15 + ExecutorService Estende a interface Executor Complementa o método execute com submit Mais versátil Aceita objetos Runnable Também aceita objetos Callable Permite que a tarefa retorne um valor Retorna um objeto do tipo Future Captura o retorno do objeto Callable Gerencia os status tanto das tarefas Callable e Runnable Prove métodos que permitem submeter coleções de objetos Callable
16 + Finalizando um ExecuteService ExecutorService pode ser terminado, que irá rejeitar novas tarefas shutdown Permite executar as tarefas anteriormente submetidas antes de ser finalizado shutdownnow Não permite que tarefas em espera inicializem Finaliza as tarefas que estão sendo executadas
17 + Executors Factory Factory para as classes : Executor ExecutorService ScheduleExecutorService ThreadFactory Callable
18 + Executors Factory Executor Service newfixedthreadpool(int nthreads) Cria um thread pool que reusa um número fixo de threads Operando numa fila ilimitada de tarefas E se uma thread falhar e terminar uma nova outra é colocada no lugar para executar as próximas tarefas newcachedthreadpool() Cria um pool que cria novas threads quando for necessário Ou seja, cria novas threads mas as reusa quando elas estão disponíveis Melhora desempenho de programas que executam tarefas curtas assincronamente Timout das threads em cache: 60 seg
19 + Executors Factory newsinglethreadexecutor() Cria um Executor que usa uma única thread worker Operando numa fila ilimitada de tarefas Cria uma nova thread quando necessário(em caso de falha) Tarefas são garantidamente executadas em seqüência Não pode ser reconfigurado para usar mais threads
20 + Criando um ExecutorService Iremos usar a factory Executors
21 + Exemplo de Cached Thread Pool Usando Executors.newCachedThreadPool() Fonte: Argonavis, Helder Rocha
22 + Exemplo de Fixed Thread Pool Usando Executors.newFixedThreadPool Fonte: Argonavis, Helder Rocha
23 + Exemplo: SingleThreadExecutor Usando Executors.newFixedThreadPool Seq-um Seq-dois Seq-3 Seq-4 Main tempo
24 + Exemplo: Servidor Fonte: Argonavis, Helder Rocha
25 + Exercício Utilizando o código do Produtor/Consumidor Execute as tarefas através ExecutorService Finalize o executor assim que as tarefas terminarem Utilizando newsinglethreadexecutor Execute três tarefas em seqüência e uma em background Finalize o executor assim que as tarefas terminarem
26 + Callable<V> Interface Função semelhante à de Runnable, mas com conteúdo que pode retornar valor ou exceção Pode ser usado no lugar de Runnable Utilizando o submit da classe do ExecutorService V Tipo de retorno do método call call Computa o resultado, ou lança uma exceção caso não consiga
27 + Future<V> Interface Representa o resultado de uma operação assíncrona Permite saber se a tarefa foi concluída, esperar sua conclusão, recuperar o resultado e tentar cancelar a computação O resultado só pode ser capturado usando o método get Apenas quando o resultado estiver disponível Caso não, bloqueia até quando estiver pronto Normalmente usa-se Future como resultado de métodos submit() de ExecutorService que rodam Callable isdone: se a computação foi finalizada cancel: cancela a operação
28 + Usando Future, Callable
29 + FutureTask Implementação da interface Future e Runnable Pode ser executada por um Executor Podemos substituir a chamada do submit
30 + Agendamento Encapsulam o uso de Timers e TimerTask Interface Delayed Retorna o atraso associado ao objeto que implementa esta interface ScheduleFuture Objeto Future
31 + Agendamento - ScheduledExecutorService Estende ExecutorService Complementa com métodos para programar uma tarefa com um atraso Schedule Executa objetos Runnable e Callable Tempo do delay TimeUnit
32 + Agendamento - ScheduledExecutorService Executam tarefas repetidamente no intervalo definido scheduleatfixedrate Command, initialdelay, period, TimeUnit schedulewithfixeddelay Command, initialdelay, delay, TimeUnit
33 + Exemplo - Schedule
34 + Exercício Execute através de um pool de threads a classe PrintTask E ao fim das execuções finalize o ExecuteService Altere a quatidade de threads na pool e verifique o resultado Utiliza a classe PrintTask para imprimir peridicamente Altere a classe PrintTask de modo que o ExecutorService use o método submit Retornando o nome da thread Dica: Utilize os objetos Future e Callable
35 + Referências ml
Threads, Gerenciamento de Threads. Pool de Threads, Grupo de Threads Variáveis Locais à Threads
Threads, Gerenciamento de Threads Pool de Threads, Grupo de Threads Variáveis Locais à Threads Tarefa para Adormecimento e Despertar de Threads public class ThreadSleep extends Thread { private long tempo
Leia maisConcorrência em Java. Threads em Java
Concorrência em Java Threads em Java Máquina Virtual Java, Processos e Threads Cada instância da JVM corresponde a um processo do sistema operacional hospedeiro. A JVM não possui o conceito de processos
Leia maisENTENDENDO O FRAMEWORK FORK/JOIN DE JAVA
ENTENDENDO O FRAMEWORK FORK/JOIN DE JAVA Como funciona o Java Framework Fork /Join? Paralelismo é a execução simultânea de duas ou mais tarefas. Para nossos propósitos, basta entender que, em alguns problemas,
Leia maisMULTITHREADING. Prof.: Michele Nasu Tomiyama Bucci
MULTITHREADING Prof.: Michele Nasu Tomiyama Bucci Introdução O corpo humano realiza uma grande variedade de operações paralelamente, ou concorrentemente. Os computadores também realiza operações concorrentemente.
Leia maisSistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Escalonamento Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Cin/UFPE Escalonamento Processos Concorrentes O modelo de multiprogramação
Leia maisProgramação Orientada a Objetos Threads
Threads Prof. Edwar Saliba Júnior Janeiro de 2013 1 Introdução Multithreading: fornece múltiplas threads de execução para a aplicação; permite que programas realizem tarefas concorrentemente; às vezes
Leia maisINE5645 PROGRAMAÇAO PARALELA E DISTRIBUÍDA PROVA 1 18/09/2017 ALUNO: Prof. Bosco
INE5645 PROGRAMAÇAO PARALELA E DISTRIBUÍDA PROVA 1 18/09/2017 ALUNO: Prof. Bosco 1. a. (Verdade/Falso) Threads ou processos são programas sequenciais. Programação concorrente é aquela onde diversos processos/threads
Leia maisProgramação Concorrente Benito Fernandes Fernando Castor João Paulo Oliveira Weslley Torres
+ XV Jornada de Cursos CITi Aula 8 Programação Concorrente Benito Fernandes Fernando Castor João Paulo Oliveira Weslley Torres + Agenda Coleções concorrentes Blocking Queues ConcurrentMap ConcurrentNavigableMap
Leia maisDavidson Rodrigo Boccardo
Fundamentos em Sistemas de Computação Davidson Rodrigo Boccardo flitzdavidson@gmail.com Componentes de um SO Gerenciamento de Processos Sistema de Arquivos Gerenciamento de Entrada/Saída Gerenciamento
Leia maisSistemas 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
Leia maisSistemas Distribuídos. Ricardo Ribeiro dos Santos
Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Agosto/2003 Tópicos Processos em SD Threads 2 Processos em SD Processo=Programa em execução... Do
Leia maisMúltiplas Linhas de Execução Java (Threads)
Múltiplas Linhas de Execução Java (Threads) SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas
Leia maisEEL770 Sistemas Operacionais
EEL770 Sistemas Operacionais Parte 2: Concorrência Conceitos básicos e ciclo de vida de threads Prof. Rodrigo de Souza Couto Concorrência Múltiplas atividades que podem ocorrer ao mesmo tempo Exemplos
Leia maisINE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017. ALUNO Prof. Bosco
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO Prof. Bosco 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) Sockets são abstrações utilizadas nos protocolos de comunicação
Leia maisJava Standard Edition (JSE)
Java Standard Edition (JSE) 14.Threads Esp. Márcio Palheta Gtalk: marcio.palheta@gmail.com 1 Agenda Conceitos de programação concorrente Estendendo Thread; Troca de contextos; Garbage Collector; Problemas
Leia maisSistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal
Sistemas Operacionais Aula 15: Sistemas de I/O Ezequiel R. Zorzal ezorzal@unifesp.br www.realidadeaumentada.com.br Objetivos Explorar a estrutura do subsistema de E/S de um sistema operacional Discutir
Leia maisProgramação Concorrente
+ XV Jornada de Cursos CITi Programação Concorrente Aula 9 Benito Fernandes Fernando Castor João Paulo Oliveira Weslley Torres + Agenda Acesso Atômico Variáveis atômicas Daemon Thread + Acesso Atômico
Leia maisINE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) A comunicação entre processos consiste em transmitir uma mensagem entre o
Leia maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE I SUMÁRIO 2. PROCESSO: 2.1 Introdução; 2.2 Estrutura do Processo; 2.3 Estados do Processo; 2.4 Mudanças de Estado do Processo; 2.5
Leia maisPROGRAMAÇÃ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
Leia maisDispositivos de Entrada e Saída
Departamento de Ciência da Computação - UFF Dispositivos de Entrada e Saída Prof. Marcos A. Guerine mguerine@ic.uff.br 1 Dipositivos periféricos ou simplesmente periféricos permitem a comunicação da máquina
Leia maisINE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) Sockets são abstrações utilizadas nos protocolos de comunicação UDP e TCP,
Leia maisRedes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período
Redes de Computadores INF201 - Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 5. PROCESSO: 5.1 Introdução; 5.2 Estrutura do Processo; 5.3 Estados do Processo; 5.4
Leia maisProcessos. Adão de Melo Neto
Processos Adão de Melo Neto 1 Processos Introdução Para se poder controlar o uso concorrente (ao mesmo tempo) do processador, da memória e dos dispositivos de E/S, um programa deve sempre estar sempre
Leia mais14/08/2009. Módulo 4
ASP.NET Módulo 4 Objetivo Apresentar ao aluno os conceitos do ASP.Net, suas características e funcionamento; Demonstrar como deve ser criado um Web site; Criação de web form; Mostrar os principais controles
Leia maisUFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos
UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Recursos Entrada e Saída 02/12/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Fundamentos Evolução Estrutura
Leia maisSistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia
Sistemas Operacionais BSI / UAB 2013 Hélio Crestana Guardia Visão do SO SO: camada de software, executado diretamente sobre o hardware (físico ou virtual) Permite que hardware seja usado de forma eficiente
Leia maisINSTRUÇÕES DE REPETIÇÃO
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 6 INSTRUÇÕES DE REPETIÇÃO As instruções de repetição permitem fazer com que a execução de uma
Leia maisPROGRAMAÇÃ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 maisSistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos 2 1 Processos A gerência de um ambiente multiprogramável é
Leia maisEscalonamento (Tarefas Esporádicas)
Universidade Federal do Amazonas Faculdade de Tecnologia Escalonamento (Tarefas Esporádicas) Lucas Cordeiro lucascordeiro@ufam.edu.br Notas de Aula Baseado nas notas de aula do Prof. Francisco Vasques,
Leia maisModelagem Analítica. Profa. Jussara M. Almeida 1 o Semestre de 2011
Modelagem Analítica Profa. Jussara M. Almeida 1 o Semestre de 2011 Modelagem Analítica Um modelo é uma abstração de um sistema que captura, dentre os inúmeros detalhes do sistema, aqueles que são essenciais
Leia maisINTRODUÇÃO À TECNOLOGIA SERVLETS
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2013-2 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores
Leia maisUniversidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação
Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação SISTEMAS OPERACIONAIS Aula 7 Regiane Kawasaki kawasaki@ufpa.br Slides adaptados da Profa. Sarita Mazzini Bruschi
Leia maisDispositivos de Entrada e Saída
Departamento de Ciência da Computação - UFF Dispositivos de Entrada e Saída Prof. Marcos A. A. Guerine mguerine@ic.uff.br 1 Dipositivos periféricos ou simplesmente periféricos permitem a comunicação da
Leia maisSistemas Operacionais
Sistemas Operacionais Threads em Java Paulo Ricardo Lisboa de Almeida 1 Temos várias interfaces e classes que podem facilitar nossa vida Runnable Callable Thread... 2 Para a aula de sistemas operacionais,
Leia maisProcessos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend
Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos
Leia maisDEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO EM INFORMÁTICA SISTEMAS OPERACIONAIS I 2 0 SEM/05 Teste 1 Unidade I DURAÇÃO: 50 MINUTOS
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO EM INFORMÁTICA SISTEMAS OPERACIONAIS I 2 0 SEM/05 Teste 1 Unidade I DURAÇÃO: 50 MINUTOS Aluno: Escore: Assinale a resposta que considerar mais correta.
Leia maisSistemas 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
Leia maisThread. 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: leonardbarreto@gmail.com.br fevereiro, 2013 1 / 41 Sumário 1 Introdução 2 Ambientes Monothread 3 Ambientes Multithread
Leia maisIntrodução aos Sistemas Operacionais
Introdução aos Sistemas Operacionais Eleri Cardozo FEEC/Unicamp 1 Definição de Sistema Operacional Um sistema operacional é um gerenciador de recursos de hardware ou uma máquina virtual que oferece uma
Leia maisFigura 01 Programa e Processo
02 PROCESSOS 2.1 Introdução Para poder controlar a execução dos diversos programas e o uso concorrente do processador e dos demais recursos um programa deve sempre estar sempre associado a um processo.
Leia maisProblemas com Entrada e Saída
Problemas com Entrada e Saída Periféricos possuem características diferentes Geram diferentes quantidades de dados Em velocidades diferentes Em formatos diferentes Periféricos são mais lentos que UCP e
Leia maisArquitetura de Computadores. Processamento Paralelo
Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple
Leia maisDispositivos de Entrada e Saída
Departamento de Ciência da Computação - UFF Dispositivos de Entrada e Saída Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Problemas com Entrada e Saída ü Periféricos possuem características
Leia maisArquitetura de Sistemas Operativos
Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Um processo é uma instância em execução de um programa. No sistema operativo Unix a única forma de se criar um novo processo (processo-filho)
Leia maisSistemas Operacionais. Conceito de Processos
Sistemas Operacionais Conceito de Processos Processos Conceito de processo Estado de um processo Troca de contexto e PCB Fila de Processo Escalonador Comunicação entre processos Processo Um sistema operacional
Leia maisUniversidade de São Paulo (USP) Instituto de Ciências Matemáticas e de Computação (ICMC) Programação Orientada a Objetos (SCC0204)
Universidade de São Paulo (USP) Instituto de Ciências Matemáticas e de Computação (ICMC) Programação Orientada a Objetos (SCC0204) 2ª Lista de Exercícios MANIPULAÇÃO DE EVENTOS 1 Construa um programa que
Leia maisCapítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006
Capítulo 13: Sistemas de E/S Capítulo 13: Sistemas de E/S Hardware de E/S Interface de E/S da aplicação Subsistema de E/S do kernel Transformando requisições de E/S em operações de hardware Fluxos Desempenho
Leia maisINTRODUÇÃO À TECNOLOGIA SERVLETS
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 Arquitetura Web e Serviços 2 Contentores Java e o Ciclo de Vida 4 Servlets com o NetBeans
Leia maisProcessos ca 3 pítulo
Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém
Leia maisSistemas Operacionais
Sistemas Operacionais 04 Processos Introdução Um sistema de computação quase sempre tem mais atividades a executar que o número de processadores disponíveis. Diferentes tarefas têm necessidades distintas
Leia maisINE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) Sockets são abstrações utilizadas nos protocolos de comunicação UDP e TCP,
Leia maisProcessos 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 maisINE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) A comunicação entre processos consiste em transmitir uma mensagem entre o
Leia maisPós-Graduação em Computação Distribuída e Ubíqua
Pós-Graduação em Computação Distribuída e Ubíqua INF628 - Engenharia de Software para Sistemas Distribuídos Design Patterns para Sistemas Distribuídos Sandro S. Andrade sandroandrade@ifba.edu.br Motivação
Leia maisMEMÓRIA LÓGICA E FÍSICA (1)
GERÊNCIA DE MEMÓRIA memória = vetor de palavras (ou bytes), cada uma com endereço próprio a memória é usada para armazenar os diversos programas em execução, bem como os dados sobre a execução dos programas
Leia maisProgramação de Sistemas em Tempo Real
BCC722 Programação de Sistemas em Tempo Real Processos Prof. Charles Garrocho O conceito de processo Um S.O. executa uma variedade de programas Sistemas de tempo compartilhado: programas Processo: um programa
Leia maisSegundo trabalho prático de implementação Sistema de reserva de assentos
Segundo trabalho prático de implementação Sistema de reserva de assentos 1. Descrição do problema Computação Concorrente (MAB-117) 2016/2 Prof. Silvana Rossetto 1 DCC/IM/UFRJ 17 de novembro de 2016 Um
Leia maisIntrodução ao Java. Prof. Herbert Rausch Fernandes
Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos
Leia maisTestes de performance JUnitPerf
J820 Testes de performance JUnitPerf com Helder da Rocha (helder@acm.org) Testes automáticos de performance Ferramentas como JProbe, OptimizeIt e outros profilers oferecem diferentes tipos de estatísticas
Leia maisFundamentos de Sistemas Operacionais. Threads. Prof. Edwar Saliba Júnior Março de Unidade Threads
Threads Prof. Edwar Saliba Júnior Março de 2007 1 Definição Partes de um processo que compartilham mesmo espaço de endereçamento Sub-rotina de um programa executada paralelamente ao programa chamador (execução
Leia maisAULA 03: FUNCIONAMENTO DE UM COMPUTADOR
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?
Leia maisC.N.C. Programação Torno
C.N.C. Programação Torno Módulo III Aula 03 Composição de um Programa CNC A composição de um programa CNC baseia-se nas informações geométricas e tecnológicas necessárias para a execução de uma determinada
Leia maisPeriféricos possuem características diferentes. Periféricos são mais lentos que UCP e Memória Necessita-se de módulos de Entrada/Saída
Periféricos possuem características diferentes Geram diferentes quantidades de dados Em velocidades diferentes Em formatos diferentes Periféricos são mais lentos que UCP e Memória Necessita-se de módulos
Leia maishttp://www.ic.uff.br/~debora/fac! 1 Periféricos possuem características diferentes Geram diferentes quantidades de dados Em velocidades diferentes Em formatos diferentes Periféricos são mais lentos que
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 12 Beans Orientados a
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I BARRAMENTO Slide 1 Sumário Introdução Componentes de Computador Funções dos Computadores Estruturas de Interconexão Interconexão de Barramentos Slide 2 Introdução
Leia maisQuestões de Múltipla escolha
ATPS Sistemas Operacionais Professor Matheus de Lara Calache Valor total do trabalho: 10 Cada resposta vale 0,34. Questões de Múltipla escolha 1) Processos podem ser organizados em filas como Fila de Prontos
Leia maisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema
Leia maisTratamento de Exceções. LPG II Java. Tratamento de Exceções. Conceito de Exceções. Exemplo
Tratamento de Exceções LPG II Java Tratamento de Exceções Introdução Princípios do tratamento de exceções em Java Cláusula try Cláusula catch Cláusula finally Hierarquia de exceções em Java Considerações
Leia mais5 Modelo de Programação
38 5 Modelo de Programação 5.1 Visão Geral O modelo de programação do McCloud foi inspirado no Map/Reduce, originalmente proposto em 2004 por Jeff Dean e Sanjay Ghemawat [16], para suportar o processamento
Leia maisAlgoritmos e Técnicas de Programação. Professora: Luciana Faria
Algoritmos e Técnicas de Programação Professora: Luciana Faria Estrutura de Repetição condicional Estrutura de repetição Nas aulas anteriores verificamos que a execução sequencial dos comandos da função
Leia maisIntrodução Ferramentas Unix MapReduce Outras Ferramentas. Batch Processing. Fabiola Santore. Universidade Federal do Paraná
Fabiola Santore Universidade Federal do Paraná Sumário 1. Introdução 2. Ferramentas Unix 2.1 Análise de log 2.2 Filosofia Unix 3. MapReduce 3.1 Procedimento 3.2 Reduce: Joins e Agrupamento 3.3 Análise
Leia maisUM CATÁLOGO DE BOAS PRÁTICAS, ERROS SINTÁTICOS E SEMÂNTICOS EM MODELOS BPMN
UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UM CATÁLOGO DE BOAS PRÁTICAS, ERROS SINTÁTICOS E SEMÂNTICOS EM MODELOS BPMN Autora: Cynthia Raphaella da Rocha
Leia maisSistemas Operacionais. Entrada/Saída
Sistemas Operacionais Entrada/Saída Atualizado em 28/02/2014 Como ocorre a comunicação de E/S Aplicação Operações de E/S Chamadas de Sistema S.O. Subsistema de E/S Núcleo (Kernel) Drivers HARDWARE Controladoras
Leia maisThreads. Agenda. Threads. Processo. Processo. Processo. Processo. (c) Volnys B. Bernal Versão de 22/3/2012
1 2005-2009 Volnys Bernal 1 2005-2009 Volnys Bernal 2 Agenda Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Interface de threads Interfaces de threads de usuário x threads de núcleo
Leia maisVamos fazer um pequeno experimento
1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com
Leia maisEmail: professorclebermarques@hotmail.com Atualizada em 29/01/2010. 1
1- Software: É o elemento lógico (não palpável) do sistema computacional. 1.1- Classificação do Software: 1. Básico = fundamental para o processamento. Ex: Sistema Operacional. 2. Aplicativo = auxilia
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características
Leia maisProf. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula
Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II JAVA Décima Segunda Aula 1 Prof. Rogério Albuquerque de Almeida Programação Orientada a Objeto II Vetores Tratamento de Exceções
Leia maisSistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos
Aula 2 Gerência de Processos Gerência de Processos O que são Processos e Threads? Porque são necessários? Como são implementados? Como são controlados? Escalonamento Referências: Capítulo 4: 4.1 a 4.5
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 7: Implementação de Processos e Threads Diego Passos Revisão Programação Concorrente e Multiprogramação SOs modernos permitem diversos processos em memória. Cada
Leia maisRedes de Computadores
Redes de Computadores Camada de Transporte Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br Departamento de Ciência da Computação Universidade Federal de Minas Gerais UFMG/DCC Redes de Computadores
Leia maisPROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 2 3 4 5 6 7 Padrão de Desenvolvimento? O Conceito de Padrão de Projeto Padrão MVC Persistência MVC Nível
Leia maisSistemas Operacionais. Processos e Threads
Sistemas Operacionais Processos e Threads Sumário 1. Introdução 2. Estrutura do Processo 1. Contexto de Hardware 2. Contexto de Software 3. Espaço de Endereçamento 3. Estados 1. Mudanças de Estado 2. Criação
Leia mais14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo
Conceito de processo Os computadores executam várias operações ao mesmo tempo. - Compilar um programa; - Enviar um arquivo para a impressora; - Exibir uma página web; - Reproduzir músicas; - Receber mensagens
Leia maisProcessos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)
Aula Passada Processos (Aula 6) Escalonamento de Processos O SO gerencia os recursos do sistema de computação em benefício dos processos Para isso, mantem estruturas de controles Tabelas (memória, I/O,
Leia maisSistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto
Sistemas Operacionais Abertos Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Gerência de Processos Componentes do Sistema Um programa não faz nada a não ser que suas instruções sejam executadas
Leia maisRelatórios do histórico do CRS - Programação e estabelecimento de sessão
Relatórios do histórico do CRS - Programação e estabelecimento de sessão Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Convenções Background Programar Relatórios de Histórico Falha
Leia maisBD II (SI 587) Programação SQL. Prof. Josenildo Silva.
BD II (SI 587) Programação SQL Prof. Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco de Dados,
Leia maisProgramação com Sockets
Sistemas Distribuidos e Paralelos Programação com Sockets Datagramas Objetivo Desenvolver programas que permitam o envio de informação pela rede mediante sockets usando o protocolo UDP. Bibliografía Deitel,
Leia maisMC-102 Aula 20 Ponteiros III
MC-102 Aula 20 Ponteiros III Instituto de Computação Unicamp 20 de Outubro de 2016 Roteiro 1 Exemplo de Ponteiros e Alocação Dinâmica 2 Exercício 3 Informações Extras: Ponteiros para Ponteiros e Alocação
Leia maisBARRAMENTOS DO SISTEMA FELIPE G. TORRES
BARRAMENTOS DO SISTEMA FELIPE G. TORRES BARRAMENTOS DO SISTEMA Um computador consiste em CPU, memória e componentes de E/S, com um ou mais módulos de cada tipo. Esses componentes são interconectados de
Leia maisEstilo: BlackBoard. BlackBoard = repositório de dados compartilhados
Estilo: BlackBoard Útil para problemas no qual não há uma solução determinística Uma coleção de programas independentes que trabalham cooperativamente em uma estrutura de dados comum (blackboard) Vários
Leia maisEstrutura dos Sistemas Operacionais. Sérgio Portari Júnior
Estrutura dos Sistemas Operacionais Sérgio Portari Júnior - 2016 1 Sistema Operacional - Formas de acessar o KERNEL do SISTEMA OPERACIONAL (SO) - A linguagem de comandos faz parte do SO O Sistema Operacional
Leia maisSistema 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
Leia maisDisciplina: Introdução aos Sistemas Operacionais Professor: Fernando H. Santorsula
Disciplina: Introdução aos Sistemas Operacionais Professor: Fernando H. Santorsula E-mail: fernando.santorsula@esamc.br Aula 2 (Teórica & Prática): Conteúdo programático Teórica Processos e Threads Apresentação
Leia mais