Sistemas Operativos Distribuidos Contenidos del Tema Sistemas Operativos Distribuidos Servicio de Nombres • • • • • Introducción Conceptos básicos Espacios de nombres Resolución de nombres Estudio de ejemplo práctico: X.500 Sistemas Operativos Distribuidos 2 Introducción Fernando Pérez Costoya José María Peña Sánchez Conceptos básicos • Ya han aparecido antes servicios de nombres: – Para ficheros (servicio de directorio de un SFD) – Para denominar a servicios (RPC/RMI) • Nombre permite referirse a objetos – Nombre está asociado a id. del objeto (o sea, a nombre interno) – Más general, nombre asociado a conjunto de atributos del objeto • Resolución de nombres: • Hay otros tipos de objetos en un sistema: – usuarios, organizaciones, nodos, dispositivos, máquinas, ... – objetos específicos de aplicaciones o usuarios • Hay serv. de nombres estándar para algunos tipos de info. – Por ejemplo, DNS gestiona información sobre máquinas • Objetivo: – Convencional: A partir de nombre, se obtienen atributos – Por atributos: A partir de 1 o más atributos, se obtiene el resto • Servicio de nombres: – Resolución convencional (Páginas blancas) • Servicio de directorio – Resolución basada en atributos (Páginas amarillas) – Un servicio de nombres general para todo el sistema distribuido Sistemas Operativos Distribuidos 3 Fernando Pérez Costoya José María Peña Sánchez Espacios de nombres Sistemas Operativos Distribuidos 4 Fernando Pérez Costoya José María Peña Sánchez Resolución de nombres • Cjto. de nombres reconocidos por un servicio de nombres • Alternativas: – Único espacio (servicio) de nombres para todos los tipos de objetos • No siempre adecuado incluir todos los objetos (p.ej. ficheros) – Combinación de distintos espacios de nombres (p. ej. DCE) • Ejemplo de la última alternativa: – Servicio de nombres principal para todo excepto ficheros – Espacio de nombre de ficheros “enganchado” en un punto del espacio de nombres principal – Cuando en resolución de nombre, servicio principal alcanza punto de montaje, delega en SFD el resto de la resolución Sistemas Operativos Distribuidos 5 • NOTA: Servicio de directorio de un SFD es un servicio de nombres – Incluye resolución convencional ya que el nombre es un atributo Fernando Pérez Costoya José María Peña Sánchez 4-Servicio de nombres • Generalmente el espacio de nombres es jerárquico – Algunos objetos son contenedores (directorios) de otros objetos • Resolución: proceso iterativo que parte de un contexto inicial – Res. absoluta: contexto inicial corresponde con raíz – Res. relativa: contexto inicial corresponde con nodo intermedio • Espacio de nombres organizado en dominios – Cada dominio gestionado por un servidor • Mismas alternativas de navegación que en SFD – Resolución iterativa, transitiva o recursiva • Uso de cache en la resolución • Replicación de información de un dominio – Mejor fiabilidad y rendimiento, pero problema de coherencia Sistemas Operativos Distribuidos 6 Fernando Pérez Costoya José María Peña Sánchez 1 Sistemas Operativos Distribuidos Ejemplos de serv. de nombres • CORBA: – Servicio de nombres y de navegación • X.500. Servicio de directorio estándar de ISO. • LDAP (Lightweight Directory Access Protocol, RFC 2251) – Basado en X.500 pero con un protocolo más ligero (sobre TCP/IP) y una interzaz más sencilla Servicio de directorio X.500 • • • • Conceptos básicos Modelo orientado a objetos Nombres y operaciones Arquitectura del servicio X.500 • Active Directory de Microsoft – Forma parte de la arquitectura de Windows 2000 – Proporciona una interfaz LDAP Sistemas Operativos Distribuidos 7 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 8 Conceptos básicos Fernando Pérez Costoya José María Peña Sánchez Ejemplo de jerarquía • S. de directorio (p. amarillas) + S. de nombres (p. blancas) • Información organizada jerárquicamente – Directory Information Tree (DIT) Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 X.500 Service (root) ... France (country) Great Britain (country) Greece (country)... • Por ejemplo: <país, organización, departamento, persona> • Nodo del árbol (directorio) tiene asociado cjto. de atributos • Conjunto de toda la información: – DIB (Directory Information Base) – Similar a una BD pero escrituras infrecuentes y sencillas ... BT Plc (organization) University of Gormenghast (organization) ... ... Computing Service (organizationalUnit) Department of Computer Science (organizationalUnit) Engineering Department (organizationalUnit) ... • Usa un modelo de información orientado a objetos ... Departmental Staff (organizationalUnit) ely (applicationProcess) Research Students (organizationalUnit) ... ... Alice Flintstone (person) ... Pat King (person) James Healey (person) Janet Papworth (person) Sistemas Operativos Distribuidos 9 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 10 Modelo orientado a objetos • Objetos agrupados en clases ... Fernando Pérez Costoya José María Peña Sánchez Una entrada de DIB info – p.ej. personas, impresoras, organizaciones, ... • Existe esquema que define clases y herencia entre clases – Para cada clase se define cjto. de atributos: • Atributo= nombre de atributo + tipo de valor(es) asociado(s) • Puede especificarse como obligatorio u opcional – Define la jerarquía de herencia de clases • P.ej. Clase Secretario derivada de Empleado • Entrada de DIB (o sea, nodo de DIT): Cjto. de atributos – Atributo= nombre + uno o más valores (p.e j. Despacho=115) – Atributo obligatorio que define la clase (ObjectClass) – No confundir jerarquía de objetos (DIT) con jerarquía de clases (Esquema) Alice Flintstone, Departmental Staff, Department of Computer Science, University of Gormenghast, GB commonName Alice.L.Flintstone Alice.Flintstone Alice Flintstone A. Flintstone uid alf mail alf@dcs.gormenghast.ac.uk surname Flintstone roomNumber telephoneNumber +44 986 33 4604 userClass Alice.Flintstone@dcs.gormenghast.ac.uk Z42 Research Fellow Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Sistemas Operativos Distribuidos 11 Fernando Pérez Costoya José María Peña Sánchez 4-Servicio de nombres Sistemas Operativos Distribuidos 12 Fernando Pérez Costoya José María Peña Sánchez 2 Sistemas Operativos Distribuidos Nombres y operaciones Arquitectura del servicio X.500 • Cada entrada tiene un nombre: – Atributo(s) “distinguido(s)” que forma(n) su Relative Distinguished Name (RDN) – Debe ser único entre los “hermanos” del objeto – P.ej. Nombre=“Juan Martínez Martínez” • Nombre completo: Distinguished Name (DN) – Concatenación de RDNs desde raíz hasta objeto: • P.ej. País=ES,Organización=UPM,Nombre=“Juan Martínez Martínez” • Operaciones típicas: • • • • • • Modelo cliente/servidor Clientes: Directory User Agents (DUA) Servidores: Directory Service Agents (DSA) Normalmente, DIB repartida entre varios DSAs Admite distintos esquemas de resolución (iterativa, recursiva) Aspectos de implementación no definidos por estándar – Por ejemplo, caching y replicación – Añadir/eliminar/modificar entrada de directorio – Leer atributos de un objeto – Buscar en árbol subyacente a objeto qué objetos cumplen criterio Sistemas Operativos Distribuidos 13 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 14 Fernando Pérez Costoya José María Peña Sánchez Arquitectura del servicio X.500 DUA DUA DSA DSA DSA DSA DUA DSA DSA Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Sistemas Operativos Distribuidos 15 Fernando Pérez Costoya José María Peña Sánchez 4-Servicio de nombres 3