Problemas Clássicos de Sincronização

Tamanho: px
Começar a partir da página:

Download "Problemas Clássicos de Sincronização"

Transcrição

1 Problemas Clássicos de Sincronização Filósofos Jantando Filósofo i: Solução Óbvia O problema dos filósofos jantando foi introduzido e solucionado por Dijkstra em Neste problema, 5 filósofos estão sentados ao redor de uma mesa redonda e cada filósofo tem um prato de espaguete. Entre cada prato há um garfo e o espaguete está tão escorregadio que o filósofo precisa de 2 garfos para comê-lo. A vida do filósofo consiste em períodos alternados de comer e de pensar. Quando o filósofo fica com fome, ele tenta pegar o garfo da direita e o da esquerda, um de cada vez, em qualquer ordem. ausência de deadlock Boas soluções ausência de starvation alto grau de paralelismo 5 filósofos com fome, 2 podem comer Uma boa solução para o problema dos filósofos jantando é não permitir que ocorra deadlock, ou seja, quando todos os filósofos param esperando que alguém libere o garfo. Outra situação que devemos evitar é starvation onde todos os filósofos tentam continuar a executar a tentativa de pegar os garfos, mas não há nenhum progresso, ou seja, todos passam fome. Além disso, se temos 5 filósofos com fome e temos 5 garfos seria interessante deixar 2 filósofos comer obtendo assim um alto grau de paralelismo. O procedimento wait(garfo(i)) espera até que o garfo especificado esteja disponível e então, pega-o. O garfo i é o garfo da esquerda e o garfo i+1 é o garfo da direita. Esta solução não está correta pois se os 5 filósofos pegarem seus garfos esquerdos simultaneamente, nenhum será capaz de pegar o garfo direito e haverá um deadlock. O programa óbvio poderia ser modificado da seguinte maneira. O filósofo, após pegar o garfo esquerdo verifica se o garfo direito está disponível. Se não estiver disponível, ele devolve o garfo esquerdo e espera por um tempo e então repete o procedimento. Esta solução não funciona se os filósofos tentam pegar os garfos esquerdos simultaneamente. Então todos vão devolver os garfos e esperar por um tempo. Se o tempo de espera é igual para todos, então todos vão tentar pegar o garfo simultaneamente e assim por diante, para sempre. Solução com lock Filósofo i: Um aprimoramento que não resulta em deadlock nem em fome é proteger os procedimentos com um semáforo binário (lock). Antes de começar a pegar um dos garfos, o filósofo faria um wait no semáforo e após comer e devolver os garfos, faria um signal no semáforo. Neste caso, apenas um filósofo por vez pode estar comendo. Profa. Tiemi Christine Sakata 1

2 Solução Assimétrica if (i % 2 == 0) else Solução do livro Tanenbaum semaforo lock; semaforo filosofo[n] = {0, 0, 0,..., 0} int estado[n] = {T, T, T,...,T} pega_garfos(); solta_garfos(); pega_garfos() estado[i] = H; testa_garfos(i); wait(filosofo[i]); Suponha que todos os filósofos estão com fome. Cenário com paralelismo: F 0 está comendo F 2 pega garfos 2 e 3. F 1 não pega garfo nenhum. Cenário em que não há paralelismo: F 0 está comendo F 1 pega o garfo 2 F 4 pega o garfo 4 F 2 não consegue pegar o garfo 2 testa_garfos(int i) if (estado[i] == H && estado[fil_esq]!= E && estado[fil_dir]!= E) estado[i] = E; signal(filosofo[i]); solta_garfos() estado[i] = T; testa_garfos(fil_esq); testa_garfos(fil_dir); Nesta solução, temos que cada filósofo pode estar no estado T (thinking), E (eating) ou H (hungry). Um filósofo só pode passar para o estado E se nenhum vizinho estiver comendo. Os vizinhos do filósofo i são definidos pelas macros fil esq e fil dir. F 3 não consegue pegar o garfo 4 Profa. Tiemi Christine Sakata 2

