Notas da Aula 6 - Fundamentos de Sistemas Operacionais

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

Download "Notas da Aula 6 - Fundamentos de Sistemas Operacionais"

Transcrição

1 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 saber onde colocar as chamadas P e V, e precisa lembrar de liberar os semáforos (realizar a operação V) uma vez que termine a execução da sua seção crítica. Uma tentativa de simplificar o tratamento da seção crítica foi o advento dos Monitores. Os monitores são uma estrutura específica de algumas linguagens, como Java, que permitem que o programador coloque todas as funções que acessam um determinado recurso compartilhado em um mesmo bloco. Este bloco de funções é justamente o monitor. Quando um determinado processo está executando uma função declarada dentro de um monitor, dizemos que o processo está no monitor. Os monitores têm a propriedade de deixar no máximo um processo por vez acessá-los. Logo, ao declarar todas as funções que manipulam um recurso compartilhado dentro de um mesmo monitor, estamos automaticamente garantindo a exclusão mútua ao recurso. Este método tem a vantagem de ser muito simples, do ponto de vista do programador. Por outro lado, essa propriedade dos monitores por si só não oferece os mesmos recursos que um semáforo contador é capaz de oferecer. Tendo isto em mente, foram criadas duas operações especiais que podem ser executadas dentro de um monitor: a operação wait e a operação signal. Os nomes dessas operações podem variar de linguagem para linguagem, mas o funcionamento é sempre o mesmo. Ambas as operações recebem como parâmetro uma variável chamada de Variável de Condição. Uma variável de condição pode ser verdadeira ou falsa, representando alguma condição do estado atual do programa. Por exemplo, considere o seguinte código baseado em monitores que implementa um semáforo: 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() {

2 } } s := s + 1 signal IsPositive; Quando um processo chama a função P do semáforo, ele inicialmente testa se o valor atual do contador é 0. Caso seja, o processo precisa ficar bloqueado. Para isso, a operação wait é chamada, recebendo como argumento a variável de condição ispositive. Ou seja, o processo deseja esperar até que a condição ispositive se torne verdadeira. Como a condição neste momento é falsa, o processo fica bloqueado. Eventualmente, outro processo tenta executar a função V sobre o semáforo. Ele incrementa o valor do contador s e executa a operação signal sobre a variável de condição ispositive. Isso faz com que o SO escolha um dos processos que estavam bloqueados na operação wait da variável ispositive para ser desbloqueado e prosseguir sua execução. Note que as operações wait e signal burlam a propriedade de exclusão mútua dos monitores. Quando um processo fica bloqueado em uma variável de condição dentro do monitor, ele precisa que um outro processo entre no monitor e execute o signal apropriado. Em outras palavras, pode haver mais de um processo dentro do monitor ao mesmo tempo. É preciso ter cuidado ao usar monitores, pois o comportamento da execução após a chamada a uma operação signal é dependente da implementação do monitor. Uma vez que a operação signal tenha sido executada, o SO pode desbloquear um dos processos que estavam aguardando que a condição ficasse verdadeira. No entanto, qual processo será executado neste instante? O processo que disparou o signal ou o processo que foi desbloqueado neste momento? Dependendo da resposta para esta pergunta e das instruções executadas após o signal e o wait, o programa pode incorrer no problema de condição de corrida. Em relação aos semáforos, os monitores podem ser mais simples, do ponto de vista do programador. Entretanto, semáforos são mais flexíveis e, em geral, resultam em melhor desempenho, já que o programador pode posicionar as chamadas P e V nos locais mais convenientes. Além disso, semáforos são mais comuns, pois são mecanismos fornecidos pelo SO, enquanto monitores são mecanismos específicos de algumas linguagens. Há ainda a questão do cuidado no uso das operações wait e signal. 2. Troca de Mensagens Todos os mecanismos discutidos até então relacionados a programação concorrente são voltados para sistemas de memória compartilhada. Em todos os exemplos vistos até aqui, é necessário que haja uma memória compartilhada para que algum tipo de variável de controle seja manipulada por vários processos. Existem, no entanto, programas concorrentes que são executados em sistemas distribuídos, ou

