Fundamentos de Sistemas Operacionais
|
|
- Sophia Canário Gesser
- 7 Há anos
- Visualizações:
Transcrição
1 Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos
2 Última Aulas
3 Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks. Implementado através de operações atômicas da CPU. Semáforos. Mutex, contadores. Utilização de semáforos para sincronização. Todos mecanismos de controle locais.
4 Monitores
5 Definição Assim como spin-locks e semáforos, monitores são métodos de exclusão mútua. Muito usados em linguagens orientadas a objetos. e.g., Java. Monitores contém um conjunto de funções que manipulam um determinado recurso compartilhado. A exclusão mútua de um monitor se aplica a todas as funções dentro dele. i.e., apenas uma thread ou processo pode acessar qualquer função dentro de um monitor por vez.
6 Monitores: Exemplo monitor class manipulax { int X; void incrementa() { } x = x +1; void decrementa() { } } x = x - 1;
7 Monitores: Variáveis de Condição Mecanismo para sincronização de threads (processos). Suponha que uma thread ganhe acesso ao monitor, mas uma dada condição necessária a sua execução não é verdadeira (ainda). Se outra thread precisar de acesso ao monitor para tornar a condição verdadeira, espera ocupada não é viável. Solução: comandos wait e signal. wait: aguarda que uma determinada condição seja verdadeira. Processo (thread) aguardando fica bloqueado e permite que outros acessem o monitor. signal: avisa que determinada condição agora é verdadeira.
8 Variáveis de Condição: Exemplo monitor class Semaphore { private int s := 0; private Condition IsPositive; public method P() { } if s = 0 then wait IsPositive s := s - 1 public method V() { } } s := s + 1 signal sispositive;
9 Monitores: Desvantagens Monitores são menos flexíveis que semáforos. Monitores "travam" todas as funções. A utilização de semáforos pode aumentar o paralelismo da execução. Variáveis de condição podem levar à quebra da exclusão mútua (se não usadas corretamente). O que fazer no momento em que uma thread (processo) sinaliza uma determinada condição? Há dois processos desbloqueados dentro do monitor.
10 Trocas de Mensagens
11 Sistemas Distribuídos Principal característica: Não compartilham memória. Sem memória compartilhada, não é possível usar mecanismos como o semáforo para sincronização. Também não é possível fazer troca de dados através de escritas em memória. Em sistemas distribuídos, processos se comunicam através de uma rede. Troca de mensagens (pacotes). Funções Send e Receive.
12 Função Send Envia uma mensagem para outro processo. Recebe ao menos dois parâmetros: Endereço do processo (e.g., IP e porta). Pode existir uma caixa postal. A mensagem em si. Em geral, não bloqueante. Remetente não precisa esperar que destinatário receba a mensagem para continuar seu processamento.
13 Função Receive Recebe uma mensagem de outro processo. Recebe ao menos um parâmetro: Buffer para acomodar a mensagem recebida. Pode ter também um parâmetro especificando de quem se espera uma nova mensagem. Mensagens de outros remetentes não serão retornadas. Em geral, é bloqueante. Se não há ainda no sistema uma mensagem, processo fica bloqueado até que o remetente envie a mensagem.
14 Buffers Sistema operacional pode prover buffers de mensagens. Para recepção: Se uma mensagem chega e o processo de destino ainda não chamou a função Receive, SO guarda mensagens no buffer. Para envio: Se ainda há mensagens não enviadas e remetente faz mais uma chamada à função Send, SO guarda mensagens no buffer. SO pode ter políticas para o Buffer. Exemplos: Buffer de transmissão cheio -> Bloquear a função Send. Buffer de recepção cheio -> Avisar ao remetente para pausar o envio de novas mensagens. Buffers geralmente tornam as aplicações mais eficientes. Gerenciamento do SO é mais complexo.
15 Protocolos Redes utilizam protocolos de comunicação. Implementação dos protocolos, em geral, é provida pelo próprio SO. Exemplo: TCP. O Sistema Operacional tem um módulo que implementa o TCP. O processo de E/S consiste em passar os bytes da mensagem para o espaço de endereçamento do módulo TCP. Estes protocolos são responsáveis por realizar a correta transmissão dos dados.
16 Remote Procedure Call (RPC) Método de execução remota de rotinas (procedimentos). Processo local envia parâmetros e pede a execução de uma rotina/função/procedimento localizado em um processo de uma máquina remota. Máquina remota recebe os parâmetros e o nome do procedimento, e executa o código. Resultados são enviados de volta para o processo local.
17 Remote Procedure Call (RPC) (mais) Existem várias implementações diferentes. Vários padrões. Muitas vezes incompatíveis. Base de vários programas, como o NFS (Network File System) usado no UNIX.
18 Deadlock
19 Definição Diz-se que N processos estão em deadlock quando cada um deles está no estado bloqueado à espera de um evento que só pode ser causado por um dos outros N processos. Neste caso, os processos continuarão neste estado, a menos que haja intervenção de uma entidade externa. Deadlocks geralmente são causados por disputas entre processos por recursos compartilhados.
20 Deadlock: Exemplo
21 Deadlock: Exemplos
22 Deadlock: Condições Existem 4 condições necessárias para ocorrência de deadlocks: Exclusão Mútua. Posse e espera. Não-preempção. Espera circular. Se quaisquer dessas condições não forem verdadeiras para ao menos um dos recursos, é impossível a ocorrência de deadlocks.
23 Deadlock: Exclusão Mútua Propriedade de um recurso que diz que dois processos não podem utilizá-lo simultaneamente. Exemplos: Impressora. Variáveis compartilhadas susceptíveis a condição de corrida. Se o recurso pode ser compartilhado, não há espera por ele (processos não ficam bloqueados por este recurso).
24 Deadlock: Posse e Espera Propriedade que diz que um processo aguarda a liberação de um dado recurso após ter recebido acesso a um outro recurso (e sem liberá-lo). Exemplo: Processo executa uma operação P() em um semáforo S1. Em seguida, sem executar a operação V() em S1, o processo executa a operação P() em um semáforo S2. O processo pode ficar bloqueado, esperando a liberação do segundo recurso, enquanto bloqueia outros processos que precisam do primeiro recurso. Sem posse e espera, o processo sempre estará pronto para usar seus recursos, independentemente do que outros processos façam.
25 Deadlock: Não-preempção Propriedade que diz que o uso de um recurso não pode ser interrompido, uma vez que tenha sido iniciado. Exemplo: Impressora. Neste caso, o sistema não pode retomar o recurso de um processo para passar a um outro processo. Se o recurso é preemptível, não pode haver deadlock. Sistema pode "passar" o recurso para outro processo, evitando assim a espera.
26 Deadlock: Espera Circular Propriedade que diz que há um ciclo no grafo de espera por recursos. P1 depende de R1, que está com P2, que depende de R2, que está com P3... que está com P1. Se não há espera circular, ao menos um processo tem todos os recursos de que necessita para continuar executando. E eventualmente liberar recursos necessários a outro processo.
27 Espera Circular: Exemplos
28 Soluções para Deadlock Deadlocks são solucionáveis se qualquer uma das quatro condições forem eliminadas. Existem várias estratégias do ponto de vista do SO: Previnir o deadlock: controlar o atendimento de requisições, verificando se elas são "seguras". Algoritmo do banqueiro. Enumeração de recursos. Detectar e corrigir: periodicamente, o SO verifica a alocação de recursos e o estado dos processos. Um processo é escolhido para ser morto. Ignorar o problema: nada é feito até que o usuário tome uma providência. Algoritmo da avestruz.
29 Soluções para Deadlock (mais) Na prática, maioria dos SOs ignora o problema. Em geral, o problema ocorre com baixa frequência. Não vale a pena sobrecarregar o sistema com rotinas de verificação e tratamento. Efeitos colaterias costumam ser pequenos. Outros tipos de sistemas, como bancos de dados, precisam ser mais cuidadosos. Conflitos são mais frequentes. Transações podem ser perdidas.
30 Revisão
31 Para Lembrar O que são monitores. O que são as operações wait e signal. Quais as desvantagens dos monitores. Por que usar troca de mensagens ao invés de memória compartilhada. RPC: exemplo de sistema de troca de mensagens. O que são deadlocks. Quais as 4 condições necessárias. Possíveis soluções.
Universidade 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 maisSSC0640 Sistemas Operacionais I
SSC64 Sistemas Operacionais I 2ª Aula Deadlocks 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 maisMAC422/5753 Sistemas Operacionais
MAC422/5753 Sistemas Operacionais Prof. Marcel P. Jackowski Aula #9 Sincronização no kernel e deadlocks Sobre sincronização... Tarefa complexa e sutil Exemplos através de código-fonte mostrado utilizando
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 maisSincronização e Comunicação entre Processos
Sincronização e Comunicação entre Processos Monitores/Semáforos Semáforos Mecanismos de sincronização nãoestruturados; Exige do desenvolvedor bastante cuidado, pois qualquer engano pode levar a problemas.
Leia maisFundamentos 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 maisSSC0640 Sistemas Operacionais I
SSC0640 Sistemas Operacionais I 8ª Aula Comunicação e Sincronismo de Processos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana
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 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 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 maisDEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I - 1 0 SEM/12 PROVA I Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos Aluno: G A B A R I T O Escore: Responda às perguntas de forma
Leia maisCapítulo 3 Deadlocks - Impasses
Capítulo 3 Deadlocks - Impasses 3.1. Recurso 3.2. Introdução aos deadlocks 3.3. Algoritmo do avestruz 3.4. Detecção e recuperação de deadlocks 3.5. Evitando deadlocks 3.6. Prevenção de deadlocks 3.7. Outras
Leia maisComunicação entre processos
Universidade Federal do Acre Centro de Ciências Exatas e Tecnológicas Bacharelado em Sistemas de Informação Comunicação entre processos Macilon Araújo Costa Neto macilon@ufac.br Capítulo 2 do livro do
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. DeadLock. Edeyson Andrade Gomes.
Sistemas Operacionais DeadLock Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula DeadLock Metas Algoritmos 2 DeadLock Um estado de deadlock ocorre quando dois ou mais processos estão esperando por
Leia maisSISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar
- Aula 3-1. DEADLOCK Os sistemas computacionais estão repletos de recursos que podem ser usados por um processo por vez. Exemplo: CD-ROM, Driver de Fita Dat, etc. Ter dois processos simultaneamente gravando
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 maisComunicação entre Processos
Programação Paralela e Distribuída Ordenação e Sincronização Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com http://sites.google.com/site/marceloiury/ Comunicação entre Processos Processos
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 maisSistemas Operacionais
Sistemas Operacionais I Índice 2 Processos... 1 2.2.5 Semáforos... 1 2.2.6 Monitores... 2 2.2.7 Passagem de Mensagens... 5 2 Processos 2.2.5 Semáforos Para resolver este problema, Dijkstra propôs em 1965
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 maisSistemas Distribuídos Aula 5
Sistemas Distribuídos Aula 5 Aula passada Sincronização Race condition Região crítica Locks Algoritmo de Peterson Aula de hoje Atomicidade test-and-set Locks revisitado Semáforos Dois problemas Atomicidade
Leia maisSistemas Distribuídos
Sistemas Distribuídos Deadlocks Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 11.5 pág. 340-344 2 Conteúdo Detecção de deadlock distribuído Detecção centralizada
Leia maisSOP - TADS Impasses - Deadlock
SOP - TADS Impasses - Deadlock Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Noções de deadlock Modelagem
Leia maisNotas da Aula 6 - Fundamentos de Sistemas Operacionais
1. Monitores Notas da Aula 6 - Fundamentos de Sistemas Operacionais Embora os semáforos sejam uma boa solução para o problema da exclusão mútua, sua utilização não é trivial. O programador é obrigado a
Leia maisSistemas Operacionais Concorrência. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Concorrência Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) POSIX Threads... ... POSIX Threads (2) Exercício } Executando n vezes e verificando a ordem
Leia maisCapítulo 7: Impasse (Deadlocks( Deadlocks)
Capítulo 7: Impasse (Deadlocks( Deadlocks) Capítulo 7: Impasse (Deadlocks( Deadlocks) O Problema do Impasse Modelo de Sistema Caracterização de Impasse Métodos para Manipular Impasses Prevenção de Impasse
Leia maisComunicação entre processos (2)
Comunicação entre processos (2) Pedro Cruz EEL770 Sistemas Operacionais Lembretes Proposta de trabalho Enviar para cruz@gta.ufrj.br Prazo: dia 02 de abril 2 Aula passada Comunicação entre processos é útil
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 maisImpasses. Pedro Cruz. EEL770 Sistemas Operacionais
Impasses Pedro Cruz EEL770 Sistemas Operacionais Lembretes Proposta de trabalho Enviar para cruz@gta.ufrj.br Prazo: hoje 2 Última aula Semáforos Up Down Mutexes Monitor Mensagens Bloquear no envio/recebimento
Leia maisSistemas Distribuídos Aula 2
Sistemas Distribuídos Aula 2 Aula passada Logísitica Regras do jogo Definição e características Exemplos Aula de hoje Processos IPC Características Ex. sinais, pipes, sockets Objetivos Processos O que
Leia maisSincronização de Processos (2)
Sincronização de Processos (2) Tipos de Soluções (cont.) Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software com busy wait Variável de bloqueio Alternância
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 maisProgramação Concorrente. 2º Semestre 2010
Programação Concorrente 2º Semestre 2 Tópicos de Hoje Assunto: Deadlocks Livro Texto Capítulo 4; Conceitos Iniciais; Tipos de Recursos; Condições necessárias para ocorrência de deadlock; Um sistemas livre
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 4: Programação Concorrente Diego Passos Últimas Aulas Processos Compostos por: Código (programa). Estado (memória, registradores). Em um sistema com multiprogramação:
Leia maisRoteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens
Roteiro... Conceitos de SD, vantagens e desvantagens Infra-estrutura de um SD Considerações de projeto Sistemas Distribuídos Aula 4 Karine de Pinho Peralta Modelos de Comunicação - comunicação entre processos
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Deadlock Andreza Leite andreza.leite@univasf.edu.br Plano da Aula 2 Introdução Modelo de um Sistema Computacional Característica de um Deadlock Modelagem de um Deadlock (Grafos de
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 maisDEADLOCKS IMPASSES. Vinícius Pádua
DEADLOCKS IMPASSES O que é um Deadlock? 2 O que é um Deadlock? Cenário Dois processos : Gravar CD com dados do scanner Processo A solicita o CD é autorizado Processo B solicita o scanner é autorizado Processo
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 3 Deadlocks - Impasses
Capítulo 3 Deadlocks - Impasses 3.1. Recurso 3.2. Introdução aos deadlocks 3.3. Algoritmo do avestruz 3.4. Detecção e recuperação de deadlocks 3.5. Evitando deadlocks 3.6. Prevenção de deadlocks Pearson
Leia maisINTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 10. Operações nos processos. Processos cooperativos, comunicação entre processos.
INTRODUÇÃO AOS SISTEMAS OPERACIONAIS outubro/2013 SEMANA 10 Operações nos processos. Processos cooperativos, comunicação entre processos. 1 - Introdução Um processo, ao longo da sua vida, passa por diferentes
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 Processos Semáforos Semáforos Mecanismo de sincronização que não requer espera ocupada Dijkstra propôs usar uma variável inteira para contar o n o de WAKEUPs para uso futuro Menos
Leia maisSistemas Operacionais Aula 09: Deadlocks / Impasses. Ezequiel R. Zorzal
Sistemas Operacionais Aula 09: Deadlocks / Impasses Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Desenvolver uma descrição de deadlocks, que impedem que grupos de processos simultâneos
Leia maisSistemas Operacionais. Comunicação entre processos
Sistemas Operacionais Comunicação entre processos Comunicação entre Processos Os SO s hoje são multi-tarefa Alguns processos precisam cooperar para cumprir seus objetivos Sugestões de implementação? Exemplos
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 maisINE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5)
INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5) 1.1 (Verdade/Falso) Itens próprios de processos são: Espaço de endereçamento,
Leia mais6. Mostre os principais modelos de organização interna de um sistema operacional.
Trabalho 1 Sistemas Operacionais Embarcados Engenharia Elétrica Prof. Carlos Marcelo Pedroso 1 Problemas 1. O IBM 360 modelo 75 é cerca de 50 vezes mais rápida do que o IBM 360 modelo 30. Todavia, o tempo
Leia maisRecursos. Exemplos de recursos:
Deadlocks 1. Recursos 2. Introdução aos deadlocks 3. Algoritmo Ostrich (Avestruz) 4. Detecção e recuperação de deadlocks 5. Evitar deadlocks 6. Prevenir deadlocks 7. Considerações Recursos Exemplos de
Leia maisSincronização de Processos (2)
Sincronização de Processos (2) Tipos de Soluções (cont.) Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software com busy wait Variável de bloqueio Alternância
Leia mais1B Conceitos Básicos: Indique Verdade/Falso
INE5645 - Programação Paralela e Distribuída - Prova 1B 24/04/2017 Nome 1B Conceitos Básicos: Indique Verdade/Falso a) (Verdade/Falso) Threads distintas em um processo não são tão independentes quanto
Leia maisUnidade 3. Controle de Concorrência. Primitivas de Programação Concorrente Clássica
Unidade 3 Controle de Concorrência Primitivas de Programação Concorrente Clássica Programação Concorrente A abstração de programação concorrente é o estudo de sequênciasde execução intercaladas, de instruções
Leia maisSistemas Operacionais
Sistemas Operacionais Processos - Parte 2 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 2) 1 / 33 (Processos - Parte 2) 2 / 33 (Processos - Parte 2) 3 / 33 (Processos - Parte 2) 4 / 33 (Processos
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 maisEscalonamento. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 28
Escalonamento Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Abril, 2016 1 / 28 Sumário 1 Multiprogramação 2 Escalonamento 3 Concorrência 2 / 28 Multiprogramação
Leia maisDeadlocks (impasses)
Deadlocks (impasses) Exemplos de recursos impressoras, drives, tabelas, memória, tempo de processador Sequência de eventos necessária para usar um recurso Solicitar recurso Usar recurso Liberar recurso
Leia maisThreads. Pedro Cruz. EEL770 Sistemas Operacionais
Threads Pedro Cruz EEL770 Sistemas Operacionais Nas aulas anteriores A thread ou o thread? Não sei. Já vi todos 2 Chamadas de sistema Pedido de um processo ao Sistema Operacional (SO) Bloqueante Deixa
Leia maisALGORITMOS DISTRIBUÍDOS Deadlock
ALGORITMOS DISTRIBUÍDOS Deadlock Sistemas Distribuídos 231 Um deadlock é causado pela situação onde um conjunto de processos está bloqueado permanentemente, i.e., não conseguem prosseguir a execução, esperando
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 maisSincronização e Comunicação
Sincronização e Comunicação Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 28 Sumário 1 Concorrência 2 Sistemas Multiprogramáveis Troca de mensagens
Leia maisProgramação Orientada a Objetos. Concorrência
Programação Orientada a Objetos Concorrência Cristiano Lehrer, M.Sc. Níveis de concorrência: Introdução Nível de instrução de máquina: Executando duas ou mais instruções de máquina simultaneamente. Nível
Leia maisSincronização e comunicação entre processos
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Sincronização e comunicação entre processos Em um sistema multiprogramável com
Leia maisProblema do Produtor -Consumidor. Solução por semáforos
Problema do Produtor -Consumidor Solução por semáforos Autoria Autores alunos da disciplina SO II Local Instituto de Informática UFRGS Versão v7 agosto de 2008 por C. Geyer Visão geral do assunto...2 Conceito...3
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 maisDeadlock. Um problema de concorrência. Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education
Deadlock Um problema de concorrência Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education 1 Interação entre Processos Processos que executam em paralelo podem trocar informações
Leia maisCapítulo 3. Deadlocks. Recursos
Capítulo 3 Deadlocks 3.1. Recursos 3.2. Introdução a deadlocks 3.3. O algoritmo a avestruz 3.4. Detecção e recuperação de deadlock 3.5. Evitando Deadlock 3.6. Prevenindo Deadlock 3.7. Outros assuntos 1
Leia maisMultiprocessadores & Multicomputadores
Multiprocessadores & Multicomputadores Pedro Cruz EEL770 Sistemas Operacionais Datas 13 de junho Entrega das lista 18 de Junho P2 20 e 25 de junho Apresentações finais dos trabalhos e vistas de prova 27
Leia maisAlocação de Recursos. Introdução. Sistemas de Tempo Real: Introdução. Modelo de Recursos. Modelo de Recursos. Modelo de Recursos
Introdução Sistemas de Tempo Real: Alocação de Recursos Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC Processador é o recurso mais imtante Mais essencial Outros recursos também
Leia maisAlocação de Recursos. Introdução. Sistemas de Tempo Real: Introdução. Modelo de Recursos. Modelo de Recursos. Modelo de Recursos
Introdução Sistemas de Tempo Real: Alocação de Recursos Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC Processador é o recurso mais imtante Mais essencial Outros recursos também
Leia maisProf. Silvana Rossetto 9 de julho de DCC/IM/UFRJ
Computação Concorrente (MAB117) Gabarito Segunda Prova Prof. Silvana Rossetto 9 de julho de 2015 1 DCC/IM/UFRJ Questão 1 (2,5 pts) O código Java abaixo implementa uma solução para o problema do barbeiro
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 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 maisCapítulo 7: Deadlocks. Operating System Concepts 8th Edition
Capítulo 7: Deadlocks 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 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 maisPROCESSOS. Sistemas Operacionais. Vinícius Pádua
PROCESSOS Sistemas Operacionais Processo Conceito mais importante em SO SO também é um processo Multiprogramação Relembrando Execução simultânea de vários processos CPU salta de processo em processo Ilusão
Leia maisUnidade III Gerência de Processos
Sistemas Operacionais Unidade III Gerência de Processos http://www.lncc.br/~lrodrigo Professor: Luis Rodrigo lrodrigo@lncc.br Página: 1 de 34 Unidade III: Gerência de Processos Conceito de Processo Materialização
Leia maisAula 9. Deadlocks. Caracterização Grafo de dependência Métodos de tratamento Detecção Recuperação. Universidade Federal de Minas Gerais
Aula 9 Deadlocks 1.1 1.2 1.3 1.4 1.5 1.6 O que é Caracterização Grafo de dependência Métodos de tratamento Detecção Recuperação O quê é Deadlock (1) Propriedade indesejável de um conjunto de processos
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 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 MOTIVAÇÃO 2 INTRODUÇÃO Em um sistema multiprogramado (concorrente) os processos alternam sua execução (ou seja, são executados alternadamente
Leia maisTipos de Soluções (cont.)
Sincronização de Processos (2) Tipos de Soluções (cont.) Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software com busy wait Variável de bloqueio Alternância
Leia maisSistemas Operacionais. Condição de corrida e Região crítica
Sistemas Operacionais Condição de corrida e Região crítica Região Crítica Parte do código que acessa a área compartilhada Condição em que dois processos lêem e escrevem um dado compartilhado e o resultado
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 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 mais1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU?
1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 2 O que é ambiente de execução? 3 Qual a finalidade da PCB? 4 Quais os componentes básicos da PCB? 5 Quais os 3 grupos de elemento
Leia maisSistemas Operacionais II Unix: Memória e E/S. Geraldo Braz Junior
Sistemas Operacionais II Unix: Memória e E/S Geraldo Braz Junior Gerenciamento de Memória Gerenciamento de Memória Espaço de Endereçamento 1. Segmento de código Instruções de máquina que formam o código
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 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 maisSistemas Operacionais. Prof. André Y. Kusumoto
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Fundamentos Paradigma do produtor-consumidor Sincronização de Processos Produtor while (count == BUFFER_SIZE) ; //no-op //adiciona
Leia maisExclusã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 maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE III SUMÁRIO 4. GERÊNCIA DO PROCESSADOR: 4.1 Introdução; 4.2 Funções Básicas; 4.3 Critérios de Escalonamento; 4.4 Escalonamentos Não-Preemptivos
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 maisFUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão
Unidade 5 Camada de Transporte e Aplicação Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 5.1 Protocolo UDP 5.2 Protocolo TCP 5.3 Principias Protocolos de Aplicação 5.3.1 SMTP
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 7. SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS: 7.1 Introdução; 7.2 Aplicações Concorrentes;
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 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 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 de Tempo-Real. Acesso exclusivo a recursos partilhados
Sistemas de Tempo-Real Aula 7 Acesso exclusivo a recursos partilhados O acesso exclusivo a recursos partilhados A inversão de prioridades como consequência do bloqueio Técnicas básicas para acesso exclusivo
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 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 mais