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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br Introdução a Banco de Dados Aula 03 Prof. Silvestri www.eduardosilvestri.com.br Arquiteturas de Banco de Dados Arquiteturas de BD - Introdução Atualmente, devem-se considerar alguns aspectos relevantes

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

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

Redes de Computadores II

Redes de Computadores II Redes de Computadores II UDP Prof: Ricardo Luís R. Peres Tem como objetivo prover uma comunicação entre dois processos de uma mesma sessão que estejam rodando em computadores dentro da mesma rede ou não.

Leia mais

Eventos independentes

Eventos independentes Eventos independentes Adaptado do artigo de Flávio Wagner Rodrigues Neste artigo são discutidos alguns aspectos ligados à noção de independência de dois eventos na Teoria das Probabilidades. Os objetivos

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

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 3-1. A CAMADA DE REDE (Parte 1) A camada de Rede está relacionada à transferência de pacotes da origem para o destino. No entanto, chegar ao destino pode envolver vários saltos em roteadores intermediários.

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

Este artigo abaixo foi produzido originalmente para a Network Core Wiki. Reproduzo-a aqui na íntegra. Publicado originalmente em 07/12/2007.

Este artigo abaixo foi produzido originalmente para a Network Core Wiki. Reproduzo-a aqui na íntegra. Publicado originalmente em 07/12/2007. Vírus no Linux? Este artigo abaixo foi produzido originalmente para a Network Core Wiki. Reproduzo-a aqui na íntegra. Publicado originalmente em 07/12/2007. Interface de uma distribuição Linux Uma das

Leia mais

UNIDADE 6 - PROGRAMAÇÃO MODULAR

UNIDADE 6 - PROGRAMAÇÃO MODULAR UNIDADE 6 - PROGRAMAÇÃO MODULAR Até o momento as estruturas de controle (seqüência, seleção e repetição) de um algoritmo definia-o como um bloco lógico (início e fim). À medida que os problemas a serem

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

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: SEGURANÇA DA INFORMAÇÃO Aula N : 15 Tema:

Leia mais

Sistema de Gerenciamento de Projetos V 1.01 MANUAL DO COORDENADOR

Sistema de Gerenciamento de Projetos V 1.01 MANUAL DO COORDENADOR Roteiro para utilização do GEP Versão de referência: GEP V1.00 Índice analítico I Apresentação... 2 I.1 Controles básicos do sistema;... 2 I.2 Primeiro acesso... 2 I.3 Para trocar a senha:... 3 I.4 Áreas

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula

Leia mais

MINISTÉRIO DA SAÚDE. Secretária de Gestão Estratégica e Participativa da Saúde SGEP. Coordenação de Desenvolvimento dos Sistemas de Saúde - CDESS

MINISTÉRIO DA SAÚDE. Secretária de Gestão Estratégica e Participativa da Saúde SGEP. Coordenação de Desenvolvimento dos Sistemas de Saúde - CDESS MINISTÉRIO DA SAÚDE Secretária de Gestão Estratégica e Participativa da Saúde SGEP Coordenação de Desenvolvimento dos Sistemas de Saúde - CDESS Departamento de Informática do SUS - DATASUS Manual operacional

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

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Prof. Ms. Márcio Andrey Teixeira A Caracterização dos Sistemas Funções do S.O Administração de Processos Administração da Memória Principal Administração do Armazenamento Secundário Administração

Leia mais

Resolução de Problemas de Rede. Disciplina: Suporte Remoto Prof. Etelvira Leite

Resolução de Problemas de Rede. Disciplina: Suporte Remoto Prof. Etelvira Leite Resolução de Problemas de Rede Disciplina: Suporte Remoto Prof. Etelvira Leite Ferramentas para manter o desempenho do sistema Desfragmentador de disco: Consolida arquivos e pastas fragmentados Aumenta

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

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

OBJETIVO VISÃO GERAL SUAS ANOTAÇÕES