3 seja, sistemas nos quais não há uma memória compartilhada entre os vários processadores (e processos). Neste tipo de programa, toda comunicação e sincronização entre processos tem que ser realizada através de trocas de mensagens pela rede que interliga os processadores. Esta troca de mensagens é feita através de duas funções básicas: a função Send e a função Receive. A função Send é utilizada para enviar uma mensagem para outro processo. Esta função recebe, no mínimo, dois argumentos: o endereço do processo de destino e o os dados a serem enviados. Há várias maneiras de endereçar um processo em uma máquina remota. Por exemplo, em redes TCP/IP, em geral, um processo em uma máquina é endereçado pelo IP da máquina e a porta do processo. Em alguns sistemas operacionais, existe ainda a possibilidade de utilizar um mecanismo de Caixa Postal. Uma caixa postal é um endereço cujas mensagens podem ser recebidas por vários processos na máquina. Um exemplo disso é um programa que dispara vários processos, todos capazes de atender a um mesmo tipo de requisição. Quando um cliente faz uma requisição, ele envia sua mensagem para a caixa postal dos processos. Em algum momento, um dos processos consulta a caixa postal, obtendo a mensagem do cliente. Geralmente, considera-se que a função Send é não-bloqueante. Ou seja, o processo que chama a função Send não espera que a mensagem seja efetivamente recebida pelo processo de destino. Uma vez que a mensagem tenha sido enviada, o processo remetente pode continuar sua execução. Algumas vezes, no entanto, é útil que um processo fique bloqueado na função Send até que exista uma confirmação de que a mensagem foi recebida. A função Receive é utilizada para receber uma mensagem. A função recebe, no mínimo, um argumento: uma posição de memória para armazenar a mensagem recebida. É comum, no entanto, que a função Receive possa receber como argumento também o endereço do processo do qual deseja-se receber uma mensagem. Em geral, a função Receive é bloqueante, o que significa que o processo que a chamou ficará bloqueado até que haja uma mensagem a ser recebida. Por outro lado, existem casos em que é interessante que a função Receive seja não-bloqueante. Neste caso, o processo pode apenas verificar se há novas mensagens a receber. Caso não haja, a função Receive retorna um erro, o processo prossegue executando outras tarefas e eventualmente volta a chamar a função Receive. Ambas as funções Send e Receive podem fazer uso de buffers. Por exemplo, o SO pode manter um buffer de recepção para que mensagens destinadas a um certo processo não sejam perdidas, caso este processo demore muito tempo para tentar recebê-las. Enquanto o processo não faz uma chamada à função Receive, o SO guarda as mensagens recebidas em um buffer. Buffers geralmente trazem benefícios de desempenho aos sistemas. Caso não haja buffers, os envios e recebimentos de mensagens teriam que ser síncronos, para garantir que o remetente não sobrescrevesse sua própria mensagem com um novo envio. Isso reduz a possibilidade de processamento paralelo das tarefas de um programa concorrente. As redes de comunicação utilizam protocolos para gerenciar o envio e recebimento dos dados.

4 Alguns dos protocolos tendem a ser complexos, em termos de implementação. Para simplificar a escrita de programas concorrentes em ambientes distribuídos, é quase sempre tarefa do SO implementar os protocolos de rede. Desta forma, uma chamada à função Send feita por um processo de uma aplicação qualquer se resume a basicamente transferir a mensagem para uma área de memória do SO, de forma que o próprio SO se encarregue do envio deste ponto em diante. Um exemplo clássico de sistema de comunicação entre processos através de troca de mensagens é o RPC (Remote Procedure Call). O RPC utiliza as primitivas Send e Receive para implementar um sistema no qual um processo em uma máquina local pode requisitar a outro processo em uma máquina remota que execute alguma função ou rotina. O processo local envia uma mensagem para o processo remoto indicando o nome da rotina a ser executada e os parâmetros para execução. Ao receber a mensagem, o processo remoto executa a rotina, verifica se houve erros, e envia uma mensagem de volta para o processo local contendo o resultado da computação. Existem várias implementações diferentes do RPC e, em geral, elas não são compatíveis umas com as outras. O RPC também é muitas vezes considerado um mecanismo inseguro. No entanto, até hoje existem serviços comuns que utilizam o RPC. Um exemplo é o NFS (Network File System), um sistema de arquivos acessado através da rede. Os arquivos são armazenados no disco rígido de um servidor e outras máquinas clientes fazem requisições de criação, remoção, leitura e escrita de arquivos através de chamadas RPC. 3. Deadlock Dizemos que N processos estão em deadlock quando cada um deles está bloqueado à espera de um evento que só pode ser causado por um dos outros N processos. Quando isso ocorre, é impossível que os processos sejam desbloqueados, pois o evento necessário para isso nunca ocorrerá, dado que o processo que poderia causá-lo também está bloqueado. A menos que haja a interferência de alguma entidade externa (um outro processo que não faz parte do deadlock, por exemplo), estes N processos ficarão bloqueados indefinidamente. Deadlocks geralmente ocorrem por causa de disputas de recursos entre processos. Por exemplo, quando processos disputam pela oportunidade executar uma seção crítica. Um exemplo bastante simples de deadlock ocorre nos trechos de código abaixo: Processo 1:... P(S1); P(S2); V(S1); V(S2);

