Sei sulla pagina 1di 3

Ventajas y desventajas de los algoritmos la tabla o figura 3.

11 Analisis de los 3 algoritmos

Algoritmo centralizado
Como si de un sistema monoprocesador se tratase, se elige un proceso coordinador. Supongamos que viene un proceso A que necesita un recurso, el proceso le pide permiso al coordinador, donde indica la regin crtica. Suponemos que la seccin critica esta libre y se le concede el permiso. Si ahora viene otro proceso B, este pide permiso al proceso coordinador para la misma regin crtica. El proceso coordinador podra denegarle la entrada o bien abstenerse de responder. Cuando el primer proceso haya terminado se lo dice al coordinador para que libere su regin, si anteriormente el proceso coordinador se abstuvo de responder, el proceso B habr quedado a la espera, por tanto entrara en la seccin crtica. Si se le deneg el acceso al proceso B explcitamente entonces el propio proceso B deber a volver a intentarlo peridicamente. En ambos casos, cuando ve el permiso, puede entrar a la regin crtica. El algoritmo garantiza la exclusin mutua, y adems el orden en el que se atienden las peticiones es natural y justo. No hay inanicin (espera indefinida). Este esquema tambin es fcil de implantar y slo requiere tres mensajes por cada uso de una regin crtica (solicitud, otorgamiento, liberacin). El nico problema de este mtodo centralizado es que el coordinador es un punto dbil que si falla puede caer todo el sistema si no se tiene un buen algoritmo de eleccin que lo sustituya.

un algoritmo distribuido es un tipo especfico de algoritmo que se utiliza en programas informticos que deben utilizar varios procesadores interconectados. El algoritmo de distribucin es responsable de ejecutar las diferentes partes del algoritmo, al mismo tiempo, cada uno en un procesador diferente. Los procesadores se han de comunicar entre s para que el software funcione correctamente. Para entender el algoritmo distribuido, es ms fcil de examinar lo que es tpico de un algoritmo. Un algoritmo es un proceso definido que describe de principio a fin las medidas que deben tomarse para completar el proceso deseado o resolver un problema. Por ejemplo, un algoritmo para el envo de una carta sera algo a lo largo de las lneas de: 1. Obtener dotacin 2. Abrir el sobre

3. Insertar carta 4. Cerrar dotacin 5. Coloque el sello Esto continuara hasta que el proceso se ha completado. Algunos pasos pueden extender sus actividades a otras medidas. Estos le dira a la persona qu hacer si no poda completar una de las principales medidas y, finalmente, lo llevara de nuevo al algoritmo original. Lo importante es que el algoritmo final debe tener un fin, no importa cul es el camino que la persona necesita para llegar a l. Tcnicamente, nada de lo que es un proceso definido puede ser un algoritmo, como el ejemplo anterior para el envo de una carta. Un algoritmo de la computadora es un algoritmo diseado para decirle a la computadora qu hacer. Tiene un comienzo y un paso que termina con varios pasos intermedios. Ayuda al equipo realizar una accin y le imparte instrucciones de qu hacer si algo va mal. Si un archivo de la computadora necesita no se encuentra, podra encargar a saltarse este paso o realizar un paso alternativo en su lugar. La diferencia entre un algoritmo y un algoritmo de distribucin es simplemente que el algoritmo de distribucin est diseado para ejecutarse en procesadores separados, mientras que un algoritmo informtico regular no lo sera. Cada procesador est realizando una parte diferente del algoritmo general, al mismo tiempo y luego la presentacin de los resultados. Hay varios problemas que ocurren cuando se utilizan algoritmos distribuidos. Uno de los procesadores podra fallar, causando que parte del algoritmo de dejar de trabajar. Tambin podra haber un problema de comunicacin entre los procesadores, que permitiran mantener el algoritmo de distribucin de llegar al final del proceso. Muchos programadores estudio distribuido algoritmos para encontrar maneras de superar estos problemas y asegurar el algoritmo se ha completado, incluso si hay un error tcnico.

Un Algoritmo de Anillo Se supone que los procesos tienen un orden fsico o lgico, es decir que cada proceso conoce a su sucesor. Cuando algn proceso observa que el coordinador no funciona:

Construye un mensaje eleccin con su propio nmero de proceso. Enva el mensaje a su sucesor. Si el sucesor est inactivo: o El emisor va hacia el siguiente nmero del anillo o al siguiente de ste. o Contina hasta localizar un proceso en ejecucin. o En cada paso, al emisor aade su propio nmero de proceso a la lista en el mensaje. En cierto momento el mensaje regresa al proceso que lo inici: o El proceso lo reconoce al recibir un mensaje con su propio nmero de proceso. El mensaje de eleccin se transforma en mensaje coordinador y circula nuevamente:

Informa a los dems procesos: Quin es el coordinador, es decir, el miembro de la lista con el nmero mayor. Quines son los miembros del nuevo anillo. Concluida la ronda de informacin el mensaje coordinador se elimina y continan los procesos.
o

Potrebbero piacerti anche