Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

ALGORITMO DEL BANQUERO

Enviado por   •  20 de Diciembre de 2018  •  1.179 Palabras (5 Páginas)  •  416 Visitas

Página 1 de 5

...

42 //Verificando si todos los recursos para el proceso se pueden asignar

43 for(int j=0;jnr;j++)

44 if(available[0][j]need[i][j])

45 return false;

46

47 return true;

48 }

49

50 public void esSeguro(){

51 input();

52 calcular_need();

53 boolean done[]=new boolean[np];

54 int j=0;

55

56 while(jnp){ //hasta que todo los proceso sean asignado

57 boolean allocated=false;

58 for(int i=0;inp;i++)

59 if(!done[i] && verificar(i)){ //Tratando de asignar

60 for(int k=0;knr;k++)

61 available[0][k]=available[0][k]-need[i][k]+max[i][k];

62 System.out.println("Asignacion procesos : "+i);

63 allocated=done[i]=true;

64 j++;

65 }

66 if(!allocated) break; //Si no hay asignación

67 }

68 if(j==np) //si todos los proceso son asignado

69 System.out.println("\nAsignado con seguridad");

70 else

71 System.out.println("Todo los proceso no puede ser asignados de forma segura");

72 }

73

74 public static void main(String[] args) {

75 new Banquero().esSeguro();

76 }

77 }

Donde np el número de procesos en el sistema y nr es el número de tipos de recursos. Entonces tenemos las siguientes estructuras de datos:

Available (Disponible): Vector de longitud nr indica el número de recursos disponibles de cada tipo. Si Disponible [j] = sc, hay sc instancias del tipo de recurso R j disponibles.

Allocation(Asignación): Una matriz i × j donde se define el número de recursos de cada tipo actualmente asignado a cada proceso. Si Allocation [i, j] = sc, Entonces el proceso Pi está asignado actualmente a sc instancias del tipo de recurso Rj.

Max: Una matriz np × nr que define la demanda máxima de cada proceso. Si Max [i, j] = sc, entonces Pi puede solicitar en la mayoría de los casos sc de tipo de recurso Rj .

Necesita: Un n × m matriz indica la necesidad de recursos restante de cada proceso. Si Need [i, j] = sc, entonces P i puede necesitar sc más instancias del tipo de recurso R j para completar la tarea.

Nota: need [i, j] = Max [i, j] - Allocation [i, j].

- Pruebas de funcionamiento del algoritmo del algoritmo

Prueba 1:

Run:

Escribir número de procesos y recursos: 5 4

Escriba la matriz de ALLOCATION -->

0 0 1 2

1 0 0 0

1 3 5 4

0 6 3 2

0 0 1 4

Escriba la matriz de MAX -->

0 0 1 2

1 7 5 0

2 3 5 6

0 6 5 2

0 6 5 6

Escriba la matriz de AVAILABLE -->

1 5 2 0

Asignación procesos: 0

Asignación procesos: 2

Asignación procesos: 3

Asignación procesos: 4

Asignación procesos: 1

Asignado con seguridad

BUILD SUCCESSFUL (total time: 1 minute 19 seconds)

Prueba 2:

Run:

Escribir número de procesos y recursos: 5 3

Escriba la matriz de ALLOCATION -->

0 1 0

2 0 0

3 0 2

2 1 1

0 0 2

Escriba la matriz de MAX -->

7 5 3

3 2 2

9 0 2

2 2 2

4 3 3

Escriba la matriz de AVAILABLE -->

3 3 2

Asignación procesos: 1

Asignación procesos: 3

Asignación procesos: 4

Asignación procesos: 0

Asignación procesos: 2

Asignado con seguridad

BUILD SUCCESSFUL (total time: 1 minute 8 seconds)

Prueba 3:

Run:

Escribir número

...

Descargar como  txt (8.4 Kb)   pdf (59.8 Kb)   docx (18.5 Kb)  
Leer 4 páginas más »
Disponible sólo en Essays.club