5 Processo 2:... P(S2); P(S1); V(S1); V(S2); Em determinado ponto da execução, o processo 1 executa a operação P em dois semáforos, S1 e S2, respectivamente. O processo 2 faz o mesmo, porém em ordem invertida. Suponha que, logo após a execução de P(S1), o processo 1 seja interrompido e substituído pelo processo 2. Por sua vez, o processo 2 executa P(S2) e tenta executar P(S1). Suponha ainda que ambos os semáforos estejam sendo usados para exclusão mútua. Logo, o processo 2 ficará bloqueado na operação P(S1). Ao voltar ao processador, o processo 1 tenta executar P(S2). Entretanto, ele também ficará bloqueado, pois o processo 2 já executou a operação P sobre o semáforo S2. Ambos os processos, portanto, estão bloqueados e não há como resolver o impasse, pois o processo 1 depende de que o processo 2 continue sua execução para chegar ao ponto do código no qual a operação V(S2) é chamada. Como o processo 2 está bloqueado, isso nunca acontecerá. O mesmo raciocínio se aplica no sentido inverso. Situações de deadlock são facilmente representáveis através de uma estrutura conhecida como Grafo de Disputa de Recursos. Este grafo tem dois tipos de vértices: processos e recursos. Um arco saindo de um processo em direção a um recurso simboliza o fato de que aquele processo deseja utilizar este recurso. Um arco saindo de um recurso e indo em direção a um processo representa que aquele recurso está alocado para este processo. Existem 4 condições necessárias para ocorrência de deadlocks: 1. exclusão mútua; 2. posse e espera; 3. não-preempção; e 4. espera circular. Exclusão mútua quer dizer que um determinado recurso não pode ser acessado simultaneamente por dois processos. Um exemplo de recurso que requer exclusão mútua são as regiões críticas. Como visto nas aulas anteriores, se dois processos acessam simultaneamente uma seção crítica, pode acontecer uma condição de corrida. Posse e espera significa que um determinado processo fez uma requisição para obter um recurso A, obteve este recurso (o SO alocou o recurso para o processo) e, antes de liberá-

6 lo, o processo realizou uma requisição por um recurso B. Se o recurso B estiver indisponível, o processo será bloqueado, estando em posse do recurso A (e, por isso, potencialmente bloqueando processos que necessitam do recurso A). Um exemplo simples disso é a cópia de dois arquivos. Suponha um processo que crie uma cópia de um arquivo. Para isso, ele primeiro tenta abrir o arquivo de origem. Uma vez que o SO tenha dado o direito a este processo de ler o arquivo, o processo requisita a abertura do arquivo de destino. Não-preempção significa que um dado recurso, uma vez que tenha sido alocado para um determinado processo, não pode ser retirado do processo, até que o mesmo termine de utilizálo. Por outro lado, um recurso é dito preemptível quando o SO pode retirá-lo do processo a qualquer momento, sem prejudicar a utilização do mesmo pelo processo. Um exemplo de recurso preemptível é o processador. O SO pode, a qualquer momento, interromper a execução de um processo e passar o processador para outro. Em outro momento, o processador é devolvido ao processo original que continua sua execução do exato ponto onde havia parado. Um exemplo de recurso não-preemptível é uma região crítica. Uma vez que um processo tenha recebido o direito de entrar na região crítica, o SO não pode simplesmente retirá-lo de lá e deixar que outro processo entre. Isso porque o processo original pode já ter realizado alterações parciais nos dados acessados na região, que fariam o programa concorrente incorrer em uma condição de corrida. Espera circular significa que existe um ciclo no grafo de disputa de recursos. Por exemplo, suponha que um processo P1 necessita do recurso R1, que está em posse de P2, que necessita do recurso R2, que está em posse de P3, que necessita do recurso R3, que está em posse de P1. Isso quer dizer que existe um ciclo de dependência entre os processos. Note, no entanto, que o ciclo de espera não necessariamente contém todos os processos e recursos que participam do deadlock. No exemplo citado, pode existir um processo P4 que necessita do recurso R3 (que está em posse de P1). Embora P4 não faça parte do ciclo, ele participa do deadlock, pois está bloqueado esperando por um evento que apenas o processo P1 pode provocar. É importante lembrar que estas 4 condições são necessárias. Ou seja, todas elas precisam ser verdadeiras simultaneamente para todos os recursos e processos para que possa existir um deadlock. Em outras palavras, se qualquer uma destas condições não for verdadeira, não é possível existir deadlock (ao menos, não em relação ao conjunto de processos e recursos considerados). A exclusão mútua é necessária à ocorrência de deadlocks, porque um recurso que pode ser compartilhado não faz com que seus processos requisitantes fiquem bloqueados. Se os processos não estão bloqueados, eles sempre podem liberar os demais recursos, possibilitando a execução dos demais processos. A posse e espera é necessária à ocorrência de deadlocks, porque se processos acessam um único recurso por vez (i.e., se o processo requisita um recurso, o utiliza e depois o libera antes de realizar novas requisições), eles nunca ficarão bloqueados durante o uso dos recursos.

