Concepto de los Sistemas Distribuidos
Un sistema distribuido es una colección de computadoras
independientes que aparecen ante los usuarios del sistema como una
 única computadora.


En esta definición cabe destacar dos aspectos:
1. El hardware. La definición habla de máquinas autónomas, es
   decir, que pueden operar sin la supervisión de ninguna otra.
2. El software, que debe conseguir que los usuarios del sistema lo
   vean como una máquina central convencional única.
Ventajas de los Sistemas Distribuidos

   Economía       - Compartir recursos

   Velocidad      - Mayor capacidad de computo

   Distribución   - Aplicaciones que utilizan máquinas que están separadas

   Confiabilidad - Si una máquina no funciona no afecta al resto

   Crecimiento por -Se puede añadir incremento de pequeño incremento
    Incremento
Desventajas de los Sistemas Distribuidos

   Software     - Complejidad del software

   Redes        - Problemas causados por la utilización de un medio
                   físico de comunicación.
   Seguridad    - El acceso fácil a todos los datos
Concepto de Hardware
                       Múltiple Instrucción, Múltiple dato
El software es inmaterial ⇒ Más difícil de clasificar que el hardware
Sistemas Operativos en Red
Son un ejemplo de Software DA y Hardware DA
Proporcionan servicios remotos de forma relativamente transparente
Ejemplos
1. %> rlogin ceres
       



2. %> rcp pizarro:/usr/f2 ceres:/home/f2
       



3. Sistema de ficheros remoto:
 
       
Sistemas Realmente Distribuidos
 
Consisten en Software FA sobre Hardware DA
 
Objetivo: Ocultar al usuario el HW subyacente y percibir este como un máquina
única.
 
Requisitos
1. Mecanismo PC homogéneo para procesos locales y remotos.
2. Mecanismo unificado de gestión de procesos.
3. Conjunto de llamadas al sistema únicas ⇒ Núcleos idénticos.
4. Cada núcleo gestiona únicamente sus propios recursos (páginas, ...).
5. El sistema de ficheros es único para todas las máquinas.
Sistemas Multiprocesador de Tiempo Compartido

Consisten en Software FA sobre Hardware FA 

Ejemplo: Sistemas Unix multiprocesador.


Objetivo: Ocultar a las aplicaciones que ejecutan sobre más de un procesador.


Aspectos considerados

- La cola de procesos dispuestos es única para todos los procesadores.

- Influencia de la caché en los cambios de contexto.
Aspectos clave en diseño de los S.O.D.
Transparencia, flexibilidad, confiabilidad, prestaciones y escalabilidad.

Transparencia:
Un SOD es transparente cuando es visto por el usuario y el programador como un
sistema convencional de tiempo compartido.

1. Transparencia a la ubicación
Los nombres de los recursos no están ligados a máquinas concretas:
    Se prohíbe /pc_1/home/file4

2. Transparencia a la replicación
    Los nombres de los ficheros son independientes de si están o no están
    replicados y en que máquinas .
Aspectos clave en diseño de los S.O.D.
1. Transparencia a la concurrencia

  • Un usuario no debe notar otros usuarios en el sistema.
  • El acceso a un fichero debe ser independiente de que otros usuarios accedan al
    fichero simultáneamente.

2. Transparencia al paralelismo

La más difícil de lograr:
  • El compilador y el S.O. detectan el paralelismo intrínseco de la aplicación.
  • Asignan los procesadores a las actividades del programa sin el concurso del
    programador.
Aspectos clave en diseño de los S.O.D.
    Flexibilidad Dos escuelas de sistemas operativos:
      Sistemas operativos monolíticos

 


       Sistemas operativos microkernel




     Los sistemas operativos microkernel son más apropiados para los
    S.O.D.
Aspectos clave en diseño de los S.O.D.
Confiabilidad

    Una de las motivaciones de los S.O.D. es mejorar la confiabilidad global del
    sistema.

Aspectos

    a) Inconsistencia

        Fiabilidad ⇒ Disponibilidad ⇒ Replicación (HW y SW) ⇒ Inconsistencia
        Aumenta número de copias ⇒ Aumenta la probabilidad de inconsistencia
 
    b) Seguridad

        Crecen los problemas de seguridad en los S.O.D. porque aumenta el
        número de mensajes en la red.
Aspectos clave en diseño de los S.O.D.
Prestaciones
 Los S.O.D. pueden ser lentos
 (Enviar un marco Ethernet tarda ≈ 1 ms)             ⇒ No se venden
 
Solución:

Minimizar el número de mensajes en la red. ¿Cómo?

1. Identificando actividades con fuerte cohesión.
2. Estas actividades ejecutan en un máquina única.
Aspectos clave en diseño de los S.O.D.
 

Escalabilidad
•  Los actuales sistemas abarcan
≈ cientos de máquinas
                                                            ¿ Los métodos y algoritmos
                                                    ⇒       utilizados en los sistemas actuales
•            Los actuales sistemas abarcarán                escalan adecuadamente ?
≈ cientos de miles de máquinas


         Evitar SW centralizado:
             1. Ninguna máquina debe tener toda la información sobre todo el sistema
             2. Las máquinas toman decisiones basadas en su información local
             3. El fallo de una de las máquinas no malogra el algoritmo.

    No exige un reloj común.

