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

A ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Por:   •  23/11/2022  •  Trabalho acadêmico  •  806 Palavras (4 Páginas)  •  99 Visualizações

Página 1 de 4

UNIVERSIDADE VEIGA DE ALMEIDA[pic 1]

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

RAFAEL MUNIZ REIS

SISTEMAS OPERACIONAIS – AVA2

Prof. Miguel Angelo Z. de Figueiredo

 

PARACAMBI/RJ

2022        

  • A identificação das linhas do sistema que podem causar problemas durante sua execução:

RESPOSTA:

Linhas 4, 9 e 10 do Procedimento Proc_B e linhas 4 e 6 do Procedimento Proc_C.

  • A explicação dos problemas que podem ocorrer:

RESPOSTA:

Na linha 4 ao tentar alocar a impressora o Proc_B ficará travando ao processar enquanto aguarda a liberação do Proc_C.

Na linha 4 o Proc_C também irá travar ao tentar alocar o scanner enquanto aguarda a liberação do Proc_B.

Nas linhas 9 e 10 de Proc_B e 6 de Proc_C, pois são as linhas em que os recursos são liberados tardiamente, ocasionado o impasse.

Em certo ponto quando o programa estiver em execução ocorrerá deadlocks, pois alguns processos ficarão parados aguardando a liberação de recursos.

No caso Proc_B ficará aguardando a liberação da impressora, a qual está alocado no Proc_C e Proc_C ficará aguardando a liberação do scanner que está em posse de Proc_B.  Esse impasse pode levar ao travamento do sistema.

  • Uma proposta de correção no algoritmo para que os problemas sejam corrigidos e o sistema execute sem erros

RESPOSTA:

Cada processo deve ter um recurso de cada vez e se precisar de um segundo recurso, será necessário liberar o primeiro.

Proc_A aloca o potter, processa e depois libera.

Proc_B enquanto o scanner não libera, o sistema não vai conseguir alocar a impressora e nem o potter.

Proc_C ao alocar a impressora, o sistema não consegue alocar o scanner sem liberar a impressora, desta forma o sistema fica confuso e não consegue alocar o scanner

Proc_A

Inicio

        Enquanto (verdadeiro) Faça    

         processa_algo();

         aloca_plotter();

         processa_algo();

         libera_plotter();

Fim;

Proc_B

Inicio

        Enquanto (verdadeiro) Faça

                     processa_algo();

                     aloca_scanner();

                     processa_algo();

                     aloca_plotter();

              processa_algo();

              libera_plotter();        

                    libera_scanner();                

                     aloca_impressora();

                     processa_algo();

                   libera_impressora();

Fim;

Proc_ C

Inicio

Enquanto (verdadeiro) Faça

                  processa_algo();

                  aloca_impressora();

                  processa_algo();

                  libera_impressora();

...

Baixar como (para membros premium)  txt (3.5 Kb)   pdf (74.4 Kb)   docx (21.3 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com