OBJETIVO VISÃO GERAL SUAS ANOTAÇÕES OBJETIVO Assegurar a satisfação do cliente no pós-venda, desenvolvendo um relacionamento duradouro entre o vendedor e o cliente, além de conseguir indicações através de um sistema de follow-up (acompanhamento).

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

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

Desenvolvimento de uma Etapa

Desenvolvimento de uma Etapa Desenvolvimento de uma Etapa A Fase Evolutiva do desenvolvimento de um sistema compreende uma sucessão de etapas de trabalho. Cada etapa configura-se na forma de um mini-ciclo que abrange as atividades

Leia mais

Manual do Desktop Sharing. Brad Hards Tradução: Marcus Gama

Manual do Desktop Sharing. Brad Hards Tradução: Marcus Gama Brad Hards Tradução: Marcus Gama 2 Conteúdo 1 Introdução 5 2 O protocolo do Buffer de Quadro Remoto (Buffer de Quadro Remoto) 6 3 Usando o Desktop Sharing 7 3.1 Gerenciando convites do Desktop Sharing........................

Leia mais

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição.

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição. Diretrizes para determinação de intervalos de comprovação para equipamentos de medição. De acordo com a Norma NBR 1001, um grande número de fatores influência a freqüência de calibração. Os mais importantes,

Leia mais

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear.

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear. CAPÍTULO 7 7 ANÁLISE DE REDES 7.1 Conceitos Básicos em Teoria dos Grafos Diversos problemas de programação linear, inclusive os problemas de transporte, podem ser modelados como problemas de fluxo de redes.

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

Especificação Operacional.

Especificação Operacional. Especificação Operacional. Para muitos sistemas, a incerteza acerca dos requisitos leva a mudanças e problemas mais tarde no desenvolvimento de software. Zave (1984) sugere um modelo de processo que permite

Leia mais

Gerenciamento de memória

Gerenciamento de memória Na memória principal ficam todos os programas e os dados que serão executados pelo processador. Possui menor capacidade e custo maior. S.O buscam minimizar a ocupação da memória e otimizar sua utilização.

Leia mais

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor. UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor. Modelo Cliente/Servidor Por HIARLY ALVES Fortaleza - CE Apresentação. O mais famoso tipo de arquitetura utilizada em redes de computadores

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

MANUAL DE UTILIZAÇÃO. Produtos: Saúde Pró Faturamento Saúde Pró Upload. Versão: 20130408-01

MANUAL DE UTILIZAÇÃO. Produtos: Saúde Pró Faturamento Saúde Pró Upload. Versão: 20130408-01 Produtos: Saúde Pró Upload Versão: 20130408-01 Sumário 1 APRESENTAÇÃO... 3 2 LOGIN... 4 3 VALIDADOR TISS... 7 4 CONFIGURAÇÃO DO SISTEMA... 10 4.1 DADOS CADASTRAIS MATRIZ E FILIAL... 11 4.2 CADASTRO DE

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Suporte do Sistema Operacional Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Objetivos

Leia mais

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery Sistemas Operacionais Curso Técnico Integrado Profa: Michelle Nery Conteúdo Programático CONTAS DE E GRUPOS DE O Microsoft Management Console - MMC Permissões de Segurança de um Console Contas de Usuários

Leia mais

Portal do Projeto Tempo de Ser

Portal do Projeto Tempo de Ser Sumário Portal do Projeto Tempo de Ser O que é um Wiki?...2 Documentos...2 Localizando documentos...3 Links...3 Criando um Documento...4 Criando um link...4 Editando um Documento...5 Sintaxe Básica...5

Leia mais

Programação Concorrente

Programação Concorrente + XV Jornada de Cursos CITi Programação Concorrente Aula 1 Benito Fernandes Fernando Castor João Paulo Oliveira Weslley Torres + Suposições básicas Conhecimento básico sobre Programação Orientada a Objetos

Leia mais

Manual do Usuário. Protocolo

Manual do Usuário. Protocolo Manual do Usuário Protocolo Índice de capítulos Parte I - Processos............................... 01 1 - Buscar................................ 01 2 - Listar................................ 02 3 - Abertura..............................

