En
sistemas con una única CPU las regiones críticas, la exclusión mutua y otros
problemas de sincronización son resueltos generalmente utilizando métodos como
semáforos y monitores. Estos métodos no se ajustan para ser usados en sistemas
distribuidos ya que invariablemente se basan en la existencia de una memoria
compartida.
No es posible reunir toda la información sobre
el sistema en un punto y que luego algún proceso la examine y tome las
decisiones.
En general los algoritmos distribuidos tienen
las siguientes propiedades:
1)-
la información relevante está repartida entre muchas máquinas
2)-
los procesos toman decisiones basadas solamente en la información local
disponible
3) - debería poder evitarse un solo punto que
falle en el sistema
4)-
no existe un reloj común u otro tiempo global exacto
Si
para asignar un recurso de E/S un proceso debe recolectar información de todos
los procesos para tomar la decisión esto implica una gran carga para este
proceso y su caída afectaría en mucho al sistema.
Idealmente, un sistema distribuido debería ser
más confiable que las máquinas individuales. Alcanzar la sincronización sin la
centralización requiere hacer cosas en forma distinta a los sistemas operativos
tradicionales.
No hay comentarios:
Publicar un comentario