Unidad I

  • 1.
    Concepto de losSistemas Distribuidos Un sistema distribuido es una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora. En esta definición cabe destacar dos aspectos: 1. El hardware. La definición habla de máquinas autónomas, es decir, que pueden operar sin la supervisión de ninguna otra. 2. El software, que debe conseguir que los usuarios del sistema lo vean como una máquina central convencional única.
  • 2.
    Ventajas de losSistemas Distribuidos Economía - Compartir recursos Velocidad - Mayor capacidad de computo Distribución - Aplicaciones que utilizan máquinas que están separadas Confiabilidad - Si una máquina no funciona no afecta al resto Crecimiento por -Se puede añadir incremento de pequeño incremento Incremento
  • 3.
    Desventajas de losSistemas Distribuidos Software - Complejidad del software Redes - Problemas causados por la utilización de un medio físico de comunicación. Seguridad - El acceso fácil a todos los datos
  • 4.
    Concepto de Hardware Múltiple Instrucción, Múltiple dato
  • 5.
    El software esinmaterial ⇒ Más difícil de clasificar que el hardware
  • 6.
    Sistemas Operativos enRed Son un ejemplo de Software DA y Hardware DA Proporcionan servicios remotos de forma relativamente transparente Ejemplos 1. %> rlogin ceres        2. %> rcp pizarro:/usr/f2 ceres:/home/f2        3. Sistema de ficheros remoto:         
  • 7.
    Sistemas Realmente Distribuidos   Consistenen Software FA sobre Hardware DA   Objetivo: Ocultar al usuario el HW subyacente y percibir este como un máquina única.   Requisitos 1. Mecanismo PC homogéneo para procesos locales y remotos. 2. Mecanismo unificado de gestión de procesos. 3. Conjunto de llamadas al sistema únicas ⇒ Núcleos idénticos. 4. Cada núcleo gestiona únicamente sus propios recursos (páginas, ...). 5. El sistema de ficheros es único para todas las máquinas.
  • 8.
    Sistemas Multiprocesador deTiempo Compartido Consisten en Software FA sobre Hardware FA  Ejemplo: Sistemas Unix multiprocesador. Objetivo: Ocultar a las aplicaciones que ejecutan sobre más de un procesador. Aspectos considerados - La cola de procesos dispuestos es única para todos los procesadores. - Influencia de la caché en los cambios de contexto.
  • 9.
    Aspectos clave endiseño de los S.O.D. Transparencia, flexibilidad, confiabilidad, prestaciones y escalabilidad. Transparencia: Un SOD es transparente cuando es visto por el usuario y el programador como un sistema convencional de tiempo compartido. 1. Transparencia a la ubicación Los nombres de los recursos no están ligados a máquinas concretas: Se prohíbe /pc_1/home/file4 2. Transparencia a la replicación Los nombres de los ficheros son independientes de si están o no están replicados y en que máquinas .
  • 10.
    Aspectos clave endiseño de los S.O.D. 1. Transparencia a la concurrencia • Un usuario no debe notar otros usuarios en el sistema. • El acceso a un fichero debe ser independiente de que otros usuarios accedan al fichero simultáneamente. 2. Transparencia al paralelismo La más difícil de lograr: • El compilador y el S.O. detectan el paralelismo intrínseco de la aplicación. • Asignan los procesadores a las actividades del programa sin el concurso del programador.
  • 11.
    Aspectos clave endiseño de los S.O.D. Flexibilidad Dos escuelas de sistemas operativos:   Sistemas operativos monolíticos   Sistemas operativos microkernel  Los sistemas operativos microkernel son más apropiados para los S.O.D.
  • 12.
    Aspectos clave endiseño de los S.O.D. Confiabilidad Una de las motivaciones de los S.O.D. es mejorar la confiabilidad global del sistema. Aspectos a) Inconsistencia Fiabilidad ⇒ Disponibilidad ⇒ Replicación (HW y SW) ⇒ Inconsistencia Aumenta número de copias ⇒ Aumenta la probabilidad de inconsistencia   b) Seguridad Crecen los problemas de seguridad en los S.O.D. porque aumenta el número de mensajes en la red.
  • 13.
    Aspectos clave endiseño de los S.O.D. Prestaciones Los S.O.D. pueden ser lentos (Enviar un marco Ethernet tarda ≈ 1 ms) ⇒ No se venden   Solución: Minimizar el número de mensajes en la red. ¿Cómo? 1. Identificando actividades con fuerte cohesión. 2. Estas actividades ejecutan en un máquina única.
  • 14.
    Aspectos clave endiseño de los S.O.D.   Escalabilidad •  Los actuales sistemas abarcan ≈ cientos de máquinas ¿ Los métodos y algoritmos ⇒ utilizados en los sistemas actuales •            Los actuales sistemas abarcarán escalan adecuadamente ? ≈ cientos de miles de máquinas      Evitar SW centralizado: 1. Ninguna máquina debe tener toda la información sobre todo el sistema 2. Las máquinas toman decisiones basadas en su información local 3. El fallo de una de las máquinas no malogra el algoritmo. No exige un reloj común.