Leia mais

Capítulo 4 Gerenciamento de Memória

Capítulo 4 Gerenciamento de Memória Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição

Leia mais

Manual do Gestor da Informação do Sistema

Manual do Gestor da Informação do Sistema Faculdade de Engenharia da Universidade do Porto Licenciatura Informática e Computação Laboratório de Informática Avançada Automatização de Horários Manual do Gestor da Informação do Sistema João Braga

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

8 Threads. 8.1 Introdução

8 Threads. 8.1 Introdução 1 8 Threads 8.1 Introdução Uma thread, também chamada de tarefa, pode ser definida como uma parte ou rotina de um processo em execução que compartilha o mesmo espaço de endereçamento, mas tem seu próprio

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

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 6 EJB Enterprise Java

Leia mais

Simulado Informática Concurso Correios - IDEAL INFO

Simulado Informática Concurso Correios - IDEAL INFO Simulado Informática Concurso Correios - IDEAL INFO Esta prova de informática é composta por 20 (vinte) questões de múltipla escolha seguindo o molde adotado pela UnB/CESPE. O tempo para a realização deste

Leia mais

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. Essa estratégia foi deixada para trás. Atualmente, o software de rede é altamente

Leia mais

TRANSFERÊNCIA DO REVENDEDOR

TRANSFERÊNCIA DO REVENDEDOR TRANSFERÊNCIA DO REVENDEDOR 1. Orientações sobre Transferência de Revendedor 1 1.1Revendedor comunica sua mudança de endereço 1 1.2 Franqueado de origem bloqueia cadastro do Revendedor 1 1.3 Franqueado

Leia mais

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO? Índice BlueControl... 3 1 - Efetuando o logon no Windows... 4 2 - Efetuando o login no BlueControl... 5 3 - A grade de horários... 9 3.1 - Trabalhando com o calendário... 9 3.2 - Cancelando uma atividade

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

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

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

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

2 Ferramentas Utilizadas

2 Ferramentas Utilizadas 2 Ferramentas Utilizadas Esta dissertação utiliza vários outros trabalhos para implementar os mecanismos de adaptação abordados. Essas ferramentas são descritas nas seções seguintes. 2.1 Lua Lua [7, 8]

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

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

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

Ter o controle das pastas (Prontuários) armazenadas no "SAME", utilizando-se do recurso do "Volume".

Ter o controle das pastas (Prontuários) armazenadas no SAME, utilizando-se do recurso do Volume. Page 1 of 31 184771 Módulo: AMAP - SAME PDA 184771: Controle do Arquivamento de Pastas do SAME. SOLICITAÇÃO DO CLIENTE Ter o controle das pastas (Prontuários) armazenadas no "SAME", utilizando-se do recurso

Leia mais

Exemplo: Na figura 1, abaixo, temos: Clique aqui para continuar, que é a primeira atividade que você precisa realizar para iniciar seus estudos.

Exemplo: Na figura 1, abaixo, temos: Clique aqui para continuar, que é a primeira atividade que você precisa realizar para iniciar seus estudos. Visão Geral VISÃO GERAL Esse material abordará o acesso ao AVA (Ambiente Virtual de Aprendizagem) da Proativa do Pará, com intenção de ilustrar os aspectos na visão do Aprendiz. Essa abordagem dedica-se

Leia mais

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

Leia mais

NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO

NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO Referência: NT-AI.04.02.01 http://www.unesp.br/ai/pdf/nt-ai.04.02.01.pdf Data: 27/07/2000 STATUS: EM VIGOR A

Leia mais

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos

Leia mais

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

Leia mais

Gerência do Sistema de Arquivos. Adão de Melo Neto

Gerência do Sistema de Arquivos. Adão de Melo Neto Gerência do Sistema de Arquivos Adão de Melo Neto 1 Gerência do Sistema de Arquivos Organização dos arquivos Estrutura de diretório Gerência de espaço livre Gerência de alocação de espaços em disco Proteção

Leia mais