3 Leitores e Escritores Dois tipos de processos: leitores e escritores Leitores: apenas lêem as informações Escritores: alteram os dados Exemplo: reserva de passagem aérea Um exemplo do conceito de leitores e escritores é um sistema de reserva de passagens aéreas. Os leitores são aqueles que precisam de informação de vôo. Note que o sistema pode permitir que vários leitores estejam ativos em um determinado tempo pois a base de dados não é alterada por ninguém. Os escritores são aqueles que desejam reservar um lugar em um determinado vôo. O sistema não deve permitir que alguém escreva ou leia enquanto um um escritor está ativo. Portanto, é preciso implementar uma poĺıtica de exclusão mútua sempre que houver um grupo de escritores e leitores. Nesta solução, o primeiro leitor que recebe acesso ao banco de dados faz um wait(db) impedindo de um escritor escrever. Os leitores subseqüentes incrementam um contador numl e ao terminar a leitura, esse contador é decrementado. Quando todos os leitores terminam sua execução, o semáforo db é liberado ao escritor. Nesta solução, se enquanto um leitor está usando o banco de dados, aparece um outro leitor, o segundo leitor é admitido. Se um escritor aparece, mas se existe leitores ativos constantemente, o escritor nunca será desbloqueado. Outra solução requer que o escritor, assim que estiver pronto, faça sua escrita o mais rápido possível, ou seja, se um escritor estiver esperando para acessar a RC, nenhum outro leitor poderá iniciar a leitura. Neste caso, os leitores podem sofrer paralisação. Houre (1974) propôs uma outra solução para este problema. Assim que um escritor termina, todos os leitores em espera recebem permissão para execução. Em seguida, assim que o grupo de leitores termina, o escritor que estava esperando pode começar e assim sucessivamente. Solução de Courtois leitor: while(true) numl = numl + 1; if (numl == 1) wait(db); le_db(); numl = numl - 1; if (numl == 0) signal(db); escritor: while(true) wait(db); escreve_db(); signal(db); Solução de Courtois Profa. Tiemi Christine Sakata 3

4 Barbeiro Adormecido O semáforo clientes conta os clientes que esperam, barbeiro indica se o barbeiro está ocupado e lock é utilizado para exclusão mútua. Quando o barbeiro chega para trabalhar, ele fica dormindo até algum cliente chegar. Quando um cliente chega, ele acorda o barbeiro. Se outro cliente chega logo em seguida, o segundo cliente será bloqueado até que o primeiro cliente libere o lock. Quando o corte de cabelo termina, o cliente sai da barbearia. O barbeiro entretanto, tenta receber o próximo cliente e na ausência de clientes, ele volta a dormir. O problema do barbeiro adormecido acontece em uma barbearia. A barbearia tem um barbeiro, uma cadeira de barbeiro e n cadeiras para os clientes esperarem. Quando um cliente chega, ele tem que acordar o barbeiro. Se um cliente chega e o barbeiro está trabalhando, ele senta se houver cadeira vazia ou vai embora se todas as cadeiras estiverem ocupadas. Solução 1 semaforo lock = 1, barbeiro = 0, clientes = 0; int cesperando = 0; cesperando = cesperando + 1; signal (lock); Solução 2 semaforo cadeiras = 5; semaforo barbeiro = 0; semaforo clientes = 0; semaforo cabelo_cortado = 0; signal(cabelo_cortado); Solução 2 if (trywait(cadeiras) == 0) wait(cabelo_cortado); signal(cadeiras); Solução 1 if (cesperando < CADEIRAS) cesperando = cesperando + 1; cabelo_cortado(); else O comando trywait tenta executar um wait no semáforo cadeira, ou seja, tenta decrementar o valor de cadeira. Se fosse executado apenas um wait, formaria uma fila dos clientes que não conseguem sentar na cadeira. Nesta solução, adicionamos um semáforo para sincronizar o corte do cabelo e outro para limitar o número de clientes esperando na cadeira. Profa. Tiemi Christine Sakata 4

5 Solução 3 semaforo cadeiras = 5; semaforo barbeiro = 0; semaforo clientes = 0; semaforo cabelo_cortado = 0; semaforo levantou = 0; signal(cabelo_cortado); wait(levantou); Solução 3 if (trywait(cadeiras) == 0) wait(cabelo_cortado); signal(levantou); signal(cadeiras); Nesta solução, um semáforo levantou foi adicionado para que o barbeiro saiba que o cliente levantou e deixar outro cliente sentar. Profa. Tiemi Christine Sakata 5

Sistemas Operacionais

Sistemas Operacionais AULA 09 Sincronização de Processos - II Monitores Conforme comentamos, o uso equivocado dos semáforos pode levar a uma situação de deadlock, por isso devemos tomar cuidado ao programar utilizando este

Leia mais

Sincronização. Cooperação entre Processos

Sincronização. Cooperação entre Processos Sincronização Parte II Programação Concorrente Cooperação entre Processos Vários processos executam em conjunto uma ou mais tarefas, nas quais Competem por recursos Indicam uns aos outros a: Ausência/existência

Leia mais

Sistemas Operacionais. Técnicas de Implementação de Exclusão Mútua. Aula VI Prof. Rosemary Silveira

