Skip to content

🔐 Um código que simula a execução de processos requisitando recursos.

Notifications You must be signed in to change notification settings

mateusfilipe/Impasses-e-deadlock

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Impasses e deadlock 🔐

Resumo

Este trabalho tem como objetivo ler o arquivo de entrada, analise se a situação estĂĄ ou nĂŁo em deadlock e imprima em um arquivo a saĂ­da. A saĂ­da do programa deverĂĄ ser VAZIA caso o sistema nĂŁo esteja em deadlock. Caso esteja, deverĂĄ ser impressa uma Ășnica linha contendo os processos e recursos que fazem parte do deadlock. Essa lista deverĂĄ começar pelo processo de menor valor e deverĂĄ indicar em sequĂȘncia o processo, o recurso que ele estĂĄ de posse, o prĂłximo processo que necessita desse recurso, o que ele estĂĄ de posse, e assim por diante. Abaixo segue um exemplo de saĂ­da esperada:

3 A 5 G 4 I 9 F 6 J

Neste caso, o processo de menor valor identificado é o 3, por isso ele começou a descrição da resposta. O processo 3 estå esperando pelo recurso J e de posse do recurso A. O processo 5 estå esperando pelo recurso a e de posse do recurso G. O processo 4 estå esperando pelo recurso G e de posse do recurso I. E por aí em diante. Abaixo segue um exemplo de arquivo de entrada com o arquivo de saída esperado.

Arquivos do Projeto

  • Pacote: Principal

    • main.java: Arquivo principal com a leitura e a chamada das funçÔes a serem desenvolvidas.
  • Teste.txt: Arquivo de entrada com os testes a serem executados, onde a primeira linha conterĂĄ na primeira linha dois inteiros positivos ‘x’ e ‘y’. ‘x’ serĂĄ a quantidade de processos existente no sistema e ‘y’ a quantidade de recursos.As prĂłximas ‘x’ linhas serĂŁo referentes a cada processo e tambĂ©m identificarĂŁo o nĂșmero do processo. JĂĄ os recursos serĂŁo identificados pelos caracteres ‘A-Z’. Cada linha seguinte conterĂĄ as informaçÔes de alocaçÔes e requisiçÔes de cada processo, separadas em dois blocos por ponto e vĂ­rgula. O primeiro bloco conterĂĄ os recursos alocados para o processo, indicados por caracteres “A-Z” e separados por espaços.

  • Saida.txt: Arquivo a ser gerado a apĂłs o cĂłdigo executar, onde a saĂ­da do programa deverĂĄ ser VAZIA caso o sistema nĂŁo esteja em deadlock. Caso esteja, deverĂĄ ser impressa uma Ășnica linha contendo os processos e recursos que fazem parte do deadlock. Essa lista deverĂĄ começar pelo processo de menor valor e deverĂĄ indicar em sequĂȘncia o processo, o recurso que ele estĂĄ de posse, o prĂłximo processo que necessita desse recurso, o que ele estĂĄ de posse, e assim por diante.

Exemplo:

Entrada SaĂ­da
7 6 4 C 5 E 7 D
A ; B
; C
; B
D ; B C
C ; E
F ; B
E ; D

About

🔐 Um código que simula a execução de processos requisitando recursos.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%