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

Sistemas operacionais

Por:   •  1/9/2015  •  Bibliografia  •  472 Palavras (2 Páginas)  •  394 Visualizações

Página 1 de 2

[pic 1] 

SISTEMAS OPERACIONAIS 2015.1

Prof. Fernando Parente Garcia

Projeto II – Detecção de Deadlock

 

Objetivo: Detectar deadlocks utilizando grafos.

 

Descrição: O projeto consiste de duas classes de threads: processos e sistema operacional. A classe processos poderá ter várias instâncias, que devem simular os processos solicitando, utilizando e liberando recursos do sistema. A classe sistema operacional terá apenas uma instância e ficará responsável por detectar possíveis deadlocks.

 

Entradas do Sistema: Antes de iniciar a simulação, o usuário deverá informar todos os recursos existentes no sistema, e para cada recurso informados o usuário deverá configurar os seguintes parâmetros:

  • Nome do Recurso (Ex: Impressora)
  • Identificador do Recurso (Ex: 1) Obs.: A quantidade máxima de recursos é 10.

 

Thread “Sistema Operacional”: Esta thread tem a função verificar periodicamente (a cada intervalo t) se existe algum deadlock no sistema. Se houver, ela deve informar ao usuário quais processos estão em deadlock e quais estão impedidos de rodar. Ao iniciar a execução da simulação, o programa deverá solicitar ao usuário o intervalo t (em segundos), e em seguida instanciar a thread sistema operacional.

 

Threads “Processo”: Estas threads deverão solicitar, utilizar e liberar recursos

existentes no sistema. Podem existir até 10 processos rodando “simultaneamente”.

 

Criar thread processo: Durante a criação de cada processo devem ser definidos os seguintes parâmetros:

  • Id = identificador do processo.
  • Ts = intervalo de tempo de solicitação (em segundos).

A cada Ts o processo solicita a utilização de um recurso escolhido aleatoriamente dentre os recursos existentes no sistema que ainda não foram concedidos ao respectivo processo. Se o recurso estiver disponível, o processo receberá o recurso, irá utilizá-lo e ao final deverá liberá-lo. Caso o recurso solicitado não esteja disponível, o processo deverá dormir e só deverá ser acordado quando o recurso que ele solicitou for liberado por outro processo.

  • Tu = intervalo de tempo de utilização (em segundos).

Após o processo ter tomado posse de um recurso, ele deverá utilizá-lo durante o intervalo de tempo Tu e em seguida liberá-lo.

 

Eliminar thread processo: Esta opção permite eliminar um processo a partir de um id. Deve ser permitido eliminar tanto os processos que estejam “rodando” quanto os que estejam “bloqueados”,

 

Saídas:

A interface deve exibir o grafo de detecção de deadlocks.

A interface deve mostrar, a cada instante, o status de cada processo (rodando ou bloqueado), os recursos existentes, os recursos disponíveis, quais recursos estão sendo utilizados por cada um dos processos, quais recursos estão sendo aguardados pelos processos bloqueados e um “log” na tela mostrando todas as operações efetuadas por todos os processos. Este “log” deverá mostrar mensagens do tipo “o processo X solicitou/está utilizando/liberou o recurso Y”.

...

Baixar como (para membros premium)  txt (3.2 Kb)   pdf (121.5 Kb)   docx (178.8 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com