Sistemas Operacionais. Técnicas de Implementação de Exclusão Mútua. Aula VI Prof. Rosemary Silveira Sistemas Operacionais Técnicas de Implementação de Exclusão Mútua Aula VI Prof. Rosemary Silveira Tópicos de Apresentação Condições de Corrida Técnicas de Implementação de Exclusão Mútua Condições de Corrida

Leia mais

Notas da Aula 6 - Fundamentos de Sistemas Operacionais

Notas 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 mais

Sistemas Operativos Colectânea de Exercícios de Sincronização Soluções

Sistemas Operativos Colectânea de Exercícios de Sincronização Soluções Sistemas Operativos LEIC LERCI Colectânea de Exercícios de Sincronização Soluções Outubro 2004 Exercícios de Sincronização A. Competição por um recurso 1. [Banco] a. void levantar(int valor) esperar(mutex);

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 11 Sincronização de Processos Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Métodos de Sincronização do Kernel

Métodos de Sincronização do Kernel Métodos de Sincronização do Kernel Linux Kernel Development Second Edition By Robert Love Tiago Souza Azevedo Operações Atômicas Operações atômicas são instruções que executam atomicamente sem interrupção.

Leia mais

Sistemas Operacionais Sincronização e Comunicação entre Processos

Sistemas Operacionais Sincronização e Comunicação entre Processos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Sincronização e Comunicação entre Processos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com

Leia mais

Revisão Ultima aula [1/2]

Revisão Ultima aula [1/2] SOP - TADS Comunicação Interprocessos - 2 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 mais

Sistemas Operacionais Aula 08: Sincronização de Processos. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 08: Sincronização de Processos. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 08: Sincronização de Processos Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o problema da seção crítica, cujas soluções podem ser usadas

Leia mais

Processos. Estados principais de um Processo: Contexto de um Processo. Nível de um Processo. http://www.dei.isep.ipp.pt/~orlando/so2/processos.

Processos. Estados principais de um Processo: Contexto de um Processo. Nível de um Processo. http://www.dei.isep.ipp.pt/~orlando/so2/processos. Página 1 de 5 Processos Consiste num método de descrição das actividades de um sistema operativo; Todo o software incluído no sistema operativo é organizado num grupo de programas executáveis. Cada um

Leia mais

Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br

Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Principais problemas programação concorrente Deadlocks (impasses) Starvation (inanição) Condições de corrida Erros de consistência na

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Comunicação e Sincronismo entre processos Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO 1 Comunicação entre Processos Processos

Leia mais

ALGORITMOS E FLUXOGRAMAS

ALGORITMOS E FLUXOGRAMAS ALGORITMOS E FLUXOGRAMAS Prof. André Backes INTRODUÇÃO Computadores = cérebros eletrônicos? Computadores são máquinas e, por si sós, não podem ser inteligentes. Alguém as projetou e deu a ela todas as

Leia mais

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios CURSO - TADS TURMA 2008.1 2 PERÍODO 3 MÓDULO AVALIAÇÃO MP2 DATA 02/10/2008 SISTEMAS OPERACIONAIS 2008/2 GABARITO COMENTADO SISTEMAS OPERACIONAIS PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida,

Leia mais

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 9: Filas com Alocação de Memória Estática O objetivo desta aula é apresentar estrutura de dados Fila e suas aplicações. Motivação A estrutura

Leia mais

Fila de Prioridade. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC 5710 - Estruturas de Dados - 2008

Fila de Prioridade. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC 5710 - Estruturas de Dados - 2008 MAC 5710 - Estruturas de Dados - 2008 Fila de prioridade Fila de prioridade é uma estrutura de dado que mantém uma coleção de elementos, cada um com uma prioridade associada. Valem as operações seguintes.

Leia mais

INTRODUÇÃO À LINGUAGEM C++

INTRODUÇÃO À LINGUAGEM C++ INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem

Leia mais

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1: Inteligência É a faculdade de criar objetos artificiais, especialmente ferramentas para fazer ferramentas. Henri Bergson. WHILE Além dos comandos if-else e switch, o controle de fluxo de um programa pode

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 5 Instruções de controle: Parte 2 Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 5.1 Introdução Instrução de repetição for Instrução de repetição do while Instrução de seleção

Leia mais

Filas. A ordem de saída corresponde diretamente à ordem de entrada dos elementos. Fila de caixa bancário

Filas. A ordem de saída corresponde diretamente à ordem de entrada dos elementos. Fila de caixa bancário Filas Fila é um tipo de lista linear onde as inserções são realizadas num extremo (final da Fila) e as remoções restritas ao outro (começo da Fila). O primeiro a entrar é o primeiro a sair e último a entrar