7 Desta forma, uma vez que um processo tenha conseguido um recurso, ele eventualmente terminará de usá-lo e poderá liberá-lo desbloqueando os demais processos que estão aguardando. A não-preempção é necessária à ocorrência de deadlocks, porque se um dado recurso é preemptível, o SO sempre pode interromper o uso do processo atual, e passá-lo para um outro processo. Desta forma, processos nunca ficarão permanentemente bloqueados. A espera circular é necessária à ocorrência de deadlocks, porque se um ciclo de espera não existe, então há obrigatoriamente (ao menos) um processo de posse de todos os recursos necessários para continuar a sua execução. Neste caso, eventualmente este processo terminará de utilizar os recursos, liberando-os para outros processos atualmente bloqueados. Esta sequência continua até que todas as demandas de recursos sejam atendidas. Note que deadlock não é a mesma coisa que o travamento de um conjunto de processos. Suponha que um processo P1 tenha todos os recursos dos quais precisa para continuar a sua execução. Suponha ainda que haja outros processos que necessitam dos recursos alocados para P1 para sua execução e, por isso, estejam bloqueados no momento. Existe a possibilidade de P1 jamais liberar estes recursos, fazendo com que os demais processos fiquem indefinidamente bloqueados. Isto, no entanto, não se caracteriza como um deadlock, pois, segundo a definição, todos os processos envolvidos precisariam estar bloqueados. Neste caso, P1 não está bloqueado. Sua execução não depende de eventos que só possam ser disparados por um ou mais processos bloqueados. P1 simplesmente não liberou seus recursos, ou por um erro de programação, ou por uma atitude deliberada do programador. Em todo caso, P1 não pertence a um deadlock. Por outro lado, os processos bloqueados estão aguardando um evento que só pode ser disparado por P1 (a liberação dos recursos). Neste caso, eles dependem de um processo que não participa de um deadlock. Logo, segundo a definição, esta situação não é um deadlock. É fácil perceber que não se trata de um deadlock apenas pela observação de que não existe espera circular, neste caso. Logo, um deadlock é impossível. Existem três estratégias diferentes para solucionar os deadlocks. A primeira delas é a prevenção. Neste caso, toda vez que um processo requisitar algum recurso, o SO deve se certificar de que a concessão do recurso não levará o sistema a um deadlock. Existem vários métodos na literatura para isso, incluindo o Algoritmo do Banqueiro e a Enumeração de Recursos. Uma outra estratégia é a detecção e correção. Ou seja, ao invés de tentar previnir a ocorrência dos deadlocks, o SO deixa que eles aconteçam. Periodicamente, o SO verifica o estado atual do sistema, determinando se existe um deadlock. Caso exista, o SO toma alguma atitude, como matar um dos processos envolvidos, em uma tentativa de desfazer o conflito. A última estratégia é simplesmente não fazer nada. Ao invés de tentar previnir ou consertar situações de deadlock, o SO deixa que elas aconteçam e que os usuários da máquina se

