Introdução aos Sistemas Operacionais. Threads
|
|
- Wagner Canela Castel-Branco
- 6 Há anos
- Visualizações:
Transcrição
1 Introdução aos Sistemas Operacionais Threads Eleri Cardozo FEEC/Unicamp O que é uma Thread? Uma thread (linha de controle) é uma unidade de execução e de controle, alocação e compartilhamento de recursos interna ao processo. Processo Threads Contexto (threads) Contexto (processo)
2 Motivações para Threads Minimizar a troca de contexto causada por processos que bloqueiam. Facilitar a implementação de programas concorrentes: - Grau mais fino de concorrência. - Facilidade de comunicação e sincronização inter-threads. - Troca de contexto mais rápida que processos (e sem influênciar o processo de paginação). - Criação e finalização mais rápida que processos (idem). Modelos de Threads Modelos de threads ditam como as threads se relacionam com o núcleo do sistema operacional. Quando o núcleo do sistema operacional não provê suporte a threads, é possível implementar threads no espaço do usuário por meio de bibliotecas específicas (por exemplo, pth - GNU Portable Threads). Este cenário é raro na atualidade. Quando o núcleo do sistema operacional provê suporte a threads, é possível utilizar threads por meio de chamadas de sistema específicas (por exemplo, pthreads - POSIX Threads). Este cenário é o mais comum na atualidade.
3 Modelos de Threads Problemas com threads no espaço do usuário: Apenas uma thread executa por vez (não tira proveito de processadores multicore). Não é possível interromper a execução de uma thread (a biblioteca de threads não pode definir um manipulador de interrupção de relógio!) Todas as chamadas bloqueantes devem ser redefinidas pela biblioteca de threads (pth define apenas um subconjunto). Exemplo: POSIX Threads #include <pthread.h> // definicao de thread void* thread1(void *p) { printf("thread recebeu parametro: %s\n", (char *)p); dowork(p); } // programa principal main() { pthread_t pth; pthread_create(&pth, NULL, thread1, "Alo thread"); pthread_join(pth, NULL); // espera thread terminar }
4 Comunicação Inter-threads Como threads compartilham a área de dados do processo, a comunicação inter-threads por memória compartilhada é a mais natural. Este mecanismo não requer a intermediação do sistema operacional, exceto para fins de sincronização. Pilha Dados área compartilhada Texto Thread 1 Thread 2 Sincronização Inter-threads Mutexes: semáforos binários (inicializados em 1). Variáveis de condição: permitem o compartilhamento de mutexes com o objetivo de evitar espera ocupada (polling). Tal como os mecanismos de sincronização inter-processo, mutexes e variáveis de condição devem ser providos pelo núcleo do sistema operacional.
5 Sincronização Inter-threads Exemplo do uso de variáveis de condição: problema produtor-consumidor. Thread mestre (produtora) Buffer Mutex? Variável de condição Threads trabalhadoras (consumidoras) Sincronização Inter-threads Implementação (ineficiente!) das threads consumidoras: #include <pthread.h> pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER; while(1) { // espera ocupada pthread_mutex_lock(&m); if(buffer.size == 0) { pthread_mutex_unlock(&m); usleep(10000); } else break; } // do work pthread_mutex_unlock(&m);
6 Sincronização Inter-threads Implementação (eficiente!) das threads consumidoras: #include <pthread.h> pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t c = PTHREAD_COND_INITIALIZER; pthread_mutex_lock(&m); if(buffer.size == 0) pthread_cond_wait(&c, &m); // do work pthread_mutex_unlock(&m); Sincronização Inter-threads Implementação (eficiente!) da thread produtora: #include <pthread.h> pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t c = PTHREAD_COND_INITIALIZER; pthread_mutex_lock(&m); // do work pthread_cond_signal(&c, &m); pthread_mutex_unlock(&m);
7 Escalonamento de Threads O escalonamento de threads é idêntico ao de processos, ou seja, cada thread tem seu contexto salvo/restaurado quando a thread perde/recupera a CPU. Escalonamento de Threads Escalonamento não preemptivo (threads no nível do usuário): threads executam até bloquear ou terminar. Escalonamento preemptivo (threads no nível do núcleo): threads são escalonadas por time-sharing ou por prioridades. Tal como processos, Linux suporta escalonamento de threads por prioridades tipo FIFO ou RR (Round Robin). Os sistemas operacionais atuais escalonam threads, ou seja, o processo perde a CPU quando expira o quantum de CPU ou quando não existe nenhuma se suas threads no estado de pronto.
8 Escalonamento de Threads #include <pthread.h> main() { pthread_t pth; pthread_attr_t ta; // atributos de escalonamento struct sched_param sp; // pars. de escalonamento // obtem a maxima prioridade que uma thread pode ter sp.sched_priority = sched_get_priority_max(sched_fifo); // define parametros de escalonameento pthread_attr_init(&sp); pthread_attr_setinheritsched(&ta, PTHREAD_EXPLICIT_SCHED); pthread_attr_setschedpolicy(&ta, SCHED_FIFO); pthread_attr_setschedparam(&ta, &sp); // cria thread com prioridade explicita pthread_create(&pth, &ta, thread1, "Alo thread"); pthread_join(pth, NULL); // espera thread terminar } Threads e a Chamada fork O que acontece quando um programa que iniciou múltiplas threads executa a chamada fork? (a) O processo filho inicia com todas as threads em execução no processo pai. (b) O processo filho é criado apenas com a thread principal (função main). No Unix ocorre a alternativa (b). Pior ainda, os mutexes e as variáveis de condição no processo filho assumem um estado indefinido.
9 Threads em Sistemas de Tempo Real Em sistemas de tempo real deve-se evitar a criação e destruição frequente de threads durante a execução do sistema (o overhead é baixo mas não desprezível). É preferível a criação de um pool de threads na inicializaçao e, eventualmente, um ajuste do tamanho do pool durante a execução do sistema. As threads do pool são sincronizadas com mutexes e variáveis de condição. Exemplo: Servidor Multithreaded
10 Atividades Práticas A biblioteca pthread Criação de threads Mutexes Variáveis de condição
Exclusão Mútua (mutex)
2004-2017 Volnys Bernal 1 Exclusão Mútua (mutex) Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2004-2017 Volnys Bernal 2 Tópicos Exclusão Mútua (Mutex)
Leia maisFerramentas 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 Programação multithread Prática
Leia maisSincronização e comunicação entre entidades de processamento. Mutex Volnys Bernal 1. Tópicos. Exclusão Mútua (mutex) Exclusão Mútua (Mutex)
2004-2013 Volnys Bernal 1 2004-2013 Volnys Bernal 2 Tópicos Exclusão Mútua (mutex) Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Exclusão Mútua () Objetivo, utilidade, requisitos
Leia maisNa Aula Anterior... O Conceito de Threads
GSI018 Sistemas Operacionais 12/09/2016 Na Aula Anterior... Nesta Aula Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Comunicação entre Processos Pipes;
Leia maisSistemas Operacionais
Sistemas Operacionais Programação Concorrente Introdução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Introdução Programa Seqüencial Representado por apenas um processo Existe apenas
Leia maisPthreads. O que são threads? Mario João Junior. Uma thread é um fluxo de execução de instruções que pode ser escalonado pelo sistema operacional.
Pthreads Mario João Junior O que são threads? Uma thread é um fluxo de execução de instruções que pode ser escalonado pelo sistema operacional. O que são threads? No UNIX, uma thread: Existe no interior
Leia maisORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMANDO
Leia maisLabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada...
LabSO Gerência de Processos Retrospectiva da aula passada... AULA 4 Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Na aula passada... Processos Estados do processo
Leia maisSistemas Operacionais II
Mecanismos de sincronização de processos Instituto de Informátic ca - UFRGS Sistemas Operacionais II Da teoria à prática... (Processos, threads, mutex, semáforos, variáveis de condição e monitores) Aula
Leia maisArquitetura de Computadores Sistemas Operacionais II
Definição de Processo Arquitetura de Computadores Sistemas Operacionais II Processo é o mesmo de Programa? Programa Estrutura estática Instruções + Dados Processo Entidade Ativa Instância de um Programa
Leia maisCapítulo 5: Escalonamento da CPU. Operating System Concepts 8th Edition
Capítulo 5: Escalonamento da CPU Capítulo 5: Escalonamento de CPU Conceitos Básicos Critérios de Escalonamento Algoritmos de Escalonamento Escalonamento de Threads Escalonamento de Multiprocessadores Exemplos
Leia maisSistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal
Sistemas Operacionais Aula 07: Scheduling da CPU Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o Scheduling da CPU, que é a base dos sistemas operacionais multiprogramados
Leia maisSistemas de Computação. Processos e escalonamento
Processos e escalonamento Sistema operacional Programa que age como intermediário entre o usuário de um computador e o hardware Objetivos: Executar programas do usuário e facilitar a resolução de problemas
Leia maisLeandro Soares de Sousa (DSc.) Página: Aula 04 - desenvolvimento multithread
Tópicos Especiais Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: http://www.ic.uff.br/~lsousa Aula 04 - desenvolvimento multithread Mais e mais ferramentas! 2 Processos e Threads: desenvolvimento
Leia maisMultiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. Padrão de Execução dum Processo
Sumário Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. 1 Padrão de Execução dum Processo Processos (e threads) alternam: execução de instruções;
Leia maisEscalonamento (Exclusão Mútua)
Universidade Federal do Amazonas Faculdade de Tecnologia Departamento de Eletrônica e Computação Escalonamento (Exclusão Mútua) Lucas Cordeiro lucascordeiro@ufam.edu.br Notas de Aula Baseado nas Notas
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 maisIntrodução a Programação Concorrente. Aula 02. Prof. André Luis Meneses Silva
Introdução a Programação Concorrente Aula 02 Prof. André Luis Meneses Silva Agenda Pthreads Trabalhando com Threads Exclusão Mútua Semáforos Pthreads Históricamente, fabricantes de hardware implementam
Leia maisThreads ou Processos Leves
Threads ou Processos Leves Sistemas Operacionais Tradicionais Sistemas com Multithreading Legenda: processo thread Contador de programa Threads Processos que compartilham espaço de endereçamento: P1 threads
Leia maisSistemas Operacionais
Introdução Sistemas Operacionais Multithreading (multiprogramação leve) Aula 04 Forma diferente de enxergar a abstração de processo = Conjunto de recursos relacionados endereçamento, arquivos, filhos,
Leia maisPOSIX Threads. Walter Fetter Lages.
POSIX Threads Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04008 Sistemas de Tempo Real Copyright (c) Walter
Leia maisProgramação concorrente usando threads POSIX e Java
Programação concorrente usando threads POSIX e Java MAC 431 / MAC 5742 Introdução à Computação Paralela e Distribuída Daniel Cordeiro DCC - IME - USP 13 de agosto de 2012 Introdução Por que escrever programas
Leia maisUnix Processos. Geraldo Braz Junior
Unix Processos Geraldo Braz Junior 1 Processos no Unix Unix é multiprogramado; Para cada processo é atribuído um Pid; Diversos daemons são executados: Cron Processamento de emails Gerenciamento da fila
Leia maisCapítulo 2 Processos e Threads
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento 1 Processos O Modelo de Processo Multiprogramação de quatro programas
Leia maisSistemas de Computação. Threads e Sincronização
Threads e Sincronização Processos concorrentes Os processos em execução sob um sistema operacional podem ser: independentes (não há interferência entre eles) cooperativos (há interferência entre eles)
Leia maisSistemas Operacionais. Escalonamento de processos
Sistemas Operacionais Escalonamento de processos 1 Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas
Leia maisSistemas 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
Leia maisSISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios
SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes (soufes@gmail.com) 2ª. Lista de Exercícios Data
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 maisThreads. threads em Linux Taisy Weber
Threads threads em Linux Taisy Weber Ambiente UNIX Processos: revisão de conceitos básicos processos no SO UNIX programação criação (exec, fork, etc), sincronização (wait), eliminação, processos zombie
Leia maisLinguagem de Programação I
Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Exemplo: Explorar Templates e Exceções Incrementar com o uso de STL 2 Crie uma função verificarpalindromo()
Leia maisUniversidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Fabrício Sérgio de Paula
Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Fabrício Sérgio de Paula Tópicos Conceitos Modelos multithreads Bibliotecas Opções de criação
Leia maisSistemas Operativos: Escalonamento de Processos
Sistemas Operativos: Escalonamento de Processos Pedro F. Souto (pfs@fe.up.pt) March 29, 2011 Sumário Escalonamento de Processos O Problema Algoritmos de Escalonamento de Processos Leitura Adicional Padrão
Leia maisSistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento
Aula 3 Escalonamento Escalonamento Porque? Quando? Como? Critérios? Políticas de escalonamento Como avaliar? Referências: Capítulo 5: 5.1 a 5.3, 5.6 Porque Escalonar? Escalonamento controla compartilhamento
Leia maisChapter 4: Threads. Operating System Concepts 8th Edition
Chapter 4: Threads Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentação foi modificada por Cristiano
Leia maisSistemas Operacionais Aula 7
Sistemas Operacionais Aula 7 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer
Leia maisEscalonamento 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
Leia maisSistemas Operacionais de Tempo Real. Sérgio Campos
Sistemas Operacionais de Tempo Real Sérgio Campos 1 / 21 Sistemas Operacionais de Tempo Real Escalonador, Threads, Tasks Tarefas periódicas Tarefas aperiódicas Microkernel Interrupções Relógios e temporização
Leia maisEstraté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
Leia maisSistemas Operacionais
Introdução Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Multithreading Aula 04 Necessidade de executar atividades concorrentes, porém cooperantes ou que compartilhem dados endereçamento
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 9 Threads Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Threads Uma thread
Leia maisCapí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 affonso@dca.ufrn.br Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Escalonamento CPU Um vez escalonado, o processo utiliza o processador, de modo: Não preemptivo (FIFO, SJF, Cooperativo) Término
Leia maisSistemas Operacionais
CAPITULO 2 (PROCESSOS) Conceitos Threads Sistemas Operacionais Processos - Roteiro Escalonamento Concorrência Processos - Conceitos Multiprogramação Otimização do uso dos recursos Pseudo Paralelismo Multiprocessamento(SMP)
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 maisSistemas Operacionais II
Sistemas Operacionais II Windows Conceitos Básicos Geraldo Braz Junior Departamento de Informática - UFMA 2 Introdução Job Coleção de um ou mais processos gerenciados como uma unidade; Define cotas e limites
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 10: Escalonadores Preemptivos Diego Passos Última Aula Escalonadores Não-Preemptivos Escalonadores não-preemptivos agem: Quando um processo requisita E/S. Quando
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 maisas alterações feitas por um thread num recurso partilhado (ex: fechar um ficheiro) serão "vistaa" pelos outros threads.
Página 1 de 13 Um thread é uma sequência de instruções que vão ser executadas num programa. No ambiente UNIX, os threads encontram-se dentro de um processo, utilizando os recursos desse processo. Um processo
Leia maisSistemas Operativos: Implementação de Processos
Sistemas Operativos: Implementação de Processos Pedro F. Souto (pfs@fe.up.pt) March 8, 2012 Sumário: Implementação de Processos Contexto (Estado) dum Processo Comutação de Processos Escalonamento de Processos
Leia maisAULA Nº 08 SISTEMAS OPERACIONAIS. Threads
AULA Nº 08 SISTEMAS OPERACIONAIS Threads Contextualizando Na aula passada Sincronização de Processos Aula de hoje Threads O Modelo de Processo 1) Utilizado para agrupar recursos 2) Um espaço de endereço
Leia maisResumo: Sistemas Operacionais Abertos
Resumo: Sistemas Operacionais Abertos Prof. Michael A. Pontes Processos Um processo é um programa em execução. Enquanto um processo é executado, ele muda de estado. O estado de um processo é definido pela
Leia maisSincronização e Comunicação entre Processos. Sincronização e Comunicação Volnys Bernal 1. Agenda
entre Processos 004-006 Volnys Bernal 004-006 Volnys Bernal Agenda entre Processos Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Região Crítica Classificação dos mecanismos de sincronização
Leia maisOO Engenharia Eletrônica
OO Engenharia Eletrônica - Programação em C/C++ Slides 18: Introdução à programação multi-thread. Thread: linha de execução de um processo. Multi-thread: execução de múltiplas threads em um processo. Prof.
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 10 Escalonamento Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: Prof. SO José - Prof. Juan Edilberto Espantoso Silva Sumário Introdução
Leia maisSistemas Operacionais: Sincronização entre processos
Sistemas Operacionais: Sincronização entre processos Sincronização Programa concorrente Executado por diversos processos Acesso concorrente a dados Paralelismo real x Paralelismo aparente Multiprocessadores:
Leia maisSistemas Operacionais I
UFRJ IM - DCC Sistemas Operacionais I Unidade II - Processos 24/04/2014 Prof. Valeria M. Bastos 1 Organização da Unidade Processos Conceituação Estruturas de Controle Modos de execução do S.O. Estados
Leia maisSistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos
Sistemas Operacionais II Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos Threads Suporte a threads no núcleo; Foi definida uma nova chamada ao sistema não presente no Unix:
Leia maisMemória Compartilhada
Memória Compartilhada Programação com memória compartilhada Nos sistemas multiprocessadores com memória compartilhada, qualquer localização da memória pode ser acessada por qualquer processador Existe
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 maisAULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMAÇÃO PARALELA
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 maisRedes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período
Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 6. THREAD: 6.1 Introdução; 6.2 Ambiente Monothread; 6.3 Ambiente Multithread; 6.4 Arquitetura
Leia maisTeste de Sistemas de Operação 30 de Maio de 2009
Teste de Sistemas de Operação 30 de Maio de 2009 Duração: 30 min B NOME: Indique apenas uma das alternativas. Respostas erradas descontam na nota. 1. Um pedido de entrada e saída sem buffering: (letra
Leia maisTrabalhando com Processos e Threads em Ambiente LINUX
Objetivo Universidade Federal do ABC Disciplina: BC 1518 Sistemas Operacionais (SO) Prática: Processo/Threads Atividade 3 Trabalhando com Processos e Threads em Ambiente LINUX 1.Trabalhar com comandos
Leia maisENADE 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
Leia maisLista de Exercícios de INF1019
Lista de Exercícios de INF1019 Versão 2018 Obs: estas questões servem apenas para seu aquecimento na matéria, e para revisão dos conceitos vistos na disciplina. A chance de cairem na prova é de apenas
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 maisLabSO Gerência de Processos. Processos. Porque eu preciso entender este assunto?
LabSO Gerência de AULA 3 Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Porque eu preciso entender este assunto? Para entender como um computador consegue executar
Leia maisSistemas Operacionais I
UFRJ IM - DCC Sistemas Operacionais I Unidade II - 18/9/2009 Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1 Conceituação Estruturas de Controle Modos de execução do S.O. Estados de um
Leia maisConceito de Processo. Estados de Processos. Diagrama de Estados de Processos
Conceito de Processo Módulo 4: Processos Um Sistema Operacional executa uma variedade de programas: Sistemas de processamento em lotes (batch) processa jobs Sistemas de tempo partilhado (time shared) roda
Leia maisAlgoritmos de escalonamento
Algoritmos de escalonamento Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas Filas; Utilizam escalonamento
Leia maisSistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional
Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional ARQUITETURA E IMPLEMENTAÇÃO Pacote de Threads Conjunto de rotinas disponíveis para que uma aplicação utilize as facilidades dos threads.
Leia maisASOP - Arquitecturas e Sistemas Operativos (2009/10) 2 a Parte do Exame (Sistemas Operativos/A) 5 de Julho de 2010
ASOP - Arquitecturas e Sistemas Operativos (2009/10) 2 a Parte do Exame (Sistemas Operativos/A) 5 de Julho de 2010 IMPORTANTE: Esta parte do Exame está cotada para 10 valores, tem uma duração de 1 hora
Leia maisInfra-Estrutura de Software
Infra-Estrutura de Software Processos e Threads SO: Multitarefa SO: Multitarefa executando Processo P 0 em execução SO: Multitarefa executando interrupção ou system call ocioso Salva estado do Processo
Leia maisSincronização e Comunicação entre Processos. Adão de Melo Neto
Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.
Leia maisSOP - 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 dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula Processos [1/3] Conceito:
Leia maisRetrospectiva da aula passada... Escalonamento. Na aula passada... Comunicação entre processos (-- O jantar dos filósofos --)
Escalonamento Retrospectiva da aula passada... UL Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Race condition Região rítica Exclusão Mútua Na aula passada... Problemas
Leia maisThreads em Ambiente LINUX. Estudo e testes com a biblioteca pthreads
Universidade Federal do ABC Disciplina: BC 1518 Sistemas Operacionais (SO) Prática: Threads Atividade 3 Threads em Ambiente LINUX Objetivo Estudo e testes com a biblioteca pthreads Threads Como vimos em
Leia maisProcessos Concorrentes
Processos Concorrentes Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04008 Sistemas de Tempo Real Copyright
Leia maisSISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios
SISTEMAS OPERACIONAIS Prof a. Roberta Lima Gomes (soufes@gmail.com) 1ª. Lista de Exercícios Data de Entrega: não há. O objetivo da lista é ajudar no estudo individual dos alunos. Soluções de questões específicas
Leia maisSistemas Operacionais II
Introdução Instituto de Informátic ca - UFRGS Sistemas Operacionais II Da teoria à prática... (Processos, threads, mutex, semáforos, variáveis de condição e monitores) Aula 07 Fluxos de controle para programação
Leia maisProgramando com Threads em C
Programando com Threads em C AEDS III Bruno Diniz de Paula (diniz@dcc.ufmg.br) e-commerce System Performance Evaluation and Experimental Development Lab O que são Threads? Linhas de execução concorrentes
Leia maisCaracterísticas Linux - CentOS
FACULDADE DE TECNOLOGIA SENAC GOIÁS Sistemas Operacionais Leandro Soares, Rodrigo Mascarenhas, Pedro Henrique, Jonatas Edward Características Linux - CentOS Lucília Ribeiro GOIÂNIA, 2015 Leandro Soares,
Leia maisSSC0640 Sistemas Operacionais I
SSC0640 Sistemas Operacionais I 4ª Aula Processos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano baseados no
Leia maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE II SUMÁRIO 3. THREAD: 3.1 Introdução; 3.2 Ambiente Monothread; 3.3 Ambiente Multithread; 3.4 Arquitetura e Implementação; 3.5 Modelos
Leia maisFerramentas 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
Leia maisInfra-Estrutura de Software. Escalonamento
Infra-Estrutura de Software Escalonamento Processos Concorrentes O Modelo de Multiprogramação Multiprogramação de quatro programas Modelo conceitual de 4 processos sequenciais, independentes Somente um
Leia maisSISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES
SISTEMAS OPERACIONAIS TÁSSIO JOSÉ GONÇALVES GOMES www.tassiogoncalves.com.br tassiogoncalvesg@gmail.com CONTEÚDO PROCESSOS Fundamentos O Núcleo do Sistema Operacional Escalonamento de Processos Comunicação
Leia maisSistemas Operacionais
Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana, Prof. Dra. Regina Helena Carlucci Santana e Sarita Mazzini Bruschi baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum
Leia maisDefinição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU
Definição? Algoritmo de Escalonamento de CPU 6 Terminado? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU? Executado quando ocorre estouro de Quantum ou interrupção do processo (I/O,
Leia maisProgramação Concorrente com Thread Java. Luiz Affonso Guedes Sistemas Distribuidos
Programação Concorrente com Thread Java Luiz Affonso Guedes Sistemas Distribuidos Definições Básicas Threads são sub-procesos no sistema operacional. É menos custoso gerenciar threads do que processos.
Leia maisIntrodução ao OpenMP
Introdução ao OpenMP Threads em CPU multicore Rogério A. Gonçalves 1,2 Alfredo Goldman 2 1 Departamento de Computação (DACOM) Universidade Tecnológica Federal do Paraná (UTFPR) 2 Departamento de Ciência
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 maisSOP - TADS Escalonamento de Processos
SOP - TADS Escalonamento de Processos Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Conceito de Escalonamento
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 maisSISTEMAS EMBARCADOS. Programação Concorrente e CMSIS RTOS. Prof. André Schneider de Oliveira
Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Programação Concorrente e CMSIS RTOS Prof. André Schneider de Oliveira andreoliveira@u6pr.edu.br
Leia mais