Leia mais

Série de Problemas - Sincronização com Semáforos

Série de Problemas - Sincronização com Semáforos Sistemas Operativos Série de Problemas - Sincronização com Semáforos Bibliografia essencial para a compreensão/realização da série: "Modern Operating Systems", Andrew S. Tanenbaum, Prentice Hall, Capítulo

Leia mais

Informática básica Telecentro/Infocentro Acessa-SP

Informática básica Telecentro/Infocentro Acessa-SP Informática básica Telecentro/Infocentro Acessa-SP Aula de hoje: Verificando data e hora, desligando o computador, janelas, copiar colar, excluindo um arquivo. Prof: Lucas Aureo Guidastre Verificando data

Leia mais

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas

Leia mais

Instalação do Sirius sem estações. O primeiro passo é instalar o Firebird 1.5, ele se encontra no CD de instalação do Sirius na pasta Firebird.

Instalação do Sirius sem estações. O primeiro passo é instalar o Firebird 1.5, ele se encontra no CD de instalação do Sirius na pasta Firebird. Instalação do Sirius sem estações 1. Instalando o Firebird...1 2. Instalando o Sirius...7 3. Configurações do Sirius:...11 Configuração dos arquivos do Sirius e Firebird...12 Firebird:...12 Sirius:...13

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.

Leia mais

1. A corrida de vetores numa folha de papel.

1. A corrida de vetores numa folha de papel. 1. A corrida de vetores numa folha de papel. desenhando a pista. o movimento dos carros. o início da corrida. as regras do jogo. 2. A corrida no computador. o número de jogadores. o teclado numérico. escolhendo

Leia mais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos

Leia mais

Estrutura Condicional C++

Estrutura Condicional C++ Estrutura Condicional C++ Resumo3 Profª. Ivre Marjorie R. Machado Estrutura Condicional Na estrutura sequencial, todos os comandos são executados independente de qualquer coisa/condição Usando a estrutura

Leia mais

Monitores. Conceito Sistemas Operacionais II

Monitores. Conceito Sistemas Operacionais II Monitores Conceito Sistemas Operacionais II Monitores Autores Daniel Artur Seelig Fábio Lutz Local Universidade Federal do Rio Grande do Sul Instituto de Informática Sistemas Operacionais II Professor

Leia mais

Sincronização de Processos (1) Mecanismos de busy wait

Sincronização de Processos (1) Mecanismos de busy wait Sincronização de Processos (1) Mecanismos de busy wait Condições de Corrida Exemplo: Fila de impressão. Qualquer processo que queira imprimir precisa colocar o seu documento na fila de impressão (compartilhada).

Leia mais

Nível da Arquitetura do Conjunto das Instruções

Nível da Arquitetura do Conjunto das Instruções Nível da Arquitetura do Conjunto das Instruções (Aula 13) Fluxo de Controle Fluxo Seqüencial de Controle e Desvios (1) Fluxo de Controle: É a seqüência na qual instruções são dinamicamente executadas Isto

Leia mais

150923-BMS15SET05-livreto_v2 APROV.indd 1

150923-BMS15SET05-livreto_v2 APROV.indd 1 150923-BMS15SET05-livreto_v2 APROV.indd 1 23/09/2015 10:29:04 150923-BMS15SET05-livreto_v2 APROV.indd 2 23/09/2015 10:29:04 Talvez você já conheça algumas opções terapêuticas disponíveis contra o câncer,

Leia mais

Sistemas Operacionais. Roteiro. Tipos de Tarefas (temporal) Marcos Laureano

Sistemas Operacionais. Roteiro. Tipos de Tarefas (temporal) Marcos Laureano Sistemas Operacionais Marcos Laureano 1/28 Roteiro Tipos de Tarefas Preempção Escalonamento de processos Tipos de escalonamentos 2/28 Tipos de Tarefas (temporal) Tarefas de tempo real Previsibilidade em

Leia mais

9 Comandos condicionais

9 Comandos condicionais 9 Comandos condicionais Um comando condicional é uma instrução empregada quando se deseja criar um desvio, isto é, a opção de executar-se ou não um determinado trecho de código, segundo uma condição. Em

Leia mais

MANUAL PABX 412 BATIK

MANUAL PABX 412 BATIK MANUAL PABX 412 BATIK OPERAÇÃO E PROGRAMAÇÃO MODO PROGRAMAÇÃO O Modo Programação é o modo de funcionamento do PABX 412 Batik que permite a execução de comandos de programação protegidos. Todos os comandos

Leia mais