8 encarreguem de tomar alguma atitude (por exemplo, pedir ao SO que mate um dos processos envolvidos). Esta estratégia é comumente chamada de algoritmo da avestruz, numa referência à suposta atitude deste animal em situações de perigo, e é adotada em uma série de áreas. Embora possa parecer uma displicência adotar esta estratégia, existe um forte argumento a seu favor: as técnicas de prevenção e detecção de deadlocks são, em geral, custosas. Além disso, a ocorrência de deadlocks em Sistemas Operacionais é relativamente rara e não costuma causar grandes danos. Portanto, pode ser mais vantajoso deixar que o problema ocorra e delegar a tarefa de correção ao usuário, que empregar métodos complexos, que farão o SO ocupar mais memória e se tornar mais lento. A grande maioria dos SOs adotam esta estratégia, justamente por este motivo. Há alguns sistemas, no entanto, nos quais estratégias de prevenção ou detecção e correção de deadlocks são usadas. Sistemas Operacionais de equipamentos que realizam tarefas de muita importância e sistemas gerenciadores de banco de dados precisam implementar tais mecanismos, pois ou deadlocks são muito frequentes (caso dos bancos de dados), ou suas consequências não são toleráveis (caso dos primeiros sistemas).

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

MODELAGEM E SIMULAÇÃO

MODELAGEM E SIMULAÇÃO MODELAGEM E SIMULAÇÃO Professor: Dr. Edwin B. Mitacc Meza edwin@engenharia-puro.com.br www.engenharia-puro.com.br/edwin Terminologia Básica Utilizada em de Sistemas Terminologia Básica Uma série de termos

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais

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

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger O controle da entrada e saída (E/S ou I/O, input/output) de dados dos dispositivos é uma das funções principais de um sistema operacional.

Leia mais

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona. Aula 14 Redes de Computadores 24/10/07 Universidade do Contestado UnC/Mafra Sistemas de Informação Prof. Carlos Guerber ROTEAMENTO EM UMA REDE DE COMPUTADORES A máscara de sub-rede é utilizada para determinar

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

Arquitetura dos Sistemas Operacionais

Arquitetura dos Sistemas Operacionais Arquitetura dos Sistemas Operacionais Arquitetura de um Sistema Operacional Basicamente dividido em shell é a interface entre o usuário e o sistema operacional é um interpretador de comandos possui embutido

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

2 Modelos de Implementação

2 Modelos de Implementação 2 Modelos de Implementação Os modelos de concorrência definem como uma aplicação atende às requisições concorrentes. Os modelos de sandboxes definem como o ambiente das aplicações são criados. Os modelos

Leia mais

Permitir a troca de mensagens de texto entre os dois alunos; Permitir que um aluno enviasse para o outro uma cópia de prova;

Permitir a troca de mensagens de texto entre os dois alunos; Permitir que um aluno enviasse para o outro uma cópia de prova; Software Básico 2008.2 Trabalho Prático 1: programação de E/S, uso de sinais Prática de programação voltada a eventos Trabalho individual ou em dupla Data de entrega: 01/10/2008 1 O Objetivo Utilizando

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS MACHADO/MAIA: CAPÍTULO 07, PÁGINA 101 Prof. Pedro Luís Antonelli Anhanguera Educacional sistemas multiprogramáveis Os sistemas multiprogramáveis

Leia mais

Fundamentos de Sistemas Operacionais

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

Sistemas Operativos. Deadlocks. 3º ano ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@ipiaget.net)

Sistemas Operativos. Deadlocks. 3º ano ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@ipiaget.net) Sistemas Operativos Deadlocks 3º ano ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@ipiaget.net) Sistemas Operativos [2011/12] Eng.º Anilton Silva Fernandes

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

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Software Sistema de Entrada/Saída Princípios de Software Tratadores (Manipuladores) de Interrupções Acionadores de Dispositivos (Device Drivers)

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

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

Unidade 11: A Unidade de Controle Prof. Daniel Caetano

Unidade 11: A Unidade de Controle Prof. Daniel Caetano Arquitetura e Organização de Computadores 1 Unidade 11: A Unidade de Controle Prof. Daniel Caetano Objetivo: Apresentar as funções o mecanismo de atuação da Unidade de Controle. Bibliografia: - STALLINGS,

Leia mais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Exemplos de SD Quais podem ser? Ex. de SD: Internet Internet é um conjunto de redes de computadores, de muitos tipos diferentes,

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

Sistemas Operacionais I

Sistemas Operacionais I Sistemas Operacionais I Material Baseado no Livro Sistemas Operacionais Modernos 2ª. Ed. da Pearson Education 1 Agenda Deadlocks Gerenciamento de Memória 2 1 DEADLOCKS 3 Recursos Exemplos de recursos de

Leia mais

Disciplina de Sistemas Distribuídos. Sincronização em SD. Prof. M.Sc. Alessandro Kraemer kraemer@utfpr.edu.br. Kraemer

