TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Bugs em Computadores nos Últimos 6 meses

Por:   •  20/4/2015  •  Pesquisas Acadêmicas  •  2.415 Palavras (10 Páginas)  •  170 Visualizações

Página 1 de 10

1.Descreva o conceito de sistemas distribuídos:

Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído.

Um sistema distribuído é uma coleção de computadores independentes que aparenta ao usuário ser um computador único.

2. Descreva o conceito de processos:

Um processo é uma atividade (ou tarefa) de um programa, que contém o código e dados de uma atividade.

Essas são: leitura de dados, escrita de dados, cálculos no processador, comunicação com o usuário, comunicação com um BD, comunicação com a rede interna ou externa.

Um processo é uma entidade a nível de kernel, que possui um espaço de endereçamento.

O único modo para seu programa acessar a dados na estrutura (contexto) de um processo, consultar ou mudar seu estado, é via uma chamada de sistema.

3. Descreva o conceito de Threads:

R: Threads é apenas a instância de execução de um processo, é um fluxo de execução. Um

processo pode ter vários fluxo de execução, cada um desses fluxos de execução é um thread.

Threads usam memória compartilhada, ou seja, os dados armazenados em um espaço de

memória é acessado por todas as threads de um mesmo processo.

4. Descreva o conceito de região crítica em programação concorrente.

R: Programa concorrente é executado por diversos processos que cooperam entre si para a

realização de uma tarefa, existem vários fluxos de controle, necessitam de interação para troca

de informações.

Programação concorrente é composta por um conjunto de processos sequenciais que se executam concorrentemente, esses processos disputam recursos comuns.

Como na programação concorrente vários processos disputam por recursos comuns, a memória acaba sendo a região crítica. Região crítica é uma região que é disputada por mais de

um processo, podendo causar problemas caso um processo sobrescreva dados que estão sendo utilizados por outro processo.

5. Descreva as primitivas básicas de sincronização em sistemas multiprogramados com memória compartilhada.

R: Para garantir a sincronização em sistemas multiprogramados concorrentes é preciso garantir a exclusão mútua, que garante que processos executem e atuem de forma cooperativa sem afetar a consistência dos dados.

Há quatro regras para exclusão mútua:

Regra 1 – dois ou mais processo não podem estar simultaneamente em uma seção crítica.

Regra 2 – nenhum processo fora da seção crítica pode bloquear a execução de outro processo.

Regra 3 – nenhum processo deve esperar infinitamente para entrar em uma seção crítica.

Regra 4 – não fazer considerações sobre o número de processadores, nem de suas velocidades relativas.

As primitivas básicas de sincronização em sistemas multiprogramados com memória

compartilhada são o mutex e o semáforo.

6. Descreva as primitivas básicas de sincronização em sistemas distribuídos.

R: As primitivas básicas de sincronização em sistemas distribuídos são o Send e Receive. Ambos são usados para a troca de mensagens, onde o Send é usado para enviar mensagens e o Receive para receber mensagens.

7. Descreva os algoritmos de controle de exclusão mútua em sistemas distribuídos.

R: para garantir -> Exclusão mutua: Algoritmo centralizado e o algoritmo distribuído

>Produtor<

while (1) {        

Item = produce ();

while (n==MAX);

begin-mutual-exclusion;

buffer[in]=item;

in=(in+1)%MAX;

n++

end-mutual-exclusion;

>Consumidor<

While(1) {

        While (!n);

Begin-mutual-exclusion;

Item=buffer[out];

Out=(out+1)%MAX;

n-;

end-mutual-exclusion;

consume(item)

8. Descreva as primitivas do modelo transacional.

PRIMITIVA                        DESCRIÇÃO

WRITE                                 Escreve dados em um arquivo, tabela, etc.

READ                                 Lê dados de um arquivo, tabela, etc.

ABORT_TRANSACTION         Aborta a transação e restaura valores antigos

END_TRANSACTION                 Finaliza a transação e tenta aprová-la

BEGIN_TRANSACTION         Marca o início de uma transação

O modelo transacional garante exclusão mútua e suporta operações atômicas, operações

atômicas significa que se uma transação for cancelada antes do seu término, todas as

modificações realizadas até aquele momento serão desfeitas.

Exemplos: reserva de voos, transferência de dinheiro.

9. Descreva as propriedades ACID no modelo transacional.

Atomicidade: Transações são indivisíveis para o resto do sistema

• Consistência: Invariantes do sistema não são violadas

• Isolamento: Transações concorrentes não interferem com as outras (serialização)

• Durabilidade: Quando uma transação é aceita, as mudanças são permanentes (requer um mecanismo de aceitação distribuído)

10. Apresente um exemplo de um sistema baseado em transações que demonstre as propriedades ACID.

R: Reservar, sistema bancário

11. Descreva o conceito de deadlock e quais são as estratégias para se lidar com os deadlocks em sistemas distribuídos.

Quatro estratégias para se lidar com deadlocks são:

– Ignorar

– Detecção: Permitir que deadlocks ocorram, detectá-los e tentar se recuperar do problema

– Prevenção: Estaticamente fazer com que deadlocks sejam estruturamente impossíveis de acontecer

– Evitar: Evitar a ocorrência de dealocks através de uma alocação de recursos cuidadosa (não é utilizada, já que algoritmos precisam saber antes de executar quais recursos precisam)

...

Baixar como (para membros premium)  txt (16.6 Kb)   pdf (230.6 Kb)   docx (63 Kb)  
Continuar por mais 9 páginas »
Disponível apenas no TrabalhosGratuitos.com