jueves, 16 de diciembre de 2010

Algoritmo del Banquero - Explicacion

Algoritmo del Banquero:
       Este algoritmo tiene como proposito el de identificar al momento en que un sistema operativo se encuentre en un estado NO seguro.  Esto significa que es posible que los procesos que se estan ejecutando en SO pueden llegar a quedar detenidos indefinidamente, por que ocurrió un INTERBLOQUEO.

Por lo que para este proceso,

Definimos los siguientes Vectores:
  • RECURSOS existentes      : vector con el numero de instancias de cada tipo de recurso
  • recursos DISPONIBLES   : vector de recursos disponible en un momento dado, al inicio cuando no hay procesos corriendo, el V.Recursos existentes es igual a V.Recursos disponible.
  • procesos TERMINADOS : vector que indica si el recurso ya ha terminado su ejecución
Definimos las siguientes Matrices
  • MAXimo a utilizar            : matriz del maximo de cada tipo de recurso que un proceso pueda llegar a utilizar.
  • recursos UTILIZADOS   : matriz que indica la cantidad de recursos que un proceso está utilizando.
  • recursos NECESARIOS : matriz que indica la cantidad de recursos que un proceso puede llegar a necesitar en cierto tiempo para poder terminar su ejecución.
Para su mejor entendimiento miremos la siguiente imagen, que ejemplifica un escenario con (5) procesos y (4) recurso


Y el algoritmo consta de los siguientes pasos:
  1. Establecemos los valores para el V.Recursos Disponible y establecemos para todos los valores del V.Procesos Terminado con el valor "NO"( Asi como se observa en la Figura No.1 )
  2. Buscamos un PROCESO que :
    1. Su valor en el V.Recursos Terminado sea "NO"
    2. Que el V.Recursos Necesarios de un proceso(i), sea menor que el V.Recursos Disponibles.
          Si no se encuentra algun proceso que cumpla con las condiciones anteriores, vaya al paso 5
      3. Sumamos al V.Recursos Disponibles el V.Recursos Utilizados para el proceso(i) que identificamos en el paso 2
     
      4. Establecemos en el V.Procesos Terminados para el proceso(i) que identificamos en el paso 2, con el valor "SI".

      5. Si y solo si no existe un valor en "NO" en cualquier casilla de V.Procesos Terminados, significa que el sistema esta en un ESTADO SEGURO.
___________________________________________________________________________

Miremos un ejemplo, que comienza con la Figura No.1, que muestar el estado de algun sistema en un momento dado.

Al momento de iniciar con el algoritmo, tenemos los siguiente casos,
  • El proceso P1 es posible que vaya a utilizar mas recursos, de los que se indican en el V.Recursos Disponible de la Figura No.1( resaltado en verde )
  • El V.Recursos Necesarios para el proceso(P2) es menor que el V.Recursos Disponible, por lo cual es posible que el P2 termine.
  • Agregamos los recurso que el P2 tenia UTILIZADOS(resaltado en rojo) y los agregamos al  V.Recursos Disponibles
  • Establecemos en el V.Procesos Terminado que el P2, SI termina.
 _________________________________________________________________________
  • El proceso P1 es posible que vaya a utilizar mas recursos, de los que se indican en el V.Recursos Disponible de la Figura No.2( resaltado en verde )
  • El V.Recursos Necesarios para el proceso(P3) es menor que el V.Recursos Disponible, por lo cual es posible que el P3 termine.
  • Agregamos los recurso que el P3 tenia UTILIZADOS(resaltado en rojo) y los agregamos al  V.Recursos Disponibles
  • Establecemos en el V.Procesos Terminado que el P3, SI termina.
___________________________________________________________________________
 
  • El V.Recursos Necesarios para el proceso(P1) ahora ya es menor que el V.Recursos Disponible, por lo cual es posible que el P1 termine.
 
  • Agregamos los recurso que el P1 tenia UTILIZADOS(resaltado en rojo) y los agregamos al  V.Recursos Disponibles
  • Establecemos en el V.Procesos Terminado que el P1, SI termina.
__________________________________________________________________________


  • El V.Recursos Necesarios para el proceso(P4) ahora ya es menor que el V.Recursos Disponible, por lo cual es posible que el P4 termine.


  • Agregamos los recurso que el P4 tenia UTILIZADOS(resaltado en rojo) y los agregamos al  V.Recursos Disponibles
  • Establecemos en el V.Procesos Terminado que el P4, SI termina.
____________________________________________________________________________

  • El V.Recursos Necesarios para el proceso(P5) ahora ya es menor que el V.Recursos Disponible, por lo cual es posible que el P5 termine.
  • Agregamos los recurso que el P5 tenia UTILIZADOS(resaltado en rojo) y los agregamos al  V.Recursos Disponibles
  • Establecemos en el V.Procesos Terminado que el P5, SI termina.
_____________________________________________________________________

      Ahora si volvemos a realizar el algoritmo, podremos darnos cuenta que ya no quedan procesos o que NO esten terminados y que necesiten menos recurso de lo que indica el V.Recursos Disponibles, por lo que hacemos el PASO 5.

      PASO 5: ya que en el V.Procesos Terminados no hay ninguna casilla con el valor de NO. Concluimos que -- El sistema esta en un ESTADO SEGURO --  

_______________________                  TAREA        ____________________________

Segun el escenario que indica la siguiente Figura, Demostrar por medio del algoritmo del Banquero que el sistema se encuentre en ESTADO INSEGURO

jueves, 9 de diciembre de 2010

Como manejar una pelea de pareja

A veces cuando estamos en una relacion de pareja, y empieza una pelea a veces uno no sabe controlarla o como hacer para que esto  problema no se salga de control y que esto pueda llegar a causar un daño grabe a la relacion.  Cuentame...