Disciplina de Sistemas Distribuídos. Sincronização em SD. Prof. M.Sc. Alessandro Kraemer kraemer@utfpr.edu.br. Kraemer Disciplina de Sistemas Distribuídos Sincronização em SD Prof. M.Sc. Alessandro kraemer@utfpr.edu.br Cronograma Contextualização Tipos de sincronização Mecanismos para sincronização da região crítica Exclusão

Leia mais

Comunicação em Sistemas Distribuídos. Bruno M. Carvalho Sala: 3B2 Horário: 35T34

Comunicação em Sistemas Distribuídos. Bruno M. Carvalho Sala: 3B2 Horário: 35T34 Comunicação em Sistemas Distribuídos Bruno M. Carvalho Sala: 3B2 Horário: 35T34 Comunicação em Sistemas Distribuídos Protocolos regras que os processos que estão se comunicando tem de seguir Protocolos

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

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

Redes de Computadores (RCOMP 2014/2015)

Redes de Computadores (RCOMP 2014/2015) Redes de Computadores (RCOMP 2014/2015) Desenvolvimento de aplicações de rede UDP e TCP 1 Protocolo UDP ( User Datagram Protocol ) Tal como o nome indica, trata-se de um serviço de datagramas, ou seja

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

Sistemas Distribuídos Modelo Cliente-Servidor

Sistemas Distribuídos Modelo Cliente-Servidor Sistemas Distribuídos Modelo Cliente-Servidor Disciplina: Sistemas Distribuídos Prof.: Edmar Roberto Santana de Rezende Faculdade de Engenharia de Computação Centro de Ciências Exatas, Ambientais e de

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 Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,

Leia mais

http://www.matematica.br/programas/icg. 5. Uma lousa denominada EPI (registrador de endereço de próxima instrução).

http://www.matematica.br/programas/icg. 5. Uma lousa denominada EPI (registrador de endereço de próxima instrução). Universidade de São Paulo Instituto de Matemática e Estatística DCC Leônidas O. Brandão 1 Computador à Gaveta O objetivo deste texto é introduzir os primeiros conceitos de algoritmos a partir de um modelo

Leia mais

Comunicação de Dados

Comunicação de Dados UNISUL 2013 / 1 Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática 1 Comunicação de Dados Aula 6 Agenda Projeto da camada de enlace de dados Detecção e correção de erros Protocolos

Leia mais

MANUAL DA SECRETARIA

MANUAL DA SECRETARIA MANUAL DA SECRETARIA Conteúdo Tela de acesso... 2 Liberação de acesso ao sistema... 3 Funcionários... 3 Secretaria... 5 Tutores... 7 Autores... 8 Configuração dos cursos da Instituição de Ensino... 9 Novo

Leia mais

Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8 th Edition

Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8 th Edition Capítulo 11: Implementação de Sistemas de Arquivos Silberschatz, Galvin and Gagne 2009 Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin

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

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

Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes

Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes Pág 4 Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes 1 APRESENTAÇÃO DA UNIDADE CURRICULAR A unidade curricular de Lógica para a programação tem como objetivo promover o estudo dos principais

Leia mais

1. Arquivos Seqüenciais

1. Arquivos Seqüenciais 1. Arquivos Seqüenciais 1.1. Introdução Historicamente, os arquivos seqüências são associados as fitas magnéticas devido a natureza seqüencial deste meio de gravação. Mas os arquivos seqüências são também

Leia mais

Problemas Clássicos de Sincronização

Problemas Clássicos de Sincronização 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 1965. Neste problema, 5 filósofos estão

Leia mais

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Introdução É preciso conhecer a estrutura de um sistema de computação antes que possamos explorar os detalhes de sua operação.

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

Conceitos básicos da linguagem C

Conceitos básicos da linguagem C Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por

Leia mais

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade Introdução É sabido que os processos rodam em processadores. Nos sistemas tradicionais existe somente um único processador, de forma que não há dúvida a respeito de como ele deve ser usado. Em um sistema

Leia mais

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino.

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino. Redes de Computadores Transporte Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Camada de transporte Sua função é: Promover uma transferência de dados confiável e econômica

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

Qual a importância da Segurança da Informação para nós? Quais são as características básicas de uma informação segura?

Qual a importância da Segurança da Informação para nós? Quais são as características básicas de uma informação segura? Qual a importância da Segurança da Informação para nós? No nosso dia-a-dia todos nós estamos vulneráveis a novas ameaças. Em contrapartida, procuramos sempre usar alguns recursos para diminuir essa vulnerabilidade,