Evitando conflitos em aplicações multi-thread no Delphi/Kylix

Evitando conflitos em aplicações multi-thread no Delphi/Kylix LABORATÓRIO DE ORIENTAÇÃO A OBJETOS - OOLAB Evitando conflitos em aplicações multi-thread no Delphi/Kylix Edmilson dos Santos de Jesus Salvador, março de 2002. ÍNDICE Agradecimentos............ 2 Aplicações

Leia mais

22/05/2006. Discurso do Presidente da República

22/05/2006. Discurso do Presidente da República , Luiz Inácio Lula da Silva, na cerimônia de assinatura de protocolos de intenções no âmbito do Programa Saneamento para Todos Palácio do Planalto, 22 de maio de 2006 Primeiro, os números que estão no

Leia mais

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br BC1518-Sistemas Operacionais Sincronização de Processos (aula 5 Parte 2) Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro Semáforos Monitores Passagem de Mensagem Exemplos em S.O.

Leia mais

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Encapsulamento Programação Orientada

Leia mais

compreender a importância de cada estrutura de controle disponível na Linguagem C;

compreender a importância de cada estrutura de controle disponível na Linguagem C; Aula 3 Estruturas de controle Objetivos Esperamos que, ao final desta aula, você seja capaz de: compreender a importância de cada estrutura de controle disponível na Linguagem C; construir programas em

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Sincronização entre Processos Andreza Leite andreza.leite@univasf.edu.br Sincronização Freqüentemente, os processos precisam se comunicar com outros processos. Isto ocorre quando

Leia mais

Métodos Computacionais. Fila

Métodos Computacionais. Fila Métodos Computacionais Fila Definição de Fila Fila é uma estrutura de dados dinâmica onde: Inserção de elementos se dá no final e a remoção no início O primeiro elemento que entra é o primeiro que sai

Leia mais

Mais configuração OptraImage

Mais configuração OptraImage 1 fax Personalizarconfiguraçõesdecópia...2 Definirmanualmenteasinformaçõesbásicasdofax...3 Criardestinospermanentesdefax...5 Alterarasconfiguraçõesderecebereenviarfax...7 Ajustarasopçõesdeenviodefax...8

Leia mais

SISTEMAS DIGITAIS. Fluxogramas. Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz. Dezembro de 2005 Sistemas Digitais 1

SISTEMAS DIGITAIS. Fluxogramas. Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz. Dezembro de 2005 Sistemas Digitais 1 SISTEMAS DIGITAIS Fluxogramas Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz Dezembro de 2005 Sistemas Digitais 1 Fluxogramas Em vez de diagramas de estado ou de tabelas de estados/saídas,

Leia mais

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos TUTORIAL Barra de LEDs Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 1 Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas de Computação O sistema operacional precisa garantir a operação correta do sistema de computação. Operação

Leia mais

Segurança. Guia do Usuário

Segurança. Guia do Usuário Segurança Guia do Usuário Copyright 2007 Hewlett-Packard Development Company, L.P. Microsoft é uma marca registrada da Microsoft Corporation nos Estados Unidos. As informações contidas neste documento

Leia mais

Tabelas vista de estrutura

Tabelas vista de estrutura Tabelas vista de estrutura A vista de estrutura permite definir a configuração dos dados Vamos adicionar os restantes campos à tabela carros, de acordo com o modelo de dados feito no papel 47 Tabelas vista

Leia mais

Universidade Estadual de Goiás. Trabalho da matéria de Núcleo Interdisciplinar de Estudos Independentes

Universidade Estadual de Goiás. Trabalho da matéria de Núcleo Interdisciplinar de Estudos Independentes Universidade Estadual de Goiás Ciências Contábeis 2º ano Trabalho da matéria de Núcleo Interdisciplinar de Estudos Independentes ALUNO: Vinicius Oliveira de Siqueira Trabalho apresentado para avaliação

Leia mais

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções 1 - Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções Um programa pode possuir determinados processos realizados repetidas vezes ao longo da execução do programa. Estes processos podem se agrupar

Leia mais

Universidade Federal da Paraíba

Universidade Federal da Paraíba Universidade Federal da Paraíba Mestrado em Informática Fora de Sede Universidade Tiradentes Aracaju - Sergipe Disciplina Sistemas Operacionais Professor Jacques Philippe Sauvé Aluno José Maria Rodrigues

Leia mais

Fundamentos de Teste de Software

Fundamentos de Teste de Software Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 2- Teste Estático e Teste Dinâmico Aula 4 Projeto de Teste 1 SUMÁRIO INTRODUÇÃO... 3 ANÁLISE E PROJETO DE TESTE... 3 1.

