Fundamentos de Sistemas Operacionais
|
|
- Ana Lívia Figueiredo Martini
- 6 Há anos
- Visualizações:
Transcrição
1 Fundamentos de Sistemas Operacionais Aula 4: Programação Concorrente Diego Passos
2 Últimas Aulas
3 Processos Compostos por: Código (programa). Estado (memória, registradores). Em um sistema com multiprogramação: Vários processos residentes em memória. Várias aplicações rodam simultaneamente. "Processo é um programa em execução". Exemplo de um único programa que usa mais de um processo. Função fork().
4 Threads
5 Threads Similares a processos. "Processos leves". Definem uma "linha de execução" em um programa. Sequência de instruções a serem executadas. Diferença entre processo e thread: espaço de endereçamento. Processos diferentes têm espaços de endereçamento diferentes. Threads diferentes (de um mesmo processo) compartilham o mesmo espaço de endereçamento. Memória compartilhada.
6 Threads (mais) Toda thread pertence a um processo. O conceito de thread não existe sem o conceito de processo. Todo processo tem ao menos uma thread. Uma sequência de instruções a serem executadas.
7 Vantagens e Desvantagens Threads são mais "leves". Mudança de contexto entre duas threads do mesmo processo é rápida. Poucas informações de estado para salvar/restaurar. Threads (de um mesmo processo) compartilham memória. Comunicação é mais fácil que entre processos. Porém, uma thread pode interferir na execução da outra. Os erros em uma podem se propagar para as outras. Programas podem ser mais difíceis de depurar.
8 Programação Concorrente
9 Definição Utilização de mais de uma "linha de execução" em um mesmo programa. Vários processos para um único programa. e.g., utilizando a função fork(). Várias threads em um mesmo processo. Ou uma mistura dos dois. Exemplo: Servidor web tem um processo principal que espera conexões dos usuários. Para cada nova conexão, é criado um novo processo (ou thread). Processo (thread) principal volta a esperar por conexões.
10 Programa Paralelo vs. Sequencial Programa Sequencial: Uma única linha de execução. Um processo com uma thread. Programa Paralelo: Múltiplas linhas de execução. Vários processos ou threads. Outro nome para a Programação Concorrente.
11 Objetivos da Programação Concorrente Permite a separação lógica das funcionalidades de um programa. Espera por conexões. Atendimento aos clientes. Simplifica a escrita de alguns programas. Existem programas intrinsecamente paralelos. Melhora a utilização dos processadores modernos. Vários núcleos. Ambientes multiprocessados. Operações de E/S são sobrepostas com processamento.
12 Sobreposição de Operações de E/S Versão Sequencial Versão Paralela (Concorrente)
13 Desvantagens da Programação Concorrente Coordenação dos processos (threads) pode ser complexa. Em termos de programação. Erros "não-intuitivos" ocorrem. Principalmente com threads. É comum fazer suposições inválidas: e.g, processos executam na mesma "velocidade". Condições de erro são difíceis de reproduzir. Depuração de programas paralelos tende a ser mais difícil. Ordem de execução dos processos (threads) é imprevisível.
14 Tipos de Paralelismo Paralelismo Real: Ocorre apenas em máquinas multiprocessadas. Processos (threads) são executados realmente simultaneamente. Paralelismo aparente: Ocorre em maquinas monoprocessadas. Processos (threads) são executados concomitantemente.
15 Especificação de Paralelismo
16 Diferentes Representações Sintaxe de criação de um programa paralelo depende do sistema. Chamadas podem ser ligeiramente (ou extremamente) diferentes em SOs diferentes. Porém, existem tipos "gerais" de especificação de paralelismo.
17 Paralelismo Explícito Paralelismo é descrito explicitamente no programa. Três funcionalidades básicas: Criação de um processo (thread): create_process(). Encerramento de um processo (thread): exit(). Espera pelo encerramento de um processo (thread): wait_process().
18 Paralelismo Explícito (Exemplo) int main() { f1 = create_process(codigo_filho); f2 = create_process(codigo_filho); wait_process(f1); wait_process(f2); } return(0); void codigo_filho() { } printf("alguma coisa\n"); exit();
19 Paralelismo Implícito Programador apenas indica quais "regiões" são paralelizáveis. Compilador é responsável por criar os respectivos processos (threads). Dois comandos básicos: Parbegin (início da região paralela). Parend (fim da região paralela).
20 Paralelismo Implícito (Exemplo) int main() { } Parbegin codigo_filho(); codigo_filho(); Parend return(0); Função codigo_filho() é executada duas vezes. Mas por dois processos (threads) diferentes. void codigo_filho() { } printf("alguma coisa\n"); exit();
21 Paralelismo Implícito vs. Explícito A versão explícita é mais comum. Em geral, as chamadas de sistema são deste tipo. e.g., função fork(). Há algumas linguagens (e compiladores) que implementam o paralelismo implícito. Exemplo: biblioteca OpenMP. Paralelismo implícito é mais simples. Programador não se preocupa com como os processos (threads) são alocados. Paralelismo explícito é mais flexivel. Programador tem total controle sobre os processos (threads).
22 Grafo de Precedência Algumas vezes, é preciso garantir a ordem em que certos eventos ocorrem em um programa paralelo. Exemplo: Garantir que o primeiro processo filho só morra após o início do segundo processo filho. Nem sempre é fácil nas representações implícita e explícita. Envolve a utilização de comunicação entre os processos (threads) filhos.
23 Grafo de Precedência (Exemplo)
24 Compartilhamento de Recursos
25 Recursos Comuns Processos (threads) de um programa paralelo geralmente compartilham recursos. Variáveis. Arquivos. Sockets.... Estes recursos, em geral, estão ligados à comunicação entre processos (threads) do programa paralelo.
26 Compartilhamento de Memória Tipo mais comum de recurso compartilhado. Threads compartilham todo o espaço de endereçamento. Processos podem requisitar do SO uma área de memória compartilhada. Processos (threads) alteram o valor de variáveis compartilhadas para trocar informações. e.g., segundo processo filho pode alterar a variável inicio_filho_2 de 0 para 1 para informar iniciou seu processamento.
27 Produtor-Consumidor Aplicação comum em vários sistemas. Há processos (threads) produtores. Geram dados quaisquer. Há um processo (thread) consumidor. Pega dados dos produtores e realiza alguma operação. Exemplo: servidor impressão. Processos (threads) geram dados a serem impressos. Um único processo é responsável por coletar os dados e realizar a operação de E/S de impressão. Múltiplas impressões podem ser requisitadas simultaneamente.
28 Produtor-Consumidor (Funcionamento) Há uma região de memória compartilhada por todos. Spool de impressão. Em geral, é um Buffer Circular. Ao adicionar um novo elemento, produtor avança o ponteiro do próxima posição livre. Ao coletar um dado, consumidor avança ponteiro da próxima posição livre.
29 Região (Ou Seção) Crítica
30 Definição É um trecho de código de um programa. Especial, pois alguma manipulação de variável compartilhada acontece ali. Em outras palavras: É um trecho de um programa paralelo no qual existe acesso a variáveis compartilhadas entre dois ou mais processos (threads).
31 Importância da Região Crítica A ordem de execução dos processos (threads) é imprevisível. Acessos concorrentes podem causar problemas. Exemplo: Considere 'x' uma variável compartilhada por duas threads. Seu valor inicial é 0 Qual o valor final de 'x'? Thread 1: x = x + 1; Thread 2: x = x + 1;
32 Importância da Região Crítica (mais) O trecho executado pelas threads em assembly se torna: MOVE x, ACC ADD ACC, 1 MOVE ACC, x Suponha que a Thread 1 começa a execução, porém é interrompida imediatamente antes da segunda instrução. A Thread 2 começa sua execução, lendo o valor de 'x' da memória. Valor ainda é 0. Thread 1 foi interrompida antes que pudesse armazenar em memória o novo valor de 'x'. Ao final das execuções, x = 1.
33 Outro Exemplo: Produtor-Consumidor Suponha dois produtores simultâneos. P1 insere "Dado 3" na próxima posição livre. Mas é interrompido antes de atualizar o ponteiro. P2 executa e insere "Dado 4" na posição antiga do ponteiro. "Dado 3" é sobreescrito.
34 Condição de Corrida Problema decorrente da execução simultânea de múltiplos processos na seção crítica. Resultados inesperados (e diferentes) ocorrem. O resultado depende da ordem de execução dos processos (threads). Operações não são atômicas. Como solucionar? Evitar que processos (threads) diferentes possam estar na região crítica simultaneamente. Conhecido como Exclusão Mútua. Tornar operações sobre recursos compartilhados atômicas.
35 Operação Atômica Operação que não pode ser interrompida. Exemplo: a execução de uma única instrução de máquina é atômica. Não há como interromper a operação uma vez que ela tenha sido iniciada. Se a manipulação de uma região compartilhada de memória é atômica, não há condição de corrida.
36 Revisão
37 Para Lembrar Definição de Programação Concorrente. Tipos de paralelismo. Real, aparente. Representações implícita e explícita de paralelismo. Razões para adoção de paralelismo. Ordem de execução de um programa paralelo é imprevisível. Não se pode fazer suposições. Compartilhamento de recursos. Recursos típicos. Razões para compartilhar. O que é região (seção) crítica é qual a sua importância. O que é uma condição de corrida. O que é exclusão mútua. O que é uma operação atômica.
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 5: Exclusão Mútua Diego Passos Última Aula Programação Concorrente Programas compostos por mais de um processo ou thread. Pode trazer benefícios: Simplificar o
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 maisIntrodução OpenMP. Nielsen Castelo Damasceno
Introdução OpenMP Nielsen Castelo Damasceno Computação de auto desempenho Processamento Paralelo Memória Distribuída e Compartilhada Modelo de programação OpenMP Métricas de Desempenho Computação de auto
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 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 maisFundamentos 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.
Leia maisConcorrência em Processos
Concorrência em Processos Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Baseado nas aulas do professor Alberto Costa Neto da UFS 1 O que fazer com essa apresentaçã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 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 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 maisNotas da Aula 7 - Fundamentos de Sistemas Operacionais
Notas da Aula 7 - Fundamentos de Sistemas Operacionais 1. Organização de um Processo em Memória Quando um processo é criado, o SO aloca uma porção da memória física da máquina para a criação do espaço
Leia maisNotas da Aula 4 - Fundamentos de Sistemas Operacionais
Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta
Leia maisLINGUAGENS LÓGICAS E PROGRAMAÇÃO CONCORRENTE
LINGUAGENS LÓGICAS E PROGRAMAÇÃO CONCORRENTE Adriana Nery Programação lógica Paradigma Predicados Dedutiva) baseado no Cálculo de (Lógica Matemática Exemplo: Zé Carioca é um papagaio. Todo papagaio é uma
Leia maisFundamentos 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.
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 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 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 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 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 maisSistemas Operacionais
Introdução 2 a edição Revisão: Fev/2003 Sistemas Operacionais Programação concorrente Capítulo 3 Programa executado por apenas um processo é dito de programa seqüêncial Existe apenas um fluxo de controle
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 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 maisSSC0640 Sistemas Operacionais I
SSC0640 Sistemas Operacionais I 11ª Aula Threads Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano baseados no livro
Leia maisComputadores e Programação (DCC/UFRJ)
Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo
Leia mais08/08/2016. Metodologia de trabalho Sistema de notas Trabalhos Artigos Celulares Presença Entrega de trabalhos Uso de laboratório
Prof. Richard Brosler richard.brosler@aedu.com Metodologia de trabalho Sistema de notas Trabalhos Artigos Celulares Presença Entrega de trabalhos Uso de laboratório Introdução à Programação Concorrente
Leia maisLinguagens 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
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 maisParte I Multiprocessamento
Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez gregorio@uninove.br 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento
Leia maisAula 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:
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 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 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 maisProgramaçã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
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 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 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 maisINTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 13
INTRODUÇÃO AOS SISTEMAS OPERACIONAIS outubro/2013 SEMANA 13 Conceitos sobre s. Visão geral, s de usuário e de, modelos de multiing, ciclo de vida. Exemplos nos sistemas operacionais. 1 - Introdução Thread
Leia maisSistemas Operacionais. Prof. Fabio Augusto Oliveira
Sistemas Operacionais Prof. Fabio Augusto Oliveira Threads Um processo representa uma sequência de instruções única, executada paralelamente a outra seqüências de instruções. Um thread é uma maneira de
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 maisExercí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
Leia maisOpenMP: 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
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 maisProgramação Concorrente
INE 5410 Programação Concorrente Professor: Lau Cheuk Lung (turma A) INE UFSC lau.lung@inf.ufsc.br Conteúdo Programático 1. 2. Programação Concorrente 3. Sincronização 1. Condição de corrida, região critica
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 de Alto Desempenho - 2. Prof: Carla Osthoff
Programação de Alto Desempenho - 2 Prof: Carla Osthoff E-mail: osthoff@lncc.br 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda
Leia maisUNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação. Processamento Paralelo Threads. Aluno: Wagner Palacio
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação Processamento Paralelo Threads Aluno: Wagner Palacio Turma: 3º período Professor: Giordano Cabral Recife, 29 de maio de 2012
Leia maisRevisão Ultima aula [1/2]
SOP - TADS Comunicação Interprocessos IPC Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula
Leia maisProgramação Paralela e Distribuída
INE 5645 Programação Paralela e Distribuída Professor: Lau Cheuk Lung (turma A) INE UFSC lau.lung@inf.ufsc.br Conteúdo Programático 1. Introdução 2. Programação Paralela 3. Controle de Concorrência 4.
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 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 maisAULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação MULTIPROCESSADORES
Leia maisSOP - TADS Processos. Revisão Ultima aula
SOP - TADS Processos Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula Revisão de hardware Processador
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 maisConceitos básicos e serviços dos Sistemas Operacionais
Conceitos básicos e serviços dos Sistemas Operacionais Prof. Marcos Ribeiro Quinet de Andrade Instituto de Ciência e Tecnologia - ICT Universidade Federal Fluminense - UFF Tipos de serviços do S.O. Um
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 maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 1: Introdução e Conceitos Diego Passos Informações Básicas Horário: terças e quintas, 16h. Salas: 442/235 Contato: Por e-mail: dpassos@ic.uff.br Pela página: http://www.midiacom.uff.br/~diego/sisop/
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 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 maisSistemas Operacionais Aula 3
Sistemas Operacionais Aula 3 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 maisDEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO EM INFORMÁTICA SISTEMAS OPERACIONAIS I 1 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 1 0 SEM/05 Teste 1 Unidade I DURAÇÃO: 50 MINUTOS Aluno: GABARITO Escore: 1 a Questão (30) Assinale a(s) resposta(s)
Leia maisSistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Processos Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Processo Conceito: Um programa em execução 1. Ao digitar hello, os caracteres
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 maisIntroduçã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
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 maisParalelismo em Computadores com Tecnologia Multicore
IFRN - Pau dos Ferros Pau dos Ferros/RN, 25 de fevereiro de 2016 O minicurso Descrição: Para se utilizar os vários núcleos de processamento disponíveis nos computadores atuais de forma eficiente, faz necessário
Leia maisSistemas 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
Leia maisFundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo
Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo Múltipla escolha 1. Em que consiste um sistema operacional: a. Um conjunto de
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 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 maisAula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela
Aula 2: Tipos de Sistemas Operacionais Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela O que veremos nesta aula? Principais tipos de sistemas operacionais
Leia maisIntroduçã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
Leia maisSSC PROGRAMAÇÃO CONCORRENTE. Aula 06 Modelos de Programação Prof. Jó Ueyama e Julio Cezar Estrella
SSC- 0143 PROGRAMAÇÃO CONCORRENTE Aula 06 Modelos de Programação Prof. Jó Ueyama e Julio Cezar Estrella Créditos Os slides integrantes deste material foram construídos a par4r dos conteúdos relacionados
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 maisProgramação Concorrente e Paralela. Noemi Rodriguez
2013 Objetivos princípios e técnicas de programação concorrente multiprocessadores memória compartilhada troca de mensagens obs: diferentes níveis de abstração! que princípios e técnicas são esses? notações
Leia maisIntrodução à Computação: Sistemas de Computação
Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisRelatório Experimento 5 Sistemas Operacionais 1 Turma 3 Grupo 8
Relatório Experimento 5 Sistemas Operacionais 1 Turma 3 Grupo 8 Professor Tobar Bruno de André Mazzoco RA:02150522 César Henrique Kallas RA: 02099224 Introdução O experimento visa entender o que são threads,
Leia maisModelos para Concorrência
Modelos para Concorrência Modelos para descrição de concorrência Programa Interdisciplinar de Pós Graduação em Computação Aplicada Universidade do Vale do Rio dos Sinos Gerson Cavalheiro Processamento
Leia maisAula 1: Apresentação do Curso
Aula 1: Apresentação do Curso Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Apresentação do Curso FAC 1 / 30 Estrutura da Disciplina Diego
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 maisMultiprogramaçã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
Leia maisSistemas Operacionais
Sistemas Operacionais Processos - Parte 1 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 1) 1 / 46 Um aspecto importante no estudo sobre sistemas operacionais é o gerenciamento de processos.
Leia maisTécnicas Avançadas de Programação
Sumário Técnicas Avançadas de Programação Prof. João Marcos M. da Silva Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Agosto de 2011 Prof. João Marcos
Leia maisSistemas 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
Leia maisInformática I. Aula /09/2006 1
Informática I Aula 3 http://www.ic.uff.br/~bianca/informatica1/ 06/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação de Dados
Leia maisIntrodução à OpenMP (Dia 1) Prof. Guido Araujo
Introdução à OpenMP (Dia ) Prof. Guido Araujo www.ic.unicamp.br/~guido Roteiro Escrevendo programas usando OpenMP Usando OpenMP para paralelizar laços seriais com pequenas mudanças no código fonte Explorar
Leia mais08/02/2017. Metodologia de trabalho Sistema de notas Trabalhos Artigos Celulares Presença Entrega de trabalhos Uso de laboratório
Prof. Richard Brosler richard.brosler@aedu.com http://www.brosler.pro.br Metodologia de trabalho Sistema de notas Trabalhos Artigos Celulares Presença Entrega de trabalhos Uso de laboratório Introdução
Leia maisLinguagens de Programação
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Linguagens de Programação DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Tópicos da aula
Leia maisSistemas Operacionais
Sistemas Operacionais Prof. Fabio Augusto Oliveira Processos O processador é projetado apenas para executar instruções, não sendo capaz de distinguir qual programa se encontra em execução. A gerência de
Leia maisSistemas Operacionais
Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana e Prof. Dra. Regina Helena Carlucci Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum Tipos e Estrutura System
Leia maisProgramação Estruturada Aula - Introdução a Linguagem C
Programação Estruturada Aula - Introdução a Linguagem C Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br 2 HISTÓRICO DA LINGUAGEM C HISTÓRICO DA LINGUAGEM C Como tudo iniciou... C iniciou
Leia maisBibliografia. OpenMP. Disponibilidade de OpenMP. Abordagem SPMD. Nicolas Maillard
Bibliografia Nicolas Maillard nicolas@inf.ufrgs.br Instituto de Informática Universidade Federal do Rio Grande do Sul home-page: http://www.openmp.org/presentations Parallel Programming in. R. Chandra
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 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 maisSistema Operacional. Prof. Leonardo Barreto Campos. 1/30
Sistema Operacional Prof. Leonardo Barreto Campos 1/30 Sumário Introdução Middleware e SO de Rede SO de Rede Processos e Threads Leitura Complementar Bibliografia 2/30 Introdução A tarefa de qualquer sistema
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 maisCarlos Eduardo Batista Centro de Informática - UFPB
Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação Arquitetura de computadores modernos Desafios da programação concorrente Definição de concorrência Correr junto Disputa por
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6 Gerenciamento de Memória Prof. Galvez Considerações Gerais Multiprogramação implica em manter-se vários processos em memória Memória necessita ser alocada de
Leia maisSISTEMAS DISTRIBUÍDOS PROCESSOS. Slides cedidos pela professora Aline Nascimento
SISTEMAS DISTRIBUÍDOS PROCESSOS Slides cedidos pela professora Aline Nascimento INTRODUÇÃO Diferentes tipos de processos desempenham papel crucial em sistemas distribuídos. O conceito de um processo é
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 mais