Leia mais

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS Aluno: Ricardo Gomes Leal Costa Orientadora: Noemi de la Rocque Rodriguez Introdução A biblioteca DALua [1], fruto do projeto anterior, tem por objetivo oferecer

Leia mais

Banco de Dados Orientado a Objetos

Banco de Dados Orientado a Objetos Banco de Dados Orientado a Objetos MODELAGEM, ANÁLISE, PROJETO e CLASSIFICAÇÃO Interação combinando lógica, através de objetos que contém os dados. Estes divididos conforme seus tipos e métodos (classe),

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

UM GUIA RÁPIDO ORIENTADO A RESULTADOS (vigência: 29 JUN 2009)

UM GUIA RÁPIDO ORIENTADO A RESULTADOS (vigência: 29 JUN 2009) GESTÃO DE PROCESSOS UM GUIA RÁPIDO ORIENTADO A RESULTADOS (vigência: 29 JUN 2009) 1. O QUE É PROCESSO? Processos têm sido considerados uma importante ferramenta de gestão, um instrumento capaz de aproximar

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

Gerenciamento Básico B de Memória Aula 07

Gerenciamento Básico B de Memória Aula 07 BC1518-Sistemas Operacionais Gerenciamento Básico B de Memória Aula 07 Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro Introdução Espaço de Endereçamento Lógico vs. Físico Estratégias

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

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

Aula 12: Funções. Pré-requisitos: Todas as aulas anteriores deste módulo. 1. Aproveitando Códigos no Programa

Aula 12: Funções. Pré-requisitos: Todas as aulas anteriores deste módulo. 1. Aproveitando Códigos no Programa Aula 12: Funções Nesta aula explicaremos o que são e como usar funções nos seus programas em JavaScript. Você aprenderá como elas podem receber e retornar valores à estrutura que as acionou. Entenderá

Leia mais

REDES DE COMPUTADORES HISTÓRICO E CONCEITOS

REDES DE COMPUTADORES HISTÓRICO E CONCEITOS REDES DE COMPUTADORES HISTÓRICO E CONCEITOS BREVE HISTÓRICO A década de 60 Surgiram os primeiros terminais interativos, e os usuários podiam acessar o computador central através de linhas de comunicação.

Leia mais

IMPLEMENTAÇÃO DE ALGORITMOS DE APRENDIZADO MULTI- AGENTE EM UM TIME DE FUTEBOL DE ROBÔS

IMPLEMENTAÇÃO DE ALGORITMOS DE APRENDIZADO MULTI- AGENTE EM UM TIME DE FUTEBOL DE ROBÔS IMPLEMENTAÇÃO DE ALGORITMOS DE APRENDIZADO MULTI- AGENTE EM UM TIME DE FUTEBOL DE ROBÔS Aluno: Maurício Pedro Silva Gonçalves Vieira Orientador: Karla Figueiredo Introdução Uma partida de futebol robótico

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

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Tipos de Servidores. Servidores com estado

Tipos de Servidores. Servidores com estado Tipos de Servidores Com Estado X Sem Estado Sequenciais X Concorrentes Com Conexão X Sem Conexão Servidores com estado Servidores com estado armazenam informação sobre cada cliente. Operações podem ser

Leia mais

Sincronização de Processos (4) Monitores

Sincronização de Processos (4) Monitores Sincronização de Processos (4) Monitores Monitores (1) Sugeridos por Dijkstra (1971) e desenvolvidos por Hoare (1974) e Brinch Hansen (1975), são estruturas de sincronização de alto nível, que têm por

Leia mais

Sistemas Operativos I

Sistemas Operativos I Arquitectura de um Computador Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 Sumário Arquitectura de um Computador Estrutura de I/O Estrutura de Armazenamento Hierarquia de Armazenamento Protecção

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

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread; CAPÍTULO VI THREADS 6.1 INTRODUÇÃO Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread; O sistema operacional Toth, em 1979, foi o primeiro a implementar

Leia mais

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados Prof. Hugo Souza Até agora vimos como é formada a infraestrutura física e lógica das bases de dados com os principais componentes

Leia mais

Sincronização. Sincronização de Relógios. Relógios Físicos

Sincronização. Sincronização de Relógios. Relógios Físicos Sincronização Embora a comunicação entre processos seja essencial em Sistemas Distribuídos, a sincronização de processos é também muito importante. Por exemplo: o É importante que vários processos não

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