Leia mais

Energia Eólica. Atividade de Aprendizagem 3. Eixo(s) temático(s) Ciência e tecnologia / vida e ambiente

Energia Eólica. Atividade de Aprendizagem 3. Eixo(s) temático(s) Ciência e tecnologia / vida e ambiente Energia Eólica Eixo(s) temático(s) Ciência e tecnologia / vida e ambiente Tema Eletricidade / usos da energia / uso dos recursos naturais Conteúdos Energia eólica / obtenção de energia e problemas ambientais

Leia mais

Todos os microprocessadores hoje disponíveis em micros compatíveis com PC utilizam o funcionamento do 80386 como ponto de partida.

Todos os microprocessadores hoje disponíveis em micros compatíveis com PC utilizam o funcionamento do 80386 como ponto de partida. 8 0 Introdução Todos os microprocessadores hoje disponíveis em micros compatíveis com PC utilizam o funcionamento do 80386 como ponto de partida. Isso acontece por pelo menos três motivos técnicos: 0 80386

Leia mais

Resolução de sistemas lineares

Resolução de sistemas lineares Resolução de sistemas lineares J M Martínez A Friedlander 1 Alguns exemplos Comecemos mostrando alguns exemplos de sistemas lineares: 3x + 2y = 5 x 2y = 1 (1) 045x 1 2x 2 + 6x 3 x 4 = 10 x 2 x 5 = 0 (2)

Leia mais

ADMINISTRAÇÃO GERAL MOTIVAÇÃO

ADMINISTRAÇÃO GERAL MOTIVAÇÃO ADMINISTRAÇÃO GERAL MOTIVAÇÃO Atualizado em 11/01/2016 MOTIVAÇÃO Estar motivado é visto como uma condição necessária para que um trabalhador entregue um desempenho superior. Naturalmente, como a motivação

Leia mais

Manual do Painel Aceno Digital A3000/A6000. www.acenodigital.com.br. Rua Porto Alegre, 212 Jd. Agari 43 3027-2255 Cep: 86.

Manual do Painel Aceno Digital A3000/A6000. www.acenodigital.com.br. Rua Porto Alegre, 212 Jd. Agari 43 3027-2255 Cep: 86. Manual do Painel Aceno Digital A3000/A6000 Manual do Painel Aceno Digital A3000/A6000 Este manual apresenta o funcionamento e os procedimentos de configuração e instalação dos painéis Aceno Digital, modelos

Leia mais

Um jogo de preencher casas

