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

Sistemas operacionais

Por:   •  19/11/2015  •  Trabalho acadêmico  •  1.705 Palavras (7 Páginas)  •  1.159 Visualizações

Página 1 de 7

Lista 7

1 – Defina o que é uma aplicação concorrente e dê um exemplo de sua utilização?

Aplicação concorrente é quando partes diferentes de um código acessam o processador concorrentemente, no qual vários threads são utilizados para alcançar o resultado esperado mais rapidamente.

2 – Considere uma aplicação que utilize uma matriz na memória principal para a comunicação entre vários processos concorrentes. Que tipo de problema pode ocorrer quando dois ou mais processos acessam uma mesma posição da matriz?

Poderá ocorrer inconsistências nos dados caso não haja uma gerencia eficaz na utilização dos dados concorrentes dos recursos compartilhados.

3 – O que é exclusão mútua e como é implementada?

Exclusão mútua é impedir que um ou mais processos acessem um mesmo recurso ao mesmo tempo. É implementada de forma que enquanto um determinado processo estiver usando um recurso, todos os demais deverão esperar que o processo atual termine de utilizar o recurso para que outro processo possa usá-lo.

4 – Como seria possível resolver os problemas decorrentes do compartilhamento da matriz, apresentado anteriormente, utilizando o conceito de exclusão mútua?

Para resolver o problema, a exclusão mútua garantirá que somente um processo acesse a matriz por vez.

5 – O que é Starvation e como podemos solucionar esse problema?

Starvation é quando um processo nunca consegue executar sua região crítica, e consequentemente não consegue acessar o recurso compartilhado. Quando um recurso fica livre, cabe ao sistema escolher de forma correta qual recurso irá usá-lo, pois se esse processo for feito de forma aleatória, pode acontecer de algum processo não ser executado e sofrer starvation.

6 – Qual o problema com a solução que desabilita as interrupções para implementar a exclusão mútua?

Com esse tipo de solução a multiprogramação pode ficar comprometida, já que a concorrência entre processos tem como base as interrupções. Um erro grave que poderia acontecer é caso algum processo desabilitasse as interrupções e não tornasse a habilitá-las, o que comprometeria o funcionamento do sistema. Em sistemas que contam com múltiplos processadores, esse tipo de solução torna-se ineficiente devido ao tempo de propagação quando um processador sinaliza aos demais que as interrupções devem ser desabilitadas ou habilitadas. Uma outra consideração que devemos observar é que o mecanismo de clock no sistema é implementado com interrupções, neste caso essa solução deve ser usada com bastante critério.

7 – O que é espera ocupada e qual o seu problema?

A espera ocupada é quando um processo tenta acessar um recurso, mas o mesmo está ocupado, então o mesmo fica testando se desocupou em looping até que o acesso seja permitido. O problema dessa espera é que o processo que está na espera fica consumindo recursos do processador sem necessidade, podendo ocasionar problemas no desempenho do sistema.

8 – Explique o que é sincronização condicional e dê um exemplo de sua utilização.

Sincronização condicional é uma situação no qual o acesso a um recurso compartilhado exige a sincronização de processos vinculadas a uma condição de acesso, um recurso pode não se encontrar preparado para uso em uma condição específica. Um exemplo dessa situação é quando há a comunicação e sincronização entre dois processos através de operações de gravação e leitura em um buffer.

9 – Explique o que são semáforos e dê dois exemplos de sua utilização: um para a solução da exclusão mútua e outro para a sincronização condicional.

Um semáforo é uma variável inteira e não negativa que guarda um contador para controlar o acesso a determinado recurso compartilhado em um ambiente multitarefa. O valor do contador do semáforo indica quantos processos podem utilizar de um recurso compartilhado. Um semáforo pode ser manipulado somente por duas instruções, UP e DOWN.

Na exclusão mútua, sempre que um processo deseja entrar em sua região crítica, o mesmo executa uma instrução DOWN, ou seja, se o semáforo estiver com valor 1, este valor é decrementado e o processo pode executar as instruções de sua região crítica, caso contrário, permanece em espera não gerando overhead no UCP.

Na sincronização condicional, quando um processo solicita uma operação de entrada e saída, o pedido faz com que o processo execute a instrução DOWN e fique no estado de espera até que a operação de entrada e saída seja completada, com isso o semáforo executa uma instrução UP, liberando o processo de seu estado em espera.

10 – Apresente uma solução para o problema dos Filósofos que permita que os cinco pensadores sentem à mesa, porém evite a ocorrência de starvation e deadlock.

Ter alguém que controle cada vez que um fale, como um gerenciador.

11 – Explique o que são monitores e dê dois exemplos de sua utilização: um para a solução da exclusão mútua e outro para a sincronização condicional.

Monitores são mecanismos de sincronização de alto nível, que torna mais simples o processo de desenvolvimento de aplicações.

12 – Qual a vantagem da forma assíncrona de comunicação entre processos e como esta pode ser implementada?

A grande vantagem desse mecanismo é que o mesmo aumenta a eficiência das aplicações concorrentes. Para que essa forma seja implementada, é necessário ter buffers para armazenar as mensagens, e outros mecanismos de sincronização que permitam ao processo identificar se uma mensagem já foi enviada ou recebida.

13 – O que é deadlock, quais as condições para obtê-lo e quais as soluções possíveis?

Deadlock é quando um processo fica aguardando por um recurso que nunca estará disponível ou um evento que nunca acontecerá. Quatro condições são necessárias simultaneamente para que um deadlock ocorra, são elas:

• Espera por recurso: Quando um processo já alocado continua a aguardar por mais recursos.

• Exclusão mútua: Cada recurso só

...

Baixar como (para membros premium)  txt (11 Kb)   pdf (57.4 Kb)   docx (16.9 Kb)  
Continuar por mais 6 páginas »
Disponível apenas no TrabalhosGratuitos.com