Grupos de Processos (Comunicação Grupal)

Grupos de Processos (Comunicação Grupal) Grupos de Processos (Comunicação Grupal) Roteiro Definição de Grupos Tipos (organização) de grupos Atomicidade Ordenação de mensagens 2 RPC Comunicação entre Pares (duas partes) Cliente - Servidor Comunicação

Leia mais

Sistemas de Informações Gerenciais Introdução as redes de comunicação e redes de computadores Prof. MSc Hugo Vieira L. Souza

Sistemas de Informações Gerenciais Introdução as redes de comunicação e redes de computadores Prof. MSc Hugo Vieira L. Souza Sistemas de Informações Gerenciais Introdução as redes de comunicação e redes de computadores Prof. MSc Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão reservados

Leia mais

Curvas de nível homotópicas a um ponto

Curvas de nível homotópicas a um ponto Curvas de nível homotópicas a um ponto Praciano-Pereira, T Sobral Matemática 6 de agosto de 2011 tarcisio@member.ams.org pré-prints da Sobral Matemática no. 2011.03 Editor Tarcisio Praciano-Pereira, tarcisio@member.ams.org

Leia mais

O texto desta seção foi publicado em http://msdn.microsoft.com/ptbr/library/ms177433.aspx. o http://msdn.microsoft.com/pt-br/library/ms178104.

O texto desta seção foi publicado em http://msdn.microsoft.com/ptbr/library/ms177433.aspx. o http://msdn.microsoft.com/pt-br/library/ms178104. AULA 12 - Deadlocks Em alguns casos pode ocorrer a seguinte situação: um processo solicita um determinado recurso e este não está disponível no momento. Quando isso ocontece o processo entra para o estado

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos

Leia mais

Conceito de processo como uma unidade de trabalho em um sistema moderno de tempo compartilhado. Estados de um processo.

Conceito de processo como uma unidade de trabalho em um sistema moderno de tempo compartilhado. Estados de um processo. gerenciamento de processos Objetivo Compreender a maneira como o sistema operacional controla o gerenciamento dos programas em execução por meio do gerenciamento de processos no qual cada processo representa

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Processos e Threads Andreza Leite andreza.leite@univasf.edu.br Plano de Aula 2 Gerenciamento de Processos Threads Aplicações com múltiplas Threads Concorrência e Compartilhamento

Leia mais

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Existem inúmeras ferramentas (software) baseadas em RdP que permitem desenvolver modelar e analisar sistema de RdP. Algumas

Leia mais

Faculdade de Tecnologia de Barueri Padre Danilo José de Oliveira Ohl. Portaria nº 05/2014

Faculdade de Tecnologia de Barueri Padre Danilo José de Oliveira Ohl. Portaria nº 05/2014 Página 1 de 9 Portaria nº 05/2014 Estabelece e Regulamenta a Política de Uso dos Computadores, Laboratórios de Informática e Equipamentos Eletrônicos da Faculdade de Tecnologia de Barueri. O Diretor da

Leia mais

Guia de funções do SWCA (System-Wide Call Appearance, Apresentação de chamada em todo o sistema)

Guia de funções do SWCA (System-Wide Call Appearance, Apresentação de chamada em todo o sistema) Guia de funções do SWCA (System-Wide Call Appearance, Apresentação de chamada em todo o sistema) Nº do componente N0069077 Novembro de 2005 Sobre as teclas do SWCA (System-Wide Call Appearance, Apresentação

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

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos Aula 23 Distribuídos SOs de Rede Em sistemas operacionais de rede você sabe quando é local e quando é remoto. Assim, o trabalho não muda, com exceção de comandos para acesso remoto: - telnet - ftp - etc.

Leia mais

Manual de instalação, configuração e utilização do Enviador XML

Manual de instalação, configuração e utilização do Enviador XML Manual de instalação, configuração e utilização do Enviador XML 1. Conceitos e termos importantes XML Empresarial: é um sistema web (roda em um servidor remoto) de armazenamento e distribuição de documentos

Leia mais

UM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS

UM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS UM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS Jean Henrique Zenzeluk* Sérgio Ribeiro** Resumo. Este artigo descreve os conceitos de Orientação a Objetos na linguagem de programação

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 Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental

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

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

Programação Distribuída

Programação Distribuída Unidade 4 Programação Distribuída Transações Distribuídas O que são? São sistemas compostos por diversas partes cooperantes que são executadas em máquinas diferentes interconectadas por uma rede Exemplos

Leia mais