Um jogo de preencher casas Um jogo de preencher casas 12 de Janeiro de 2015 Resumo Objetivos principais da aula de hoje: resolver um jogo com a ajuda de problemas de divisibilidade. Descrevemos nestas notas um jogo que estudamos

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 4 Aluno que não sabe programar int main() { cout

Leia mais

Comandos de repetição while

Comandos de repetição while Programação de Computadores I UFOP DECOM 2014 2 Aula prática 6 Comandos de repetição while Resumo Nesta aula vamos trabalhar com problemas cuja solução envolve realizar um cálculo ou tarefa repetidas vezes,

Leia mais

Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição

Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição Sumário Administração de Banco de dados Módulo 12 1. Administração de SGBDs - Continuação 1.1. Recuperação (Recovery) 1.1.1. Recuperação de sistema 1.1.2. Recuperação da mídia M. Sc. Luiz Alberto lasf.bel@gmail.com

Leia mais

Acessando o SVN. Soluções em Vendas Ninfa 2

Acessando o SVN. Soluções em Vendas Ninfa 2 Acessando o SVN Para acessar o SVN é necessário um código de usuário e senha, o código de usuário do SVN é o código de cadastro da sua representação na Ninfa, a senha no primeiro acesso é o mesmo código,

Leia mais

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto lasf.bel@gmail.com

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto lasf.bel@gmail.com Sumário Condições para Ocorrência de Modelagem de Evitando deadlock Algoritmo do banqueiro M. Sc. Luiz Alberto lasf.bel@gmail.com Aula - SO 1 Definição Um conjunto de N processos está em deadlock quando

Leia mais

Deadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Deadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Dispositivos e recursos são compartilhados a todo momento: impressora, disco, arquivos,

Leia mais

HEX CONEXÕES EXTREMAS EM LADRILHOS HEXAGONAIS

HEX CONEXÕES EXTREMAS EM LADRILHOS HEXAGONAIS HEX CONEXÕES EXTREMAS EM LADRILHOS HEXAGONAIS Izabelly Marya Lucena da Silva Universidade Federal de Pernambuco izabellymarya@ig.com.br Gésica Peixoto Campos Universidade Federal de Pernambuco gesica.pcampo@bol.com.br

Leia mais

CellBus DOCUMENTO DE CASO DE USO VERSÃO (1.0)

CellBus DOCUMENTO DE CASO DE USO VERSÃO (1.0) CellBus DOCUMENTO DE CASO DE USO VERSÃO (1.0) HISTÓRICO DA REVISÃO Data Versão Descrição Autor 05/04/2016 1.0 Elaboração do Documento de Caso de Uso Cibellie Adrianne 16/04/2016 1.0 Revisão Geral do Documento

Leia mais

Conteúdo. 1. Introdução. 2. Levantamento de Requisitos. 3. Análise Orientada a Objetos. 4. Projeto Orientado a Objetos 5. UML. 6.

Conteúdo. 1. Introdução. 2. Levantamento de Requisitos. 3. Análise Orientada a Objetos. 4. Projeto Orientado a Objetos 5. UML. 6. Conteúdo 1. Introdução 2. Levantamento de Requisitos 3. Análise Orientada a Objetos 4. Projeto Orientado a Objetos 5. UML 6. Métodos Ágeis Conteúdo 1. Introdução 2. Levantamento de Requisitos - Requisitos

Leia mais

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento Trabalho 7 Fila de prioridade usando heap para simulação de atendimento Data: 21/10/2013 até meia-noite Dúvidas até: 09/10/2013 Faq disponível em: http://www2.icmc.usp.br/~mello/trabalho07.html A estrutura

Leia mais

Modelos, em escala reduzida, de pontes e barragens. Simuladores de voo (ou de condução), com os quais se treinam pilotos (ou condutores).

Modelos, em escala reduzida, de pontes e barragens. Simuladores de voo (ou de condução), com os quais se treinam pilotos (ou condutores). SIMULAÇÃO 1 Introdução Entende-se por simulação a imitação do funcionamento de um sistema real recorrendo a uma representação desse sistema. Com essa representação modelo, pretende-se realizar experimentações

Leia mais

CAPÍTULO 8. CONTROLE DE CONCORRÊNCIA

CAPÍTULO 8. CONTROLE DE CONCORRÊNCIA CAPÍTULO 8. CONTROLE DE CONCORRÊNCIA Este capítulo discute em detalhe o problema de controle de concorrência em bancos de dados distribuídos. Inicialmente, para motivar a discussão, são listados vários

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

Boletim Eletrônico de Recolhimento Manual do Sistema. Boletim Eletrônico de Recolhimento. Manual do Sistema

Boletim Eletrônico de Recolhimento Manual do Sistema. Boletim Eletrônico de Recolhimento. Manual do Sistema Boletim Eletrônico de Recolhimento Manual do Sistema Versão 1.2 Junho / 2013 Sumário 1. Introdução... - 3-2. O Sistema BOLETIM ELETRÔNICO DE RECOLHIMENTO... - 3-3. Pré-requisitos... - 3-4. Primeiro Acesso...

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 10 Modelagem de atividades Qualquer um pode escrever código que um computador pode entender.

Leia mais

Aoentrar na sua cx de email vc terá uma tela como a abaixo :

Aoentrar na sua cx de email vc terá uma tela como a abaixo : MANUAL DA SUA CX DE EMAIL ( ROUNDCUBE ) Aoentrar na sua cx de email vc terá uma tela como a abaixo : 1. No centro da tela temos a lista de mensagens. Nesta lista serão exibidas as mensagens das pastas

Leia mais

Testando e Comparando Valores

Testando e Comparando Valores Testando e Comparando Valores A Instrução if Um dos recursos mais importantes de uma linguagem de computador é a capacidade de testar e comparar valores, permitindo que seu programa se comporte diferentemente

Leia mais

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton Universidade Federal de Itajubá UNIFEI Instituto de Engenharia de Sistemas e Tecnologias da Informação IESTI CCO 004 Sistemas Operacionais Prof. Edmilson Marmo Moreira 4.1 Introdução Capítulo 4 Gerência

Leia mais

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Sincronização de relógios Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 - Sincronização de Relógios Em um sistema centralizado, o tempo não é ambíguo. Quando um processo quer saber

Leia mais

Controle de Acesso Stand Alone Biofinger 22K

Controle de Acesso Stand Alone Biofinger 22K Imagem meramente ilustrativa Controle de Acesso Stand Alone Biofinger 22K 1 Sumário Apresentação... 3 1. Fixação do Equipamento... 3 2. Estrutura e Funções... 4 3. Conexões... 4 4. Conexão com outros acessórios...

Leia mais

9 - Sincronização e Comunicação entre Processos

9 - Sincronização e Comunicação entre Processos 1 9 - Sincronização e Comunicação entre Processos 91 Introdução Em um sistema multitarefa, seja com um único processador ou com mais de um processador ou ainda com vários núcleos por processador, os processos

Leia mais

Avanço Autor: Dan Troyka, 2000. Rastros Autor: Bill Taylor, 1992. Material Um tabuleiro quadrado 7 por 7. 14 peças brancas e 14 peças negras.

Avanço Autor: Dan Troyka, 2000. Rastros Autor: Bill Taylor, 1992. Material Um tabuleiro quadrado 7 por 7. 14 peças brancas e 14 peças negras. Avanço Autor: Dan Troyka, 2000 Um tabuleiro quadrado 7 por 7. 14 peças brancas e 14 peças negras. posição inicial Um jogador ganha se chegar com uma das suas peças à primeira linha do adversário, ou seja,

Leia mais

CAPÍTULO 4 CIRCUITOS SEQUENCIAIS II: CONTADORES ASSÍNCRONOS

CAPÍTULO 4 CIRCUITOS SEQUENCIAIS II: CONTADORES ASSÍNCRONOS 50 Sumário CAPÍTULO 4 CIRCUITOS SEQUENCIAIS II: CONTADORES ASSÍNCRONOS 4.1. Introdução... 52 4.2. Contadores Assíncronos Crescentes... 52 4.3. Contadores Assíncronos Decrescentes... 56 4.4. Contador Assíncrono

Leia mais

Caminhões basculantes. Design PGRT

Caminhões basculantes. Design PGRT Informações gerais sobre caminhões basculantes Informações gerais sobre caminhões basculantes Os caminhões basculantes são considerados como uma carroceria sujeita à torção. Os caminhões basculantes são

Leia mais

DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 06

DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 06 DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 06 Este é o 6º artigo da série de dicas para facilitar / agilizar os cálculos matemáticos envolvidos em questões de Raciocínio Lógico, Matemática, Matemática Financeira

Leia mais

Algoritmos e Estrutura de Dados. Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 7 Estrutura de Dados: Listas Prof. Tiago A. E. Ferreira Introdução Um das formas mais usadas para se manter dados agrupados é a lista Lista de compras, itens de estoque,

Leia mais

Arquitetura de Computadores. Tipos de Instruções

Arquitetura de Computadores. Tipos de Instruções Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada

Leia mais

Segredos dos Psicotécnicos para quem não quer ser surpreendido neste volume:

Segredos dos Psicotécnicos para quem não quer ser surpreendido neste volume: Segredos dos Psicotécnicos para quem não quer ser surpreendido www.psicotecnicos.navig8.to www.psicotecnicos.prv.co.il www.psicotecnicos.ezdn.cc www.psicotecnicos.135.it www.psicotecnicos.has.it www.psicotecnicos.hit.to

Leia mais

Estatística II Antonio Roque Aula 9. Testes de Hipóteses

Estatística II Antonio Roque Aula 9. Testes de Hipóteses Testes de Hipóteses Os problemas de inferência estatística tratados nas aulas anteriores podem ser enfocados de um ponto de vista um pouco diferente: ao invés de se construir intervalos de confiança para

Leia mais

Neurociência e Saúde Mental

Neurociência e Saúde Mental 1 DICAS PARA MELHORAR O SONO Dormir bem pode fazer toda a diferença para ir bem em uma prova, ser mais criativo no trabalho e manter uma boa memória. O sono é essencial para manter uma rotina saudável,

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais GERÊNCIA DO PROCESSADOR MACHADO/MAIA: CAPÍTULO 08 Prof. Pedro Luís Antonelli Anhanguera Educacional Gerenciamento do Processador A gerência do processador pode ser considerada a atividade

Leia mais

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados. O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados. A multiprogramação tem como objetivo permitir que, a todo instante, haja algum processo

Leia mais

SISTEMA DE INFORMAÇÃO

SISTEMA DE INFORMAÇÃO WESLLEYMOURA@GMAIL.COM SISTEMA DE INFORMAÇÃO ANÁLISE DE SISTEMAS O QUE É UM SISTEMA DE INFORMAÇÃO? Sistema de Informação (SI) é uma sequência de instruções escritas para serem interpretadas por um computador

Leia mais

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD Soluções de Acessibilidade VLibras - Desktop Manual de Instalação da Ferramenta Microsoft Windows R Núcleo de Pesquisa e Extensão / LAViD 2016 INTRODUÇÃO Objetivo Este manual contém introdução